【VB开源代码栏目提醒】:以下是网学会员为您推荐的VB开源代码-计算机二级VB完整教程 - 讲义教程,希望本篇文章对您学习有所帮助。
计算机等级考试二级VBVBVBVB基础教程1.1VisualBasic概述1.VisualBasic是什么VisualBasic简称
VB是Microsoft公司开发的一种通用的基于对象的程序设计语言。
“Visual”指的是开发图形用户界面GUI的方法——不需编写大量
代码去描述界面元素的外观和位置而只要把预先建立的对象add到屏幕上的一点即可。
“Basic”指的是BASICBeginnersAll-PurposeSymbolicInstructionCode语言一种在计算技术发展历史上应用得最为广泛的语言。
VisualBasic在原有BASIC语言的基础上进一步发展至今包含了数百条语句、函数及关键词其中很多和WindowsGUI有直接关系。
专业人员可以用VisualBasic实现其它任何Windows编程语言的功能而初学者只要掌握几个关键词就可以建立实用的应用程序。
VisualBasicScriptingEditionVBScript是广泛使用的脚本语言它是VisualBasic语言的子集可嵌入
HTML语言中用于网页设计如ASPActiveServerPage文件。
VB简单易学通用性强用途广泛。
2.
VB的功能
VB可以用于可以开发多媒体、数据库、网络、图形等方面的应用程序。
数据访问特性允许对包括MicrosoftSQLServer和其它企业数据库在内的大部分数据库格式建立数据库和前端应用程序以及可调整的服务器端部件。
有了ActiveXTM技术就可使用其它应用程序提供的功能例如MicrosoftWord字处理器MicrosoftExcel电子数据表及其它Windows应用程序。
Internet能力强大很容易在应用程序内通过Internet或intranet访问
文档和应用程序或者创建Internet服务器应用程序。
已完成的应用程序是使用VisualBasic虚拟机真正.exe文件可以自由发布。
3.
VB的发展
VB是伴随Windows操作系统而发展的在中国使用较广的版本有
VB4.0、
VB5.0、
VB6.0。
VB4.0是为配合WIN95的问世于1995年推出的既可用于编写WIN3.X平台的16位应用程序也可编写WIN95平台的32位应用程序
VB5.0主要用于编写WIN95平台的32位应用程序较之
VB4.0主要扩展了数据库、ActiveX和Internet方面的功能
VB6.0是与WIN98配合于1998年推出的进一步加强了数据库、Internet和创建控件方面的功能。
4.
VB中的几个常用术语工程Project是指用于创建一个应用程序的文件的集合。
对象object可控制的某个东西
VB中主要有两类对象:窗体和控件。
窗体form应用程序的用户界面即windows。
控件control指的是各种按扭、标签、文本框等。
属性property是指对象的特性如大小、标题或颜色。
ActiveX:ActiveX是基于componentobjectmodelcom的可视化控件结构的商标名称.它是一种封装技术提供封装COM组件并将其置入应用程序如WEB浏览器的一种方法.ComponentsObjectModelCOM是
软件组件互相通讯的一种方式。
它是一种二进制和
网络标准允许任意两个组件互相通讯而不管它们是在什么计算机上运行只要
计算机是相连的不管各计算机运行的是什么操作系统只要该操作系统支持COM也不管该组件是用什么语言编写的。
5.
VB的系统特性1工程限制1
代码限制可被加载到窗体、类或标准模块的
代码总数限于65534行。
一行
代码限于1023个字节。
在一行中的实际文本之前最多只能有256个空格的前导在一个逻辑行中最多只能有25个续行符_。
2过程、类型和变量对每个模块的过程数没有限制。
每个过程可包含至多64K的
代码。
如果过程或模块超过这一限制VisualBasic便产生编译时间错误。
如果遇到这种错误可将特别大的过程分割成若干个较小的过程或将模块级声明移到另一模块来避免此类错误发生。
VisualBasic用表来保存
代码中的标识符名变量、过程、常量等。
每个表限于64K。
3动态链接库声明表每个窗体和
代码模块使用一个描述动态链接库入口点的结构的表。
每个结构约40个字节表的大小限于64K形成每个模块大约有1500个声明。
4工程名表整个应用程序用一张包含所有名称的表。
这些名称包括常量名、变量名、自定义的类型定义名、模块名、DLL过程声明名。
对工程名表总大小没有限制但是区分大小写的条目不得超过32K。
如果超过了32K的限制可以在不同的模块中重新使用private标识符以限制区分大小写的条目数到达32K。
5输入表在不同的模块中每引用一个标识符便在输入表中创建一个条目。
每一个这样的入口最小是24字节但限于64K这样每个模块大约可以有2000个引用。
6模块条目表该表中每个模块最多达125个字节但有64K的总限制这样每个工程大约可以产生400个模块。
VB中的变量名不多于255个字符而窗体、控件、模块和类名不多于40个字符。
2工程文件格式
VB在创建和编译工程时要产生许多文件分为设计时文件、杂项开发文件和运行时文件。
设计时文件是工程的建造块例如基本模块.bas和窗体模块.frm。
杂项文件是由VisualBasic开发环境中的各种不同的进程和函数产生的例如打包和展开向导从属文件.dep。
1.2
VB6.0的集成开发环境简介
VB集成开发环境IDE——IntegratedDevelopingEnvironment由以下元素组成1.标题栏用于显示正在开发或调试的工程名和系统的工作状态设计态、运行态、中止态。
2.菜单栏用于显示所使用的VisualBasic命令。
VB6.0标准菜单包括3.工具栏在编程环境下用于快速访问常用命令。
缺省情况下启动
VB后显示“标准”工具栏附加的编辑、窗体设计和调试的工具栏可以从“视图”菜单上的“工具栏”命令中移进或移出。
4.窗体设计器用来设计应用程序的界面。
启动
VB后窗体设计器中自动出现一个名为Form1的空白窗体可以在该窗体中添加控件、图形和图片等来创建所希望的外观窗体的外观设计好后从菜单中选择“文件”→“保存窗体”→在保存对话框中给出合适的文件名注意扩展名并选择所需的保存位置→确定。
需要再设计另一个窗体时单击工具栏上的“添加窗体”按钮即可。
5.控件工具箱由一组控件按钮组成用于
设计时在窗体中放置控件。
除了缺省的工具箱布局之外还可以通过从上下文菜单中选定“添加选项卡”并在结果选项卡中添加控件来创建自定义布局。
6.弹出式上下文菜单在要使用的对象上单击鼠标右键即可打开快捷菜单其上会出现与当前对象相关的经常执行的操作以加快操作速度。
7.工程管理器窗口用于浏览工程中所包含的窗体和模块还可以从中查看
代码、查看对象。
8.属性窗口是
VB中一个比较复杂的窗口其中列出了对选定窗体和控件的属性设置值。
VB中正是通过改变属性来改变对象的特征如大小、标题或颜色。
9.对象浏览器列出工程中有效的对象并提供在编码中漫游的快速方法。
可以使用“对象浏览器”浏览在
VB中的对象和其它应用程序查看对那些对象有效的方法和属性并将
代码过程粘贴进自己的应用程序。
10.对象浏览器右击窗体中的对象、从工程管理器中点“查看
代码”按钮。
11.窗体布局窗口FormLayoutwindow允许使用表示屏幕的小图象来布置应用程序中各窗体的位置。
12.立即、本地和监视窗口这些附加窗口是为调试应用程序提供的它们只在IDE之中运行应用程序时才有效。
1.3面向对象程序设计的基本概念1.基本术语1对象和对象类对象是
代码和数据的组合可以作为一个单位来处理。
对象可以是应用程序的一部分比如可以是控件或窗体。
整个应用程序也是一个对象。
VB中的每个对象都是用类定义的。
用饼干模子和饼干之间的关系作比就会明白对象和它的类之间的关系。
饼干模子是类。
它确定了每块饼干的特征比如大小和形状。
用类创建对象对象就是饼干。
类是面向对象程序设计的核心技术可以理解成一种定义了对象行为和外观的模板把对象看作是类的原原本本的复制品类具有继承性、封装性、多态性、抽象性。
2属性属性是对对象特性的描述
VB为每一类对象都规定了若干属性设计中可以改变具体对象的属性值。
比如窗体的背景颜色、高度与宽度。
3事件Event事件是发生在对象上的动作。
事件的发生不是随意的某些事件仅发生在某些对象上。
在
VB中事件的调用形式是PrivateSub对象名_事件名事件内容EndSub4方法Method方法指的是控制对象动作行为的方式。
它是对象本身内含的函数或过程它也是一个动作是一个简单的不必知道细节的无法改变的事件但不称作事件同样方法也不是随意的一些对象有一些特定的方法。
在
VB里方法的调用形式是对象名.方法名2.属性、方法和事件之间的关系
VB对象具有属性、方法和事件。
属性是描述对象的数据方法告诉对象应做的事情事件是对象所产生的事情事件发生时可以编写
代码进行处理。
VB的窗体和控件是具有自己的属性、方法和事件的对象。
可以把属性看作一个对象的性质把方法看作对象的动作把事件看作对象的响应。
日常生活中的对象如小孩玩的气球同样具有属性、方法和事件。
气球的属性包括可以看到的一些性质如它的直径和颜色。
其它一些属性描述气球的状态充气的或未充气的或不可见的性质如它的寿命。
通过定义所有气球都具有这些属性这些属性也会因气球的不同而不同。
气球还具有本身所固有的方法和动作。
如充气方法用氦气充满气球的动作放气方法排出气球中的气体和上升方法放手让气球飞走。
所有的气球都具备这些能力。
气球还有预定义的对某些外部事件的响应。
例如气球对刺破它的事件响应是放气对放手事件的响应是升空。
在
VB程序设计中基本的设计机制就是改变对象的属性、使用对象的方法、为对象事件编写事件过程。
程序设计时要做的
工作就是决定应更改哪些属性、调用哪些方法、对哪些事件作出响应从而得到希望的外观和行为。
3.事件驱动模型在传统的或“过程化”的应用程序中应用
程序自身控制了执行哪一部分
代码和按何种顺序执行
代码。
从第一行
代码执行程序并按应用程序中预定的路径执行必要时调用过程。
在事件驱动的应用程序中
代码不是按照预定的路径执行而是在响应不同的事件时执行不同的
代码片段。
事件可以由用户操作触发、也可以由来自操作系统或其它应用程序的消息触发、甚至由应用程序本身的消息触发。
这些事件的顺序决定了
代码执行的顺序因此应用程序每次运行时所经过的
代码的路径都是不同的。
因为事件的顺序是无法预测的所以在
代码中必须对执行时的“各种状态”作一定的假设。
当作出某些假设时例如假设在运行来处理某一输入字段的过程之前该输入字段必须包含确定的值应该组织好应用程序的结构以确保该假设始终有效例如在输入字段中有值之前禁止使用启动该处理过程的命令按钮。
在执行中
代码也可以触发事件。
例如在程序中改变文本框中的文本将引发文本框的Change事件。
如果Change事件中包含有
代码则将导致该
代码的执行。
如果原来假设该事件仅能由用户的交互操作所触发则可能会产生意料之外的结果。
正因为这一原因所以在设计应用程序时理解事件驱动模型并牢记在心是非常重要的。
4.交互式开发传统的应用程序开发过程可以分为三个明显的步骤编码、编译和测试
代码。
但是VisualBasic与传统的语言不同它使用交互式方法开发应用程序使三个步骤之间不再有明显的界限。
VB在编程者输入
代码时便进行解释即时捕获并突出显示大多数语法或拼写错误。
看起来就象一位专家在监视
代码的输入。
除即时捕获错误以外
VB也在输入
代码时部分地编译该
代码。
当准备运行和测试应用程序时只需极短时间即可完成编译。
如果编译器发现了错误则将错误突出显示于
代码中。
这时可以更正错误并继续编译而不需从头开始。
由于
VB的交互特性
代码运行的效果可以在开发时进行测试而不必等到编译完成以后。
14利用
VB开发应用程序的一般步骤一个
VB程序也称为一个工程由窗体、标准模块、自定义控件及应用所需的环境设置组成。
开发步骤一般如下1创建程序的用户界面2设置界面上各个对象的属性3编写对象响应事件的程序
代码4保存工程5测试应用程序排除错误6创建可执行程序2.1
VB用户界面设计基础1.概述界面的设计有两步先绘制控件然后确定控件属性。
绘制控件在工具箱里单击想画的控件在窗体里按下鼠标并拖曳然后松开鼠标即可。
确定属性先选中控件然后按F4键或单击工具栏上的属性窗口进入属性Properties窗口再在属性窗口中找到要设置的属性并进行设置。
2.
常用属性的设置1Name属性对象都有名字计算机把名字看成对象于对象之间的根本差异因此在同一窗体里不许出现重名的情况除非这是一个控件数组且名字不得超过40个字。
在简单的程序里给控件命名不是很必要完全可以使用控件Name属性的缺省值。
例如Text1。
但在有几十个控件的复杂窗体里就很难区分它们。
所以
VB推荐由三个小写字母的前缀和一个第一个字母为大写的描述性单词组成的名字。
例如cmdMyButton是一个命令按钮前缀是cmd2Caption属性Caption即标题是可以在对象外观上直接看见的文本可以长达255字符包括空格和标点符号比如一个叫cmdOk的命令钮它的Caption属性就可以是“Ok”。
注意并不是所有的对象都有此属性比如文本框、图片框、线条等就没有。
为按钮设置热键在设置Caption属性时在需要加下划线的字母前加上“amp”符号例如“ampFile”输出的就是“File”这样就可以通过按ALT键和标题上那个带下划线的字母来选取它了不必为此编任何
代码。
Name和caption的比较1Name是
系统用来识别对象的编程时需要用它来指代各对象Caption是给用户看的提示用户该对象的作用2Name可以采用系统默认的名称但Caption应该根据实际情况改成意义明了的名词3所有对象都有Name但不一定都有Caption3TopLeft属性这两个属性决定对象的位置。
只有两种情况需要在属性窗口里设置这两个属性第一种是用户没有鼠标第二种是程序员需要十分精确地设定这两个值。
当选中对象单击并拖曳它的时候便在修改这两个值了。
4HeightWidth属性这两个属性决定了对象的大小当选中控件时它周围出现八个小黑方块把鼠标指向这些方块鼠标指针将变成一个双向的箭头这时按下鼠标并拖曳它即可改变控件的大小也就改变了HeightWidth属性。
1.窗体的属性1设置属性的方法1在设计态通过属性窗口设置直接在属性窗口中选择或输入既可。
2在程序
代码中改变属性值
代码中的格式为对象名.属性属性值例Form1.BackColorRGB255002.窗体的常用方法1Hide方法用以隐藏MDIForm或Form对象但不能使其卸载。
语法object.Hideobject所在处代表一个对象表达式其值为“应用于”列表中的一个对象。
如果省略object则带有焦点的窗体就认为是该object。
说明隐藏窗体时它就从屏幕上被删除并将其Visible属性设置为False。
用户将无法访问隐藏窗体上的控件但是对于运行中的VisualBasic应用程序或对于通过DDE与该应用程序通讯的进程及对于Timer控件的事件隐藏窗体的控件仍然是可用的。
窗体被隐藏时用户只有等到被隐藏窗体的事件过程的全部
代码执行完后才能够与该应用程序交互。
如果调用Hide方法时窗体还没有加载那么Hide方法将加载该窗体但不显示它。
2Move方法用以移动MDIForm、Form或控件。
语法object.Movelefttopwidthheight说明只有left参数是必须的。
但是要指定任何其它的参数必须先指定出现在语法中该参数前面的全部参数。
例如如果不先指定left和top参数则无法指定width参数。
任何没有指定的尾部的参数则保持不变。
3Print方法在Immediate窗口中显示文本。
语法object.PrintoutputlistPrint方法的语法具有下列对象限定符和部分部分描述Object必需的。
对象表达式其值为“应用于”列表中的对象。
outputlist可选的。
要打印的表达式或表达式的列表。
如果省略则打印一空白行。
outputlist参数具有以下语法和部分SpcnTabnexpressioncharpos说明可以用空白或分号来分隔多个表达式。
对系统指定的国别设置用小数点分隔符将所有打印到Immediate视窗的数据正确格式化。
关键字要用适用于主应用程序的语言输出。
对于Boolean数据或者打印True或者打印False。
根据主机应用程序的地区设置来翻译True和False关键字。
使用系统能识别的标准短日期格式书写Date数据。
当日期或时间部件丢失或为零时只书写已提供的部件。
如果outputlist数据是Empty则无内容可写。
但是如果outputlist数据是Null则输出Null。
在输出Null关键字时要把关键字正确翻译出来。
要把错误数据作为Errorerrorcode输出。
在输出Error关键字时要把关键字正确翻译出来。
如果在具有缺省显示空间的模块外使用此方法则需要object。
例如如果没有指定对象就在标准模块上调用此方法则将导致错误发生但是如果在窗体模块上进行调用则会在窗体上显示“outputlist”。
注意因为Print方法是按照字符比例进行打印所以字符数与字符所占据的宽度固定的列的数目无关。
例如像“W”这样的宽字母占据的宽度超过一固定列宽而像quotiquot这样的窄字母占据的宽度则较小。
考虑到要使用比平均字符更宽的空间表列一定要留有足够余地。
另外也可以使用固定间距的字体像Courier字体来确保每一字符均只占一列。
4PrintFrom方法用以将Form对象的图象逐位发送给打印机。
语法object.PrintForm说明PrintForm将打印Form对象的全部可见对象和位图。
在绘制图形时如果AutoRedraw属性为True则在运行时PrintForm将打印Form对象或PictureBox控件上的图形。
PrintForm所使用的打印机是由操作系统的控制面板中的设置来决定。
5Refresh方法强制全部重绘一个窗体或控件。
语法object.Refresh说明在下列情况下使用Refresh方法在另一个窗体被加载时显示一个窗体的全部。
更新诸如FileListBox控件之类的文件系统列表框的内容。
更新Data控件的数据结构。
Refresh方法不能用于MDI窗体但能用于MDI子窗体。
不能在Menu或Timer控件上使用Refresh方法。
通常如果没有事件发生窗体或控件的绘制是自动处理的。
但是有些情况下希望窗体或控件立即更新。
例如如果使用文件
列表框、目录列表框或者驱动器列表框显示当前的目录结构状态当目录结构发生变化时可以使用Refresh更新列表。
可以在Data控件上使用Refresh方法来打开或重新打开数据库如果DatabaseNameReadOnlyExclusive或Connect属性的设置值发生改变并能重建控件的Recordset属性内的dynaset。
6Show方法用以显示MDIForm或Form对象。
语法object.Showstyleownerform说明如果调用Show方法时指定的窗体没有装载VisualBasic将自动装载该窗体。
当Show在显示无模式窗体时随后遇到的
代码则要执行。
当Show在显示模式窗体modalform时则随后的
代码直到该窗体被隐藏或卸载时才能执行。
当Show在显示模式窗体时除了模式窗体中的对象之外不能进行输入键盘或鼠标单击。
对其它窗体进行输入前程序必须隐藏或卸载模式窗体通常是处于响应用户某些操作状态。
MDIForm不能是形式的。
在模式窗体显示时虽然应用程序中的其它窗体失效但其它应用程序不会失效。
应用程序的启动窗体在其Load事件调用后会自动出现。
下面的例子说明如何使用ownerform参数PrivateSubcmdShowResults_Click显示模式窗体frmResults.frmResults.ShowvbModalMeEndSub7Cls方法清除运行时Form或PictureBox所生成的图形和文本。
语法object.Cls说明Cls将清除图形和打印语句在运行时所产生的文本和图形而设计时在Form中使用Picture属性设置的背景位图和放置的控件不受Cls影响。
如果激活Cls之前AutoRedraw属性设置为False调用时该属性设置为True则放置在Form或PictureBox中的图形和文本也不受影响。
这就是说通过对正在处理的对象的AutoRedraw属性进行操作可以保持Form或PictureBox中的图形和文本。
调用Cls之后object的CurrentX和CurrentY属性复位为0。
3.窗体的常用事件1Load事件这个事件发生在窗体被装入内存时且发生在窗体出现在屏幕之前。
窗体出现之前VisualBasic会看一看Load事件里有没有
代码如果有那么它先执行这些
代码再让窗体出现在屏幕上。
2Click事件Dblclick事件这两个事件在单击或双击窗体时发生。
不过单击窗体里的控件时窗体的Click事件并不会发生VisualBasic会去看控件的Click事件里有没有
代码。
3Activate活动事件与Deactivate非活动事件显示多个窗体时可以从一个窗体切换到另一个窗体。
每次激活一个窗体时发生Activate事件而前一个窗体发生Deactivate事件。
4Resize事件在窗体被改变大小时会触发此事件。
4.窗体的控制1装入或卸出窗体要装入或卸出窗体用Load或Unload语句。
装入窗体LoadformName卸出窗体UnLoadformNameFormName变量是要装入或卸出的窗体名。
Load语句只是把窗体装入内.