
一、模块
VB的代码存储在模块中。在VB中提供了三种类型的模块:窗体模块、标准模块和类模块。
简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体。最终可能有几个窗体中有一些共同都要执行的代码,为了在两个窗体中不产生重复代码,可创建一个独立的模块,用它实现代码公用。该独立模块即是标准模块。此外还可以建立包含共享代码与数据的类模块。
每个标准模块、类模块和窗体模块可包含:
声明。 可将常数、类型、变量和动态链接库(DLL)过程的声明放在窗体、类或标准模块的声明部分。每个模块只有一个声明部分。
过程。每个模块可有多个过程,过程是划分VB代码的最小单元,每个过程是一个可执行的代码片段。VB中主要有事件过程、子过程、函数过程或者属性过程等。
1、各种模块类型
(1)窗体模块
由于VB是面向对象的应用程序开发工具,所以应用程序的代码结构就是该程序在屏幕上表示的对应模型。根据定义,对象包含数据和代码。应用程序中的每个窗体都有一个相对应的窗体模块(文件扩展名为.frm)
窗体模块是VB应用程序的基础。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、自定义类型和外部过程的窗体级声明。写入窗体模块的代码是该窗体所属的具体应用程序专用的;也可以引用该程序内的其它窗体和对象
每个窗体模块都包含事件过程,在事件过程中有为响应该事件而执行的程序段。窗体可包含控件。在窗体模块中,对窗体上的每个控件都有一个对应的事件过程集。除了事件过程,窗体模块还可包含通用过程,它对来自该窗体中任何事件过程的调用都作出响应。
(2)标准模块
可将那些与特定窗体或控件无关的代码放入标准模块中。标准模块中包含应用程序内的允许其它模块访问的过程和声明。它们可以包含变量、常数、类型、外部过程和全局声明或模块级声明。写入标准模块的代码不必固定在特定的应用程序上。
使用标准模块
标准模块或代码模块是具有文件扩展名.bas,并包含能够在程序任何地方使用的变量和过程的特殊文件。
在编写程序时,很可能会遇到一些使用相同变量和例程的窗体和事件过程。在缺省状态下,变量对于事件过程来说是局部的,就是说仅能在创建这些变量的事件过程中读取或者修改变量。与之相似,事件过程对于创建它们的窗体来说也是局部。为了在工程中的所有窗体和事件中共享变量和过程,需要在该工程的一个或多个标准模块中对它们进行声明和定义。
标准模块让你能够在整个程序中共享变量和过程。
正如窗体一样,标准模块被单独列在Project(工程)窗口内,并可通过使用File(文件)菜单中的Save Modulel As菜单项存盘。但是,与窗体不同,标准模块不包含对象或属性设置而只包含可在代码窗口中显示和我的代码。
创建并保存标准模块
创建标准模块:
如要在程序中创建新的标准模块,那么单击工具条“Add Form(添加窗体)”按钮上的下箭头并单击“Mode(添加模块)”,或者单击“Project(工程)”菜单中的“Add Module(添加模块)”菜单项,可以在工程中创建一个空的标准模块。
VB在工程中增加一个名为“Module1”的标准模块。该模块对应的代码窗口被打开,在这个代码窗口中的“对象”和“过程”列表框的内容表明该标准模块的通用声明已被打开。在此所声明的变量与过程在整个程序都可以使用。
这时打开“工程资源管理器”窗口,便能看到整个工程资源管理器窗口的一个新文件夹中列出了你添加到程序中的标准模块。括弧中的文件名Module1是该模块的缺省文件名。该模块的对象名(该模块在程序中的名称)显示在括弧的左侧。
从“属性窗口”可见,由于该模块不包含对象,因此它惟一的属性就是Name属性。可以修改Name属性,如改为modVariables,然后按ENTER键。
你也可以通过使用“Project(工程)”菜单中的“Add File(添加文件)”菜单项将此文件通过其文件名加载到另一个工程中。
保存标准模块:
在“File(文件)”菜单中,单击“Save Module1 As(Module1另存为)”菜单项将这个空的标准模块存盘。该标准模块作为.bas文件保存到磁盘,并且“工程资源管理器”窗口中该模块的文件名也同时更新。
删除标准模块
如果要从工程中删除标准模块,那么在“工程资源管理器”窗口单击选中该模块,然后单击“Project(工程)”菜单中的“Remove(删除)”菜单项(或右击选择)。Remove(删除) *** 作并未将该模块从你的硬盘中删除,但它删除了该模块与当前工程之间的链接。
控制计算机程序执行流程的结构只有三种,即顺序结构、选择结构、循环结构。(1) 首先说顺序结构,主要是赋值语句和数据的输入输出。
赋值语句中值得注意的是赋值语句要求右端表达式的计算结果的数据类型与左端变量的数据类型要一致。
数据的输出有三种方法,可以使用控件输出,如Label、Text等,也可以使用Print方法在窗体、立即窗口、图片框等对象中打印显示,<对象名称>.Print <表达式列表>[,/],如果省略了对象名称则默认在当前窗体上打印,如果省略了,/则输出一空行,因此输出多个表达式时要用,/隔开,Print还与Tab(n)、Spc(n)连用以便对输出结果定位。还可以使用MsgBox函数实现人机交互,如果要求有返回值时:x=MsgBox(提示信息,对话框类型,对话框标题),如果不要求返回值则:MsgBox提示信息,对话框类型,对话框标题。还有一点值得注意的是在form-load事件中show与print必须同时使用。
数据的输入主要有两种方法,与数据的输出类似,可以使用控件输入,如Text、ListBox等,也可以使用内部函数:x=inputbox(提示内容,对话框标题,默认值)。关于焦点的获得可以通过tab或tab+shift在各对象之间切换(程序运行时),也可以用setfocus方法获得。tab键的顺序可以通过设置控件的tabindex属性进行改变。卸载对象的语句有unload 对象名、end 。它们的共同点是都用于结束程序的执行,但是不同点是当有多个窗体时,unload可以选择卸载的对象,而end则会强制终止所有程序的执行,并清除所有变量。
(2)选择结构也称之为分支结构,有两种基本语句,即if语句和select case语句
if语句可以分为五种具体类型:1.单行条件语句 if...then...else...(不能回车)2.块结构条件语句 if...then<语句块1> else <语句块2> end if 3.条件语句嵌套 if...then...if...then...else...end if...end if 4.elseif格式的语句嵌套if...then...elseif...then...elseif...then...else...end if 5.iif函数:iif(条件表达式,条件为真时的值,条件为假时的值)这个函数与if语句中比较简单的逻辑判断是类似的。
select case语句可以实现多分支选择,在数据类型相同的情况下select case语句显得比if语句简明易读而且效率高,但是在数据类型不同的情况下就只能用if语句了,比如说年龄在35~40之间的男的工程师工资上调,select case语句就不能解决了。
(3)循环结构语句有:for...next、do...loop、for each...next和while...wend,但是常用的是前两个。
do...loop语句分为前判断条件型和后判断条件型,前判断型有可能不执行程序,但是后判断型至少执行一次程序。条件的判断分为while当型循环(条件为真时执行循环体)和until直到型循环(条件为假时执行循环体),使用exit do语句可以随时退出循环体。
for...next语句是针对已知循环次数的问题,如果知道循环次数的一般用For循环,当然也可以用Do……Loop语句,但是相比较,For循环一是看着比较直观,二是运算效率高,而用Do……Loop语句还要经过自己推敲一些累加表达式,才能达到For循环的效果,但是就运算效率而言还是没有For循环快,但是Do……Loop语句也有它的优点,当不知道循环次数的时候,只能用Do……Loop语句
End Sub这个程序就只能用Do……Loop语句。而for虽然没有Do……Loop语句使用的范围广但是它的效率比Do……Loop语句的高。
Do……Loop语句,应该注意要在循环体内写入必要的累加语句,不然会出现死循环
经过比较For循环和Do……Loop语句,If的嵌套格式和Sclect Sase我发现使用范围小的功能越高,使用范围广的功能多的运行起来效率就低,就像数据类型,取值范围大了它占得内存就大,运算效率就低,所以选择合适的语句对程序的运行效率很重要。
for each...next循环与for...next循环类似,主要应用于数组,值得注意的是数组成员通常不定义类型,即默认为variant型。循环次数由数组中的成员个数决定。
Visual Basic (VB) 程序开发的步骤如下:
定义需求:明确程序的目的和功能,为下一步的设计制定蓝图。
设计:制定程序的流程图和界面设计。
创建项目:使用 Visual Studio 创建一个新的 Visual Basic 项目,并选择合适的模板。
编写代码:编写程序的主要代码逻辑。
测试:使用 Visual Studio 内置的调试功能对程序进行测试,确保程序功能正常。
部署:将程序打包成安装程序或发布为独立的可执行文件,供用户使用。
维护:定期对程序进行更新和维护,以保证其正常运行。
请注意,上述步骤是一般的程序开发步骤,对于具体项目,步骤可能会有所不同。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)