Visual Basic 程序设计.docx
《Visual Basic 程序设计.docx》由会员分享,可在线阅读,更多相关《Visual Basic 程序设计.docx(13页珍藏版)》请在冰豆网上搜索。
VisualBasic程序设计
第一章VisualBasic程序设计
一、VisualBasic的特点
1.可视化编程
开发人员不必为界面设计而编写大量程序代码,只需要按设计要求,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。
2.面向对象编程
应用面向对象的程序设计方法,把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。
3.结构化程序设计语言
VisualBasic是在BASIC和QuickBASIC语言中发展起来的,因此具有高级程序设计语言的语句结构,VisualBasic是结构化程序。
4.事件驱动编程机制
通过事件来执行对象的操作。
一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。
5.访问数据库
VB系统具有很强的数据库管理功能。
二、VisualBasic6.0的版本
包括3种版本,分别为学习版、专业版和企业版。
3种版本中,企业版功能最全,而专业版包括了学习版的功能。
对大多数用户来说,专业版完全可以满足需要。
这些版本是在相同的基础上建立起来的,因此大多数应用程序可在3种版本中通用。
3种版本适合于不同的用户层次。
我们选择的是VisualBasic6.0中文企业版。
第一节VisualBasic的启动与退出
一、启动VB的四种方法
1、使用“开始”菜单中的“程序”命令。
2、使用“我的电脑”。
位置:
c:
\program\MicrosoftVisualStudio\VB98\vb6.exe
3、使用“开始”菜单中的“运行”命令。
4、建立启动VisualBasic的快捷方式。
二、VB启动后的简单设置
1、新建工程——选择“标准.EXE”格式文件
2、
(1)SDI单文档界面
(2)MDI多文档界面
“工具”——>“选项”——>“高级”——>“SDI开发环境”
3、退出VB:
ALT+Q
第二节主窗口的组成
1、标题栏:
VB程序的三种模式:
设计模式、运行模式、中断模式
2、菜单栏:
(13个)
进入菜单栏的方法:
(1)Alt或F10激活菜单后光标键选择
(2)Alt+激活键。
3、工具栏:
(1)工具栏的分类:
编辑、标准、窗体编辑器和调试
(“视图”——“工具栏”)
(2)工具栏的形式:
固定、浮动
(3)标准工具栏图标及作用
第三节其它窗口
一、窗体设计器和过程资源管理器
(一)窗体设计器窗口
1、窗体设计器窗口简称窗体(Form),是应用程序最终面向用户的窗口,它对应于应用程序的运行结果。
2、如果想去掉这些小点或者改变点与点之间的距离,则可通过执行“工具”——“选项”——“通用”选项卡来调整
缇:
计量单位,等于1磅的1/20,1英寸的1/1440。
一厘米有567缇
(二)工程资源管理器窗口
1、在工程资源管理器窗口中,含有建立一个应用程序所需要的文件的清单。
工程资源管理器窗口中的文件可以分为6类,即窗体文件(.frm)、程序模块文件(.bas)、类模块文件(.cls)、工程文件(.vbp)、工程组文件(.vbg)和资源文件(.res)。
在“工程资源管理器”窗口右键单击,选“添加”可以添加“窗体”或“添加模块即标准模块”等。
2、工程资源管理器窗口中文件的分类:
(1)工程文件和工程组文件
工程文件的扩展名为,vbp,每个工程对应一个工程文件,当一个程序包括两个以上的工程时,这些工程构成一个工程组,工程组文件的扩展名为.vpg。
用“文件”菜单中的”新建工程“命令可以建立一个新的工程,用“打开工程”命令可以打开一个已有的工程,而用“添加工程”命令可以添加一个工程。
(2)窗体文件
窗体文件的扩展名为.frm,每个窗体对应一个窗体文件,窗体及其控件的属性和其他信息(包括代码)都存放在该窗体文件中。
一个应用程序可以有多个窗体(最多可达255个),因此就可以有多个以.frm为扩展名的窗体文件。
执行“过程”菜单中的“添加窗体”命令或单击标准工具栏中的“添加窗体”按钮可以增加一个窗体,而执行“工程”菜单中的“移除窗体”命令可删除当前的窗体。
每建立一个窗体,工程资源管理器窗口中就增加一个窗体文件,每个窗体都有一个不同的名字,可以通过属性窗口设置(Name属性),其默认名字为Formx(x为1,2,3…255),相应的默认文件名为Formx.frm。
(3)标准模块文件
标准模块文件也称程序文件,其扩展名为.bas,它是为合理组织程序而设计的。
标准模块是一个纯代码性质的文件,它不属于任何一个窗体,主要在大型应用程序中使用。
标准模块由程序代码组成,主要用来声明全局变量和定义一些通用的过程,可以被不同窗体的程序调用。
标准模块通过“工程”菜单中的“添加模块”命令来建立。
(4)类模块(只掌握扩展名即可)
VisualBasic提供了大量预定义的类,同时也允许用户根据需要定义自己的类,用户通过类模块来定义自己的类,每个类都用一个文件来保存,其扩展名为.cls。
(5)资源文件(只掌握扩展名即可)
资源文件中存放的是各种“资源”,是一种可以同时存放文本、图片、声音等多种资源的文件。
资源文件由一系列独立的字符串、位图及声音文件(.wav、.mid)组成,其扩展名为.res。
资源文件是一个纯文本文件,可以用简单的文字编辑器编辑。
3、选项卡的切换
在工程资源管理器窗口的顶部有3个按钮,分别为“查看代码”、“查看对象”、“切换文件夹”。
二、属性窗口和工具箱窗口
1、属性的显示方式分为两种,即按字母顺序和按分类顺序,分别通过单击相应的按钮来实现。
2、每个VisualBasic对象都有其特定的属性,可以通过属性窗口来设置,对象的外观和对应的操作由所设置的值来确定。
有些属性的取值是有一定限制的,例如,对象的可见性只能设置为True或Flase(即可见或不可见);而有些属性(如标题)可以为任何文本。
在实际的应用程序设计中,不可能也没必要设置每个对象的所有属性,很多属性可以使用默认值。
(二)工具箱窗口
1、工具箱窗口由工具图标组成,这些图标是VisualBasic应用程序的控件,称为图形对象或控件,每个控件由工具中的一个工具图标来表示。
2、在一般情况下,工具箱位于窗体的左侧。
工具箱中的工具分为两类,一类称为内部控件或标准控件,一类称为ActiveX控件(不常用,不介绍)。
启动VB后,工具箱中只有内部控件。
3、工具箱主要用于应用程序的界面设计。
在设计阶段,首先用工具箱中的工具(即控件)在窗体上建立用户界面,然后编写程序代码,界面的设计完全通过控件来实现,可以任意改变其大小,移动到窗体的任何位置。
三、除上述几种窗口外,在集成环境中还有其他一些窗口,包括窗体布局窗口、代码编辑器窗口、立即窗口、本地窗口和监视窗口等。
这些窗口平时很少用到了解即可。
2.5类、对象、属性、方法和事件
一、类与对象:
1、类:
是将不同类型的数据和与这些数据有关的操作(即函数)封装在一起的集合体。
2、对象:
是具有特殊属性(数据)和行为方式(方法)的实体。
建立一个对象后,其操作通过与该对象有关的属性、事件和方法来描述。
二、属性、方法和事件
1、对象属性
属性是一个对象的特征,不同的对象有不同的特征。
对象常见的属性有caption(标题)、Name(名称)、Color(颜色)、FontSize(字体大小)、Visible(是否可见)等。
除了用属性窗口设置对象属性外,也可以在程序代码中用程序语句设置,一般格式如下:
对象名.属性名称=新设置的属性值
例:
Command1.Visible=False
Text1.text=“VB6.0”
注意:
(1)有些属性只能在设计阶段,用属性窗口来设置,例如,Name(名称)、BorderStyle(边框类型),是“只读”属性。
(2)用户不必对属性值一一进行设置,一般都使用它们的默认值,只有在默认值不满足条件时,才需要用户指定所需的属性值。
2、对象方法:
方法是对象要执行的动作。
调用格式:
对象名称.方法名称
同一个方法用在不同的对象时,可以在不同的设备上输出信息。
例如:
Form1.print“good”
Picture1.Print"这是一张图片"
3、对象事件:
所谓事件,是由VB预先设置好的,能够被对象识别的动作,例如,Click(单击)、DelClick(双击)、Load(装入)等。
不同的对象能够识别的事件也不一样。
当事件由用户触发(如Click)或由系统触发(如Load)时,对象就会对该事件作出响应。
响应某个事件后所执行的操作通过一段程序代码来实现,这样的一段程序代码叫做事件过程。
一个对象可以识别一个或多个事件。
事件过程的一般格式:
PrivateSub对象名称_事件名称( )
事件响应代码
EndSub
“对象名称”是指该对象的Name属性;
“事件名称”是由VB预先定义好的赋予该对象的事件。
2.6窗体概述和基本控件的使用
(一)窗体
1、窗体概述
窗体是一块“画布”,在窗体上可以直观地建立应用程序。
在设计程序时,窗体是程序员的“工作台”,而在运行程序时,每个窗体对应于一个窗口。
窗体的基本构成与windows窗口相同。
有控制菜单(ControlBox)、标题栏(Caption)、最小化按钮(MinButton)、最大化按钮(MaxButton)、关闭等。
2、窗体属性:
窗体属性决定了窗体的外观和操作。
下面介绍窗体的常用属性:
(1)AutoRedraw(自动重画)
该属性控制屏幕图像的重画,主要用于多窗体程序设计中。
其格式如下:
对象.AutoRedraw=Boolean
这里的“对象”可以是窗体或图片框,Boolean的取值为True或False。
如果把AutoRedraw属性设置为True,则当一个窗体被其他窗体覆盖,又回到该窗体时,将自动刷新或重画该窗体上的所有图形。
如果把该属性设置为False,则必须通过事件过程来设置这一操作。
该属性的默认值为False。
(2)Name(名称)(只读属性)
该属性用来定义对象的名称。
用Name属性定义的名称是在程序代码中使用的对象名,与对象的标题(Caption)不是一回事。
注意窗体的名称在对象事件和事件过程中的不同写法。
例如图:
form1名称为:
f1
Command1名称为:
c1
Command2名称为:
c2
PrivateSubC1_Click()
f1.Print3
EndSub
PrivateSubC2_Click()
C1.Visible=True
EndSub
PrivateSubForm_Load()
C1.Visible=False
EndSub
(3)BackColor(背景颜色)
窗体的背景颜色,既可以通过属性窗口设置也可以通过程序代码设置。
例如:
PrivateSubComman1_Click()
Form1.BackColor=vbRed
EndSub
或:
PrivateSubCommand1_Click()
F1.BackColor=RGB(255,0,0)
EndSub
或:
PrivateSubCommand1_Click()
F1.BackColor=&hff&
EndSub
(4)Caption(标题)
用来定义窗口的标题。
窗体的默认标题是Formx,用户可以根据需要更改标题。
格式如下:
对象.Caption=字符串
(5)Borderstyle(边框类型)只读属性
用来确定窗体的边框的类型,可设置为6个预定义值之一。
只需记住:
设置值为0-None:
窗体无边框。
默认值为2-Sizable:
可调整的边框。
窗体大小可变,并有标准的双线边界。
(6)Enable(允许)
该属性用来激活或禁止。
对于窗体,该属性一般设置为True。
格式如下:
对象.Enable=Boolean
这里的“对象”可以是窗体、所有控件及菜单。
当该属性被设置为False后,运行时相应的对象呈灰色显示,表明处于不活动状态,用户不能访问。
在默认情况下,窗体的Enable属性为True,如窗体属性为False窗体不可以被操作,而且窗体上的对象也不可以进行操作。
(7)Font(字体属性设置)
用于设置窗体上文本字体、字型和字号。
字号和磅值的对照表如下:
字号
初号
小初
一号
小一
二号
小二
三号
小三
四号
小四
五号
小五
六号
小六
七号
八号
磅
42
36
26
24
22
18
16
15
14
12
10.5
9
7.5
6.5
5.5
5
(8)ForeColor(前景颜色)
用来设置文本或图形的前景颜色,其设置方法与BackColor属性相同。
由Print方法输出(显示)的文本均按用ForeColor属性设置的颜色输出。
(9)Top和Left(顶边、左边位置)
这两个属性用来设置对象的顶边和左边的坐标值,用以控制对象的位置。
坐标值的默认单位为twip(缇)。
当用程序代码设置时,其格式如下:
对象.Top=数值
对象.Left=数值
这里的“对象”可以是窗体和绝大多数控件。
当“对象”为窗体时,Left指的是窗体的左边界与屏幕左边界的相对距离,Top指的是窗体的顶边与屏幕顶边的相对距离;而当“对象”为控件时,Left和Top分别指控件的左边和顶边与窗体的左边和顶边的相对距离。
(10)Height和Width(高、宽)
用来指定对象的高度和宽度。
格式如下:
对象.Height=数值
对象.width=数值
(11)Picture(图形)
用来在对象中显示一个图形。
该属性多用于图像框和图片框。
(12)Visible(可见性)
用来设置对象的可见性。
如果将该属性设置为False,则将隐藏对象;如果设置为True,则对象可见。
在代码中设置格式如下:
对象.Visible=Boolean
这里的对象是窗体和任何控件(计时器除外),默认情况下,Visible属性值为True。
注意,只有在运行程序时,该属性才起作用。
也就是说,在设计阶段,该属性不起作用。
3、窗体的事件
窗体常用事件若下:
(1)Click(单击)事件
是程序运行后,单击鼠标左键时发生的事件。
(2)DblClick(双击)事件
程序运行后,双击某个位置。
双击“实际上是触发两个事件,第一次按鼠标键产生Click事件,第二次产生DblClick。
例如:
PrivateSubForm_Click()
Print"单击窗体"
EndSub
PrivateSubForm_DblClick()
Print"双击窗体"
EndSub
(3)Load(装入)事件
Load事件可以用来在启动程序时对属性和变量进行初始化。
因为在装入窗体后,如果运行程序,将自动触发该事件。
Load是把窗体装入工作区的事件,如果这个过程存在,接着就执行它。
(二)文本框控件的使用
文本框是一个文本编辑区域,在设计阶段或运行期间可以在这个区域中输入、编辑和显示文本,类似于一个简单的文本编辑器。
前面介绍的一些属性也可以用于文本框,这些属性包括Borderstyle、Enable、FontBold、FontItalic、FontSize、FontUnderLine、Height、left、Name、Top、Visible、Width,此外还具有如下属性:
(在第六章介绍)
(1)MaxLength(最大长度)
用来设置允许在文本框中输入的最大字符数。
如果该属性被设置为0,则在文本框中输入的字符数不能超过32K。
在一般情况下,该属性使用默认值0。
(2)MultiLine(多行)
如果把该属性设置为False,则在此时文本框中输入数据和显示的结果都是单行的;当属性值为True时,则在文本框中可以实现多行文本的输入或输出。
按Ctrl+Enter可以插入一个空行。
(3)PasswordChar(密码)
该属性可用于口令输入。
在默认状态下,该属性被设置为空字符串(不是空格),用户从键盘上输入时,每个字符都可以在文本框中显示出来。
如果把它的属性设置为一个字符,例如(*、#、?
等),则在文本框中输入字符时,显示的不是键入的字符,而是被设置的字符(如星号)。
不过文本框中的实际内容仍是输入的文本,只是显示结果被改变了。
利用这一特性,可以设置口令。
(4)Text
用于设置和返回文本框中所显示的文本信息。
Text属性既可以在属性窗口中设置,也可以在程序运行阶段改变。
例如:
Text1.text=“VisualBasic”
将在文本框中显示VisualBasic
(5)ScrollBars(滚动条)
只有Multiline属性为True时有效,添加滚动条。
该属性可以取0,1,2,3四个值,其含义分别为:
0——文本框没有滚动条;1——只有水平滚动条;2——只有垂直滚动条;3——同时具有水平和垂直滚动条。
(6)Locked属性(上锁)
运行时,Locked属性值为True,文本框中的内容不能改变,只能选中;属性值为False时,文本框中的内容可以改变。
默认值false。
(三)标签:
标签只能显示文本,即只能输出不能输入。
而文本框既能输出又能输入。
标签主要用来显示文本信息,它所显示的内容只能用Caption属性来设置或修改,不能直接编辑。
有时候,标签常用来标注本身不具有Caption属性的空件,例如,可以用标签为文本框、列表框、组合框等控件附加描述性信息。
前面介绍的一些属性也可以用于标签,这些属性包括Borderstyle、Enable、FontBold、FontItalic、FontSize、FontName、FontUnderLine、Height、left、Name、Top、Visible、Width,此外还具有如下属性:
(1)Alignment(对齐)属性
设置标签中标题的放置方式。
0——靠左显示;1——靠右显示;2——居中显示。
(2)Autosize(自动调整)
属性值为True,根据标题自动调整大小;属性值为False,保持定义时的大小。
(3)BackStyle(背景样式)
属性值为0,标签透明;属性值为1,标签将覆盖背景。
(4)WordWrap自动换行
为了使WordWrap起作用,应把Autosize属性设置为True。
设置顺序:
①先设WordWrap属性设置为True。
②然后将Autosize属性设置为True。
③在文本框中输入的单词必须用空格空开。
(四)命令按钮
命令按钮通常用来在单击时,执行指定的操作。
前面介绍的一些属性也可以用于命令按钮,这些属性Caption、Enable、FontBold、FontItalic、FontSize、FontName、FontUnderLine、Height、left、Name、Top、Visible、Width,此外还具有如下属性:
(1)Cancel(取消)
当一个命令按钮的Cancel属性被设置为True时,按Esc键与单击该命令按钮的作用相同。
在一个窗体中,只允许有一个命令按钮的Cancel属性值为True。
(2)Default(默认值)
当一个命令按钮的Default属性被设置为True时,按回车键和单击该命令按钮的效果相同。
在一个窗体中,只能有一个命令按钮的Default属性值被设置为True。
(3)Style(外观)只读属性
0——标准样式。
命令按钮中只显示文本。
1——图形格式。
在命令按钮中不仅可以显示文本,而且可以显示图形。
在代码中让命令按钮显示图片方法:
Command1.picture=loadpicture(“e:
\vb\1.jpg”)
注意:
命令按钮最常用的事件是单击(Click),不支持双击(DelClick)事件。
2.7简单程序实例与分析
一、VB语句特点
(1)VB不区分大小写。
(2)在一般情况下,输入程序时要求一行一句,一句一行。
但VB允许使用复合语句行,即把几个语句放在一行中,各语句之间用冒号(:
)隔开。
(3)VB6.0中使用的续行符是下划线(_)。
如果一个语句行的末尾是下划线,则下一行与该行属于同一个语句行。
注意,续行符与它前面的字符之间至少要有一个空格。
二、赋值语句
用赋值语句可以把指定的值赋给某个变量或带有属性的对象,其一般格式:
[Let]目标操作符=源操作符
“源操作符”:
包括变量、表达式、常量及带有属性的对象;
“目标操作符”:
指的是变量和带有属性的对象。
“=”:
称为赋值号。
例:
T=99
Tr=5+val(text1.text)
Text2.text=text1.text
Command1.fontsize=23
说明:
(1)赋值语句兼有计算与赋值双重功能。
(2)在赋值语句中,“=”是赋值号,与数学上的等号意义不一样。
(3)赋值号两端的数据类型必须一致。
例如不能将字符串常量或字符串表达式的值赋给整型变量或实型变量。
如果数据类型相关但不完全相同,例如把一个整型值存放到一个双精度变量中,则VB将把整型值转换为双精度值。
但是,不管表达式是什么类型,都可以赋给一个Variant变量。
(4)赋值语句以Let开头,因此也称为Let语句。
Let可以省略。
三、注释语句
VB中的注释是“Rem”或一个撇号。
格式:
Rem注释内容
‘注释内容
例如:
Rem这是一个子程序
‘这是一个子程序
说明:
(1)注释语句是非执行语句,仅对程序起解释说明作用。
(2)注释语句不能放在续行符的后面。
四、结束语句(End)
格式:
End
End语句用来结束一个程序的执行。
一个程序中有没有End语句对程序的运行没有影响。
但是,如果没有End语句,或者没执行End语句,则程序必须执行“结束”命令结束。
五、用VB开发应用程序的一般步骤:
1、建立用户界面
2、设置窗体和控件的属性
3、编写代码
在代码中不指出对象名,则方法或属性是针对当前窗体的,例如:
Caption=“VB程序设计”
VB能自动进行语法检查。
每输入完一行代码并按回车键后,VB能自动检查该行的语法错误。
如果语句正确(没有语法错误),则自动以不同的颜色显示代码的不同部分,并在运算符前后加上空格。
执行“工具”——“选项”——“编辑器)—设置。
六、程序的装入
一个应用程序包括4类文件,即窗体文件、标准模块文件、类模块文件和工程文件。
但只要装入工程文件,就可以自动把与该工程有关的其他3个文件装入内存。
也就是说一个工程中无论有多少个窗体文件和标准模块文件,都可以通过装入工程文件把所有的窗体文件和标准模块文件装入内存。
因此,装入应用程序,实际上就是装入工程文件。