-
vb的module 和class module 有什么区别?
2007-07-03 13:46:00标准模块与类模块的比较 在数据存储方式上,类... 相反,类模块数据则独立存在于每个类的实例中。 应避免使类中的代码依赖于全局数据─ 即标准模块中的公共变量。一个类可能同时存在很多个实例,所有这些对象都共享部件标准模块与类模块的比较
在数据存储方式上,类不同于标准模块。标准模块的数据不可能多于一份。这意味着若程序中某个部分改动了标准模块的公共变量,随后程序的其它部分读取该变量会得到该值。
相反,类模块数据则独立存在于每个类的实例中。
应避免使类中的代码依赖于全局数据─ 即标准模块中的公共变量。一个类可能同时存在很多个实例,所有这些对象都共享部件中的全局数据。
静态的类数据
在类模块中使用全局变量不符合面向对象编程的封装概念,因为这种类创建的对象没有包含它所有的数据。不过,有时要让同一个类模块创建的所有对象共享一个数据成员。例如,一个类所创建的所有对象要共享一个属性值,如部件的名称或版本号。
这种对封装的故意违反有时称之为静态的类数据。通过使用 Property 过程设置并返回标准模块中的 Public 数据成员,就可以在 Visual Basic 的类模块中实现静态的类数据,如下面代码段所示:
'返回应用程序名的只读 property。
Property Get ComponentName() As String
'变量 gstrComponentName 存储于标准模块中,声明为 Public。
ComponentName = gstrComponentName
End Property
通过提供一个相关的 Property Let 过程─ 或对包含对象引用的属性使用 Property Set 过程─ 给标准模块中的数据成员赋新值,可以实现非只读的静态的类数据。
重点 在设计使用静态数据的类时,要考虑到所写的部件要为若干个客户端应用程序(如果是进程外部件)或者为一个客户端以及若干个进程内部件(如果是进程内部件)提供对象。即使该类创建的所有对象被不同的客户端使用,但都共享该静态数据。
类模块和标准模块的比较
类模块和标准模块的不同点在于存储数据方法的不同。标准模块的数据只有一个备份。这意味着标准模块中一个公共变量的值改变以后,在后面的程序中再读取该变量时,它将得到同一个值。
而类模块的数据,是相对于类实例(也就是,由类创建的每一对象)而独立存在的。
同样的,标准模块中的数据在程序作用域内存在,也就是说,它存在于程序的存活期中;而类实例中的数据只存在于对象的存活期,它随对象的创建而创建,随对象的撤消而消失。
最后,当变量在标准模块中声明为 Public 时,则它在工程中任何地方都是可见的;而类模块中的 Public 变量,只有当对象变量含有对某一类实例的引用时才能访问。
上面的比较,同样适用于标准模块和类模块中的公共过程。用下面的例子可以说明。打开一个新 Standard Exe 工程,并在“工程”菜单中个添加一个标准模块和一个类模块,然后运行以下的代码:
把下面的代码放在 Class1 中;
'下面是 Class1 对象的一个属性。
Public Comment As String
'下面是 Class1 对象的一个方法。
Public Sub ShowComment()
MsgBox Comment, , gstrVisibleEverywhere
End Sub
把下面的代码放在 Module1 中:
'标准模块中的代码是全局的。
Public gstrVisibleEverywhere As String
Public Sub CallableAnywhere(ByVal c1 As Class1)
'下行改变一个全局变量,这是一个 Class1 实例的(属性)。
'只有传递给该过程的个别对象才受到影响。
c1.Comment = "Touched by a global function."
End Sub
把两个命令按钮放在 Form1 上,并在 Form1 中添加以下的代码:
Private mc1First As Class1
Private mc1Second As Class1
Private Sub Form_Load()
'创建两个 Class1 类的实例。
Set mc1First = New Class1
Set mc1Second = New Class1
gstrVisibleEverywhere = "Global string data"
End Sub
Private Sub Command1_Click()
Call CallableAnywhere(mc1First)
mc1First.ShowComment
End Sub
Private Sub Command2_Click()
mc1Second.ShowComment
End Sub
按 F5 键,运行该工程。当 Form1 加载时,它创建两个 Class1 类实例,每个实例有自己的数据。同时,Form1 设置了下面全局变量 gstrVisibleEverywhere 的值。
按下 Command1,调用全局过程并传递引用给第一个 Class1 对象。全局过程设置 Comment 属性,然后 Command1 调用 ShowComment 方法显示该对象的数据。
正如图 9.6 所示,结果信息框演示了全局过程 CallableAnywhere 如何设置对象的 Comment 属性,而且全局字符串在 Class1 内部是可见的。
图 9.6 第一个 Class1 对象的信息框
按下 Command2,调用第二个 Class1 类实例的 ShowComment 方法。
如图 9.7 所示,两个对象都访问了全局字符串变量;然而,第二个对象的 Comment 属性是空的,因为对全局过程 CallableAnywhere 的调用只改变第一个对象的 Comment 属性。
图 9.7 第二个 Class1 对象的信息框
重点 要避免类的代码依赖于全局变量,也就是标准模块中的公共变量。一个类的许多实例可以同时存在,所有这些对象在程序中共享全局数据。
在类模块代码中使用全局变量也违背了面向对象封装的编程原则,因为由这样的类所创建的对象并没有包含它们的所有数据。
静态类数据
有时,希望由一个类模块所创建的一些对象共享某个数据项。这就是所谓的静态类数据。
不能在 Visual Basic 类模块中实现真正的静态类数据。但是,通过使用 Property 过程在标准模块中设置及返回 Public 数据成员的值,可以仿真静态类数据。如以下的代码:
'只读属性返回应用程序的名字。
Property Get CommonString() As String
'变量 gstrVisibleEverywhere 保存在
'标准模块中,并声明为 Public。
CommonString = gstrVisibleEverywhere
End Property
注意 在类模块中,对模块级的变量不能声明为 Static。Static 数据只能在过程中使用。
由 Property Let 过程(对于含有对象引用的属性,使用 Property Set)对标准模块数据成员赋予新的值,可以仿真非只读的静态类数据。然而,这种使用全局变量的方式违背了封装编程的原则,而且不推荐使用。
例如,变量 gstrVisibleEverywhere 可以在工程中任何地方赋值,甚至可以从别的类代码中赋值,只要该类具有 CommonString 属性。这样做能导致程序中非常微妙的错误。
详细信息 ActiveX 部件中的全局数据,与普通程序中的处理方式不同。 如果有 VBP 或 VBE,请参阅《部件工具指南》中的“创建 ActiveX 部件”,“部件设计的一般准则”中的“标准模块与类模块”。
http://www.csdn.net/expert/Topic/453/453566.shtm
Visual Basic 的代码存储在模块中。模块有三种类型:窗体、标准和类。
简单的应用程序可以只有一个窗体,应用程序的所有代码都驻留在窗体模块中。而当应用程序庞大复杂时,就要另加窗体。最终可能会发现在几个窗体中都有要执行的公共代码。因为不希望在两个窗体中重复代码,所以要创建一个独立模块,它包含实现公共代码的过程。独立模块应为标准模块。此后可以建立一个包含共享过程的模块库。
每个标准模块、类模块和窗体模块都可包含:
声明。可将常数、类型、变量和动态链接库 (DLL) 过程的声明放在窗体、类或标准模块的模块级。
过程。Sub、Function 或者 Property 过程包含可以作为单元来执行的代码片段。本章后面的“过程概述”一节中将讨论这些内容。
窗体模块
窗体模块(文件扩展名为 .FRM )是大多数 Visual Basic 应用程序的基础。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、类型和外部过程的窗体级声明。如果要在文本编辑器中观察窗体模块,则还会看到窗体及其控件的描述,包括它们的属性设置值。写入窗体模块的代码是该窗体所属的具体应用程序专用的;它也可以引用该应用程序内的其它窗体或对象。
标准模块
标准模块(文件扩展名为 .BAS)是应用程序内其它模块访问的过程和声明的容器。它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明。写入标准模块的代码不必绑在特定的应用程序上;如果不小心用名称引用窗体和控件,则在许多不同的应用程序中可以重用标准模块。
类模块
在 Visual Basic 中类模块(文件扩展名为 .CLS)是面向对象编程的基础。可在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体正是这样一种类模块,在其上可安放控件、可显示窗体窗口。
标准模块,就像一个全局公共的大仓库,什么全局函数,全局变量,全局常量,都往这里头仍;语法根窗体里的写法没什么不同,唯一不同的可能就是一个叫Sub Main的过程,可以作整个工程的引导过程而已。
类模块,就像自家的小仓库,仅仅是类实例化的时候,才用到,里面的函数、变量、常量的作用域仅限于这个类拥有;语法有很多特殊的地方,比如,属性的写法,公有方法,私有方法,事件的写法,构造函数、析构函数、这些根类相关的冬冬。
谢谢大家
一个类模块文件就是一个类的定义,且只能是一个类
一个标准模块却可以包含自定义的函数,过程,或全局变量等。对subclass的callback函数则必须放在标准模块中.
两者不可替代
-
vb调用vc的dll
2011-10-31 17:27:37vs2010的vc生成的dll已经不能被vb6调用了,当然也许是dll里面缺少了几个dll造成的,但是如果是vc6生成的dll就不存在这个问题。 而且,对于vs2010的vb而言,引用中已经没有dll的标签了,大概是更推荐使用com了,而...这两天一个劲的折腾vb调用dll,最终发现,vs2010是个捣乱的家伙。
如果是vc6配合vb6很好的就解决了这个问题,没有什么难的地方。
vs2010的vc生成的dll已经不能被vb6调用了,当然也许是dll里面缺少了几个dll造成的,但是如果是vc6生成的dll就不存在这个问题。
而且,对于vs2010的vb而言,引用中已经没有dll的标签了,大概是更推荐使用com了,而com来源于c#,看来是准备在vc和vb之间硬性插入一个c#了。
def文件似乎是必需的,在vc而言,__declspec(dllexport)一样可以输出dll的函数,但是对于vb6似乎只能识别def。
在不同的环境下使用时,Depends.exe是个很好的工具,在vc6的工具选项中就存在这个工具,不知道为什么vs2010里面没有了。
在Depends.exe窗体里面,打开一个dll,所需信息一览无余。如果所在环境缺少相应的文件,会有明显的提示。
vb的函数参量,传值,传址两种方式对于vc的而言,就是一个是变量或者是变量指针。
vc的int,对应着vb的long,所以一般的情况下,一般参数就定义成long(vb)匹配int(vc)。
对于vb的结构就是type 和end type定义,也很简单。
-
VB课程设计俄罗斯方块
2011-02-25 10:46:55游戏速度的自由选择无非就是改变时钟控件的频率,我们在菜单中添加了选择速度的功能,还有添加了考验功能,将欲览窗中的方块造型隐藏,给玩家提高了难度,如果你不愿意接受考验也可以点击显示还原成原来状态。... -
Excel VBA语句集以及VB脚本语言参考
2009-08-01 09:07:56尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORD ACCESS ... -
vb 网络音乐播放器源码
2009-03-12 13:34:01这里重点解释下最后一项,lrc歌词校验,这个主要是通过读取lrc歌词文件内标签来判断,由于每首歌单体节奏存在差异,因此不一定能完全判断正确.不喜欢此功能可以关闭. f.有关监视窗口,这个主要是方便调试,里面显示的是... -
VB 生活网络购物交友防骗工具 解压密码见说明>【附源码】
2009-08-03 16:09:22防骗要点提示:如果对方的手机卡型是“神州行”,那你要小心了,因为“神州行”办理入网手续时是不记名不挂失的,适用于临时出差人员使用,一般人常用的号码不会是“神州行”的。 IP地址查询 该功能可以根据对方... -
用VB将WORD文档(或其他的二进制数据)生成xml文件并互相转换
2008-01-03 13:06:00ll 彼得认为:>企业的目的不在自身,而必须存在于企业本身之外,必须存在于社会之中,这就是造就客户朝晖理解:>企业是社会经济活动的一个点,一个环节。作为企业的领导者必须时常站在企业之外来看企业的目的,如何...marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90">
l
l <彼得认为:>企业的目的不在自身,而必须存在于企业本身之外,必须存在于社会之中,这就是造就客户
<朝晖理解:>企业是社会经济活动的一个点,一个环节。作为企业的领导者必须时常站在企业之外来看企业的目的,如何去发现客户的需求,如何去创造性的通过产品与服务满足客户的需求,这样才会给你在定位企业要做什么和怎么做的时候更加的正确。l <彼得认为:>由于客户的需求总是潜在的,企业功能就是通过产品和服务的提供激发客户的需求。由于客户的需求往往不断变化,企业需要不断提供创新性产品,改变生产过程,提高效率,满足顾客的需求
<朝晖理解:>‘变化’本身就是因为发展而表现出来的特征,而需求的不断变化正是给了企业在竞争中新的机会,老的方式方法和技术套路都不见得能满足新的需求,因此企业就有了创新的动力,有了新一轮竞争的机会,而创新所带来的价值也是为了满足客户的新需求。l <彼得认为:>企业存在的目的不是我们传统认为的利润最大化,利润最大化并没有告诉一家企业应该怎样经营,相反还造成社会和员工对利润的敌视。
<朝晖理解:>在企业制定市场价格和员工薪资福利的时候要考虑到这一点,我们千万不能一味的压低员工的薪资福利和抬高客户的价格,这样做的后果是失去员工和客户对你企业的信任。l <彼得认为:>管理就是通过创新的方法满足顾客需求的理论基础上,构建了有关管理者目标、任务、责任、权力的管理原则。德鲁克非常反感现在我们经常说的‘授权’的概念他认为,管理者的权力是由其所担任的职务决定的,由其需要完成的目标决定的,由其所承担的责任决定的。每个企业中的管理者并不需要对上司的命令负责,而是应该对需要完成的业绩负责。企业家最终应该超越他自己,只有超越了自己,他的公司才能做大,做成百年老店。
<朝晖理解:>在企业中往往每个人都是某种意义上的管理者,在企业中不同职位的人只是管理的范围有大有小,责任有大有小而已,但是通常对业绩负责的概念在我们的民营企业中还是非常地缺乏,民营企业尤其需要突破的是建立以业绩和结果为导向的管理原则,而不是以老板的喜好和属下单纯的忠诚度为首要原则。老板的喜好要与业绩挂钩,员工的忠诚度则通过企业的使命和其个人长远的成长发展结合来获得。千万不能在意识形态上把员工当工具使,如此这般民营企业就会做得更大更强,走的更远。企业家最终应该超越他自己,只有超越了自己,他的公司才能做大,做成百年老店。借用华为任正非的话“企业管理的根本目标是从必然王国走向自由王国”。彼得-德鲁克管理思想分享与理解
l
l <彼得认为:>企业的目的不在自身,而必须存在于企业本身之外,必须存在于社会之中,这就是造就客户
<朝晖理解:>企业是社会经济活动的一个点,一个环节。作为企业的领导者必须时常站在企业之外来看企业的目的,如何去发现客户的需求,如何去创造性的通过产品与服务满足客户的需求,这样才会给你在定位企业要做什么和怎么做的时候更加的正确。l <彼得认为:>由于客户的需求总是潜在的,企业功能就是通过产品和服务的提供激发客户的需求。由于客户的需求往往不断变化,企业需要不断提供创新性产品,改变生产过程,提高效率,满足顾客的需求
<朝晖理解:>‘变化’本身就是因为发展而表现出来的特征,而需求的不断变化正是给了企业在竞争中新的机会,老的方式方法和技术套路都不见得能满足新的需求,因此企业就有了创新的动力,有了新一轮竞争的机会,而创新所带来的价值也是为了满足客户的新需求。l <彼得认为:>企业存在的目的不是我们传统认为的利润最大化,利润最大化并没有告诉一家企业应该怎样经营,相反还造成社会和员工对利润的敌视。
<朝晖理解:>在企业制定市场价格和员工薪资福利的时候要考虑到这一点,我们千万不能一味的压低员工的薪资福利和抬高客户的价格,这样做的后果是失去员工和客户对你企业的信任。l <彼得认为:>管理就是通过创新的方法满足顾客需求的理论基础上,构建了有关管理者目标、任务、责任、权力的管理原则。德鲁克非常反感现在我们经常说的‘授权’的概念他认为,管理者的权力是由其所担任的职务决定的,由其需要完成的目标决定的,由其所承担的责任决定的。每个企业中的管理者并不需要对上司的命令负责,而是应该对需要完成的业绩负责。企业家最终应该超越他自己,只有超越了自己,他的公司才能做大,做成百年老店。
<朝晖理解:>在企业中往往每个人都是某种意义上的管理者,在企业中不同职位的人只是管理的范围有大有小,责任有大有小而已,但是通常对业绩负责的概念在我们的民营企业中还是非常地缺乏,民营企业尤其需要突破的是建立以业绩和结果为导向的管理原则,而不是以老板的喜好和属下单纯的忠诚度为首要原则。老板的喜好要与业绩挂钩,员工的忠诚度则通过企业的使命和其个人长远的成长发展结合来获得。千万不能在意识形态上把员工当工具使,如此这般民营企业就会做得更大更强,走的更远。企业家最终应该超越他自己,只有超越了自己,他的公司才能做大,做成百年老店。借用华为任正非的话“企业管理的根本目标是从必然王国走向自由王国”。Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=909006
-
中文API支持库(1.0-0
2009-04-17 08:28:19其中,位0设为1表示驱动器A:存在于系统中;位1设为1表示存在B:驱动器;以次类推。 _取逻辑驱动器列表() 获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径。返回值,保存到lpBuffer的字符数量(排除空中止... -
一个COM组件,使用之后应该怎样释放..(我也不知道 :(
2005-10-14 16:37:00以下是一段VB的codedim objset obj = CreateObject("TestDll.TestClass") //建立了一个TestClass对象 這個對象存在于 Testdll.dll 或者test.exe 糢塊中 當然也有可能是 一個ocx什么的obj.ReturnString() //接下來用...以下是一段VB的code
dim obj
set obj = CreateObject("TestDll.TestClass") ' //建立了一个TestClass对象 這個對象存在于 Testdll.dll 或者test.exe 糢塊中 當然也有可能是 一個ocx什么的
obj.ReturnString() ' //接下來用這個obj來完成一些操作
' //現在開始來釋放這個obj
set obj = nothing ' //釋放它 byebye
到此為止 ,不要以為 這段VBcode與TestDll糢塊沒有關繫暸 ,實際上現在嘗試刪除這個糢塊會被提示"文件正在被使用" .
實際上 set obj=nothing 隻是讓糢塊與我們的程序與dll斷開鏈接,但是他並沒有從我們的程序內存空間中去掉映射關繫,也就是說 組件的 ExitInstance不會被調用.(這是 Visual C++.net 技術內幕的原話)
要去掉這個映射關繫需要調用 CoFreeUnusedLibraries() ,不過一個MFC程序會在空閑的時間調用CoFreeUnusedLibraries,但是ASP和 Excel就不會(估計vb的話..也不會)
不要忘暸在vb程序調用
Private Declare Sub CoFreeUnusedLibraries Lib "OLE32" ()
dim obj
set obj = CreateObject("TestDll.TestClass")
' // do some operate
Set Obj= Nothing
call CoFreeUnusedLibraries()
問題是:在一個ASP程序裏麵如何調用這個 CoFreeUnusedLibraries(),不調用這個的話,我們的DLL永遠不能釋放(不過我們也可以選擇重新啓動www服務)
期待更好的解決方法
-
同类型为什么要强制转换(自己强转成自己)/ASP.NET Web程序重复引用(引用来自同一文件)问题(已解决)?
2018-12-13 06:07:04这个目录的作用,是存放那些需要动态修改的代码(我的理解就像asp),这个目录下的代码,是以源码形式存在于项目中,等到访问时才进行编译(这也解释了为什么我遇到的这个错误,编译可以通过,但是运行时会报错)。... -
【C#】异常处理
2016-01-31 21:03:35为了防止让用户进行无效等待,也为了能让用户明白我们的软件在运行过程中哪里出现了异常,出现了什么样的错误,原因是什么,是否存在解决方法等等,这一切都需要后台一系列的异常处理机制。 那么我们就来认识和总结... -
Excel+vba入门教程
2012-04-11 16:57:00尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在excel中用VBA创建解决方案后,即已具备在word access ... -
C#微软培训教材(高清PDF)
2009-07-30 08:51:1718.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间... -
C#微软培训资料
2014-01-22 14:10:1718.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间... -
DirectX_Repair_V3.7_增强版.zip
2019-07-03 15:58:38答:由于DirectX组件存在于系统文件夹内,本程序修复时需要修改系统文件夹中的相关内容,因此修复时360可能会进行提示。请选择允许操作以便本程序能够进行修复。请各位用户放心,本程序不会对系统造成破坏。如果您很... -
net学习笔记及其他代码应用
2010-11-16 18:15:09声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其... -
B2C 电子商务网站实例
2010-09-09 17:52:25C#,读做 "C sharp",中文译音...如果C#不存在,我们总能回到Java或C和C++.这些都不完全是新技术;它们在更大的意义上来说只是大公司制造的市场噱头.我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响. -
asp.net 主题实例
2010-09-09 17:50:05C#,读做 "C sharp",中文译音...如果C#不存在,我们总能回到Java或C和C++.这些都不完全是新技术;它们在更大的意义上来说只是大公司制造的市场噱头.我们必须给他们时间安顿下来看看这些是不是真的对IT工业有什么影响. -
asp.net知识库
2015-06-18 08:45:45一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标放在一个连接上,会显示图片(类似tooltip) 使用microsoft.web.ui.webcontrols的TabStrip与... -
ASP.NET精品课程+源代码
2009-01-05 20:15:51ASP.NET是一门技术性较强的应用型课程,通过突出实践教学不仅能够培养学生的操作技能,而且有利于学生形成全面的职业岗位素养,因此实践性教学是本课程教学中的一个必不可少的环节。 首先在学时上给予保证,我们采用... -
arcgis工具
2012-10-22 22:37:31如:“AREA”,如果查询的是个人地理数据库数据,则需要将字段名包含在方括号内,如:[AREA],如果查询的是ArcSDE地理数据库数据或是ArcIMS要素类或ArcIMS影象服务子层中的数据,则不需要将字段名括起,如:AREA ... -
在一小时内学会 C#(txt版本)
2009-08-19 18:09:37默认情况下存在一个全局命名空间,所以在命名空间外定义的类直接进到此全局命名空间中,因而你可以不用定界符访问此类。 你同样可以定义嵌套命名空间。 Using #include 指示符被后跟命名空间名的 using 关键字代替... -
电子书架
2006-03-16 00:00:00RTF-HTML转换功能,可以把存在于电子书架中的资料导出为HTML文件,导出后格式不会丢失; 编码转换 支持在BIG5和GB之间、DOS、UNIX之间相互转化,也可作为一个码制转换工具使用; 资料导入 支持鼠标拖放... -
c#学习笔记.txt
2008-12-15 14:01:21foreach 语句用于循环访问集合以获取所需信息,但不应用于更改集合内容以避免产生不可预知的副作用。此语句的形式如下: foreach (type identifier in expression) statement 若要循环访问集合,集合必须满足特定的... -
外文翻译 stus MVC
2010-05-28 15:02:311:外文原文 Struts——an open-source MVC implementation This article introduces Struts, a Model-View-Controller implementation that uses servlets and JavaServer Pages (JSP) technology.... -
Java-PHP-C#
2012-11-27 15:13:36现在还不能允许句号的存在. 我们把它加上: ^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*$ 上面的意思就是说: "以至少一个规范字符(除.意外)开头,后面跟着0个或者多个以点开始的字符串." 简单化一点, 我们可以用 ... -
Url重写篇视频------本讲将通过实例比较ASP.NET下的三种典型URL重写方案
2009-04-22 08:15:51在IIS的ISAPI层面,是可以截获所有的页面请求的,哪怕指定的页面、目录根本不存在。但是,ASP.NET解析器则只有在对页面的请求被IIS转发过来时,才能处理。我们知道,IIS可以忽略对链接的虚拟目录是否存在的检测,... -
Visual C++ 2005入门经典--源代码及课后练习答案
2013-02-02 16:42:04此外,本书各章后面的习题将有助于读者温故而知新,并尽快成为C++高效程序员。... 作译者 Ivor Horton是世界著名的计算机图书作家,主要从事与编程相关的顾问及撰写工作,曾帮助无数程序员步入编程的殿堂。他... -
-
《AJAX实战》ajax in action电子版
2007-05-13 05:36:26书中提供了几个典型的例子,兼顾各种开发平台,这些例子的代码稍作修改就可以直接应用于项目开发之中,代码源文件可以从图灵网站下载。 本书内容广泛且深入,同时适用于各个层次的Web应用开发人员。 <br/>...