VB6.0详细讲义(VB6实用教程-VB6从入门到精通)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 Visual Basic介绍
第二章用户界面设计
第三章编程的基础(含变量,常量,条件语句,循环语句,自定义变量,自定义过程,对象和类等基础)
第四章 Windows 95的新控件Visual Basic的输入输出
第五章 Visual Basic的鼠标事件和绘图
第六章 Visual Basic的数据库、报表、预览、打印
第七章从文件中存取资料
第八章发行应用程序
第九章使用Windows API和用Visual Basic建立自己的屏幕保护程序
第十章创建ActiveX控件
第十一章ActiveX文档
第十二章用对象链接与嵌入(OLE)扩展Visual Basic
第十三章使用资源文件
第十四章用Visual Basic建立ActiveX DLL
第十五章用Winsock控件进行Internet通信
第十六章 Web浏览控件
第一章Visual Basic介绍
§2 窗体和命令钮介绍
一、窗体
窗体是Windows的基本组成部分,这也是为什么这个操作系统叫Windows的原因。
它的主要属性除上面介绍的以外,还包括:
1,Appearance属性
这个属性用来决定控件是否采用三维效果。
2,BorderStyle属性
这个属性决定了窗体的边框形式,共有6种属性值。
改变窗体的BordrStyle属性后,窗体在屏幕上没有变化,它只在运行时才变为你所要求的样子。
3,ControlBox属性
程序员用来决定采用不采用控制框的属性,仅在程序运行时才有效。
4,Font属性
程序员可以改变该窗体上显示信息的字体,它控制着直接在窗体上打印的文本显示。
5,Icon属性
这个属性是用户经常要使用的一种属性。
当用户的应用程序在工具条上最小化或在Windows桌面上变为一个独立应用程序时,该属性决定将采用何种图标,窗体控制框里的图标也由它决定。
为自己的窗体设置该属性时,要控制住自己挑三拣四的冲动。
6,Visible属性
该属性决定窗体是否可见。
错误地改变其值是很危险的,窗体会从眼前消失,这种莫名其妙的事情会使用户惊惶失措,所以肩负重任的程序员一定要慎重哟!
7,WindowState属性
指定窗体在运行时的三种状态:正常、最小化、最大化。
二、窗体的主要事件
1,Load事件
这个事件发生在窗体被装入内存时,且发生在窗体出现在屏幕之前。
窗体出现之前,Visual Basic会看一看Load事件里有没有代码,如果有,那么它先执行这些代码,再让窗体出现在屏幕上。
2,Click事件,Dblclick事件
这两个事件在单击或双击窗体时发生。
不过你单击窗体里的控件时,窗体的Click事件并不会发生,Visual Basic会去看控件的Click事件里有没有代码。
3,Activate (活动事件)与Deactivate(非活动事件)
显示多个窗体时,可以从一个窗体切换到另一个窗体。
每次激活一个窗体时,发生Activate 事件,而前一个窗体发生Deactivate事件。
三、窗体控制
1,装入或卸出窗体
要装入或卸出窗体,用Load 或Unload语句。
Load语句的语法如下:
Load formName
而UnLoad语句的语法是:
UnLoad formName
FormName变量是要装入或卸出的窗体名。
Load语句只是把窗体装入内存,并不显示出来,要显示窗体可以使用窗体的Show方法。
2,显示或隐藏窗体
要显示窗体,用Show方法。
若尚未装入内存则先装入再显示。
它的语法如下:formName.show mode
FormName变量是窗体名,可选变元mode为0(缺省值)时窗体为非模态,为1时窗体为模态。
模态窗体完全占有应用程序控制权,不允许切换到别的应用程序,除非关闭!而非模态窗体则反之。
同理,隐藏窗体用formName.hide。
四、命令钮
命令钮有两类:一类是简单的命令钮,一类是图形钮。
图形钮常常成组地出现在屏幕的顶端,成为一些程序炫耀自己贴近用户的标志。
图形钮充分利用了图形用户界面的特征,而且比命令钮小,但它的缺点是用户必须知道图形钮是什么意思,而且没有鼠标的用户恐怕用不了图形钮。
命令钮也有Appearance、Caption、Font、Left、Visible之类的属性。
命令钮的最主要事件就是Click事件,它还有MouseDown和MouseUp等事件
§3 建立菜单
一般Windows的菜单条包含File,Edit,Window和Help菜单标题。
其它的菜单,程序员应将它们插在Edit和Window菜单之间。
在Visual Basic里,为了创建菜单,必须打开菜单编辑窗口。
可以按下Ctrl+E键,也可以从Tools菜单中选择Menu Editor项,或者单击Visual Basic主窗口的从左边数第六个图形钮。
一、给菜单命名
菜单标题和菜单命令也有Caption和Name属性,你设置了这两个属性就等于创建了菜单。
于控件一样Caption是屏幕上可见的,而Name则是一个抽象名称。
别忘了在Caption 里加入“&” 以帮助没有鼠标的用户。
二、增加和删除菜单
在Menu Editor中部有三个命令钮分别是Next,Insert,Delete。
Insert可用来增加新的菜单。
在这三个键下面的Caption列表框里选中菜单项(这时它的底色就变成深蓝色),单击Insert键,Visual Basic将上一个增亮菜单下推并增亮一空行,你就可以输入新菜单名和标题了。
Delete键可用来删掉菜单。
你选中要删掉的菜单,单击Delete键就可以删掉它了。
三、移动菜单标题
有四种情况,向上移动,向下移动,向左缩排,向右缩排,这就是Menu Editor中间上下左右箭头的功能。
选中某一菜单标题,安上下箭头,则这个菜单将上下移动到你喜欢的位置上,这也决定了它在界面中的位置。
如果你按左右箭头,情况则有所不同。
由于菜单是分级的,所以,如果它没有缩排,则它是一个菜单标题;如果它缩排一次,那么它将变成一个菜单命令;如果缩排两次,那么它将成为一个子菜单命令。
Visual Basic里你可以总共设计四层子菜单。
四、设置分离条
分离条是指在菜单中将命令分组的线。
奇怪的是,Visual Basic将分离条也看成一个菜单项,它也需要Caption和Name属性,而且它也有其它属性,分离条与菜单项的区别是分离条的Caption属性必须是连字号即减号。
也就是,当你设置了一个Caption属性为“-” 的菜单项时,实际上你就设置了一个分离条,分离条的名字可以是barFile1之类,以表明分离条的位置。
五、菜单的各种简单属性
在Menu Editor里有许多确认框和一些正文框及一个下拉式的列表框,这些东西决定了菜单的各种属性。
1,Checked属性
这个属性值设置为真,将在菜单命令左边产生一个打勾的确认标志,你可以看看File Manager里的View菜单就可以了解什么是确认标志了。
2,Enabled属性
各种各样的用户会产生千奇百怪的操作,在许多Edit菜单里都会有不同形式的让菜单命令模糊的情况。
Enabled属性就是用来做这件事的。
Enabled属性为真,则菜单命令是清晰的,Enabled属性为假,则菜单命令是模糊的,这时用户就不能选中这个菜单项了。
3,Visible属性
用户看见一个模糊的菜单而不能选的时候,有时会非常生气。
所以,如果用户看不见这个菜单命令时,他也就不会发无名之火了。
如果把Visible属性设为假,则菜单根本不会出现在屏幕上。
这样做比把Enabled属性设为假显得更加干脆!
4,Index属性
可以生成菜单命令数组,用索引号区分开。
例如向File菜单中添加一系列最近打开的文件名。
添加菜单可用Load方法。
以上属性可以在运行时设置,形成动态的菜单的情况。
例如:
mnuUndo.Enabled = False
mnuProperty.Visible = False
你还可以改变Caption等属性。
mnuUndo.Caption = “Redo”
在对窗体,命令钮和菜单有所了解后,工具箱里的其它控件就更加容易理解了。
下面这些控件的熟练运用,将使你做出漂亮的界面。
六、生成弹出式菜单(或浮动菜单)
几乎每个Windows应用程序都提供弹出式菜单,用户可以右键单击窗体或控件取得这个菜单。
弹出式菜单也属于普通菜单,只是不固定在窗体上,而是可以在任何地方显示。
弹出式菜单用PopupMenu方法调用。
假设我们已经用Menu Editor生成了名为mnuedit 的菜单,则可以在MouseUp事件加入如下代码:
If Button = 2 Then PopupMenu mnuedit
下面将用一个实例展示动态菜单和弹出式菜单。
左图表单显示了一个弹出式菜单,在表单的空白处右击鼠标就可得到。
左图表单显示了一个动态菜单,单击Add runtime option钮一下就会使菜单Runtime Menu增加一项,而单击Remove runtime option钮一下就会使菜单Runtime Menu减少一项。
其源代码如下:Dim rtmenu
Private Sub cmdadd_Click()
rtmenu = rtmenu + 1
If rtmenu = 1 Then mnuoption(0).Caption = "Runtime Option"
Load mnuoption(rtmenu)
mnuoption(rtmenu).Caption = "option #" & rtmenu
End Sub
Private Sub cmdremove_Click()
If rtmenu = 0 Then
MsgBox "menu is empty"
Exit Sub
End If
Unload mnuoption(rtmenu)
rtmenu = rtmenu - 1
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu mnuedit
End Sub
§4 框架,确认框和选项钮
一、确认框和选项钮就好比多项选择和单项选择,在考试时选择题总比简答题要好做,因为你可以用瞎蒙的策略。
用户界面设计的保持简单的原则使确认框和选项钮成为有用的框件。
确认框和选项钮用于向程序输入信息。
确认框选中时会在小方框里打一个钩,菜单设计窗口里就有这种确认框的例子。
选项钮选中时会在小圆圈里点一个点。
它们的主要属性除了Name,Caption等,还有:1,Value属性
决定它们是否被选中的属性。
2,Alignment属性
决定它们的对齐方式。
二、有两道选择题或更多时,我们就必须对它们进行分组。
这种分组需要借助框架控件。
分组的方法是:
1,在工具箱里单击Frame控件;
2,在窗体里拖曳鼠标画出框架;
3,在工具箱里单击确认框或选项钮控件;
4,在框架里画确认框或选项钮;
5,把所需的确认框或选项钮都画好。
§5 正文框和标签
正文框通常用于向计算机输入信息,而标签通常用于输出信息。
正文框是一个十分重要的控件,因为由确认框和选项钮向程序输入的信息毕竟只有少数的几条信息而已。
标签和正文框的区别很小,标签可以看成是一个在运行时不能修改正文的正文框。
因此标签主要用于输出信息。
标签是生活中不可缺少的部分,比如教室里的“团结,勤奋,严谨,活泼”就是一个每天不得不面对的标签。
1,BorderStyle属性
决定了正文框和标签的边框形式。
2,正文框的Text属性和标签的Caption属性
这两个属性其实是一样的,它决定了用户在屏幕上看到的东西,只不过正文框的Text 属性在运行时可以直接在正文框里修改。
3,Alignment属性
这个属性决定正文或标题的排列方式。
4,正文框的Multiline属性
如果正文框里的字太多了,超过了正文框的宽度,那么计算机就在某个我们不知道的地方显示这行字,所以我们要设置Multiline属性为True,这样正文框就有了字换行的能力。
5,正文框的PasswordChar属性
如果用户从事的是一种掌握大量金钱或机密的工作的话(此类用户肯花大钱来买关于计算机的东西),那么他就需要对自己的工作遮遮掩掩,在Visual Basic里你可以作一个口令正文框来实现这种遮掩。
方法是:
(1)选中作为口令正文框的正文框。
(它的周围出现八个小方块)
(2)按F4键打开属性窗口。
(3)设置Multiline属性为False。
(4)设置PasswordChar为用于掩盖的字符。
(只能是一个字符,比如* 号)
第三步使口令正文框只有一行,因为Multiline属性为True将使Password属性失效。
Visual Basic认为口令不必太长,因为太长的口令更加容易忘记。
6,正文框的Maxlength属性
为了防止一些古怪用户输入太多的废话,程序员有限制正文框正文长度的权力,这就是Maxlength属性。
如果Maxlength属性设置为零,那么正文框就只受计算机内存的限制了。
7,Label的AutoSize属性和WordWrap属性
这两个属性在一起搭配使用总是让人混淆,以至于Visual Basic附带的示例程序里有一个程序里有这两个属性的例子,它的路径通常是c:\vb\samples\controls\control.vbp。
在Visual Basic里运行这个例子,选择Options菜单的WordWrap and AutoSize。
AutoSize属性使标签自动地扩大缩小以适应标签的Caption属性,但是它只会水平伸展。
WordWrap属性使标签具有字换行处理的能力。
为了使标签具有垂直伸展和字换行处理,必须设置它的AutoSize属性和WordWrap属性同时为True。
AutoSize属性为False,WordWrap属性为False时,若标签不够高而Caption太长时,Caption将被切割掉。
AutoSize属性为False,WordWrap属性为True时,情况同上。
AutoSize属性为True,WordWrap属性为False时,表示可以水平伸展,但只显示一行信息。
Locked属性
程序员可以阻止用户改变文本框的内容,用户只可以看文本而不能改变它。
这是Visual Basic 4.0的新功能。
§6 图形框(Picture Box)和图象框(Image Box)
Picture Box和Image Box是用来把图形放入程序里的。
Picture Box和Image Box可以显示几种不同格式的图形。
Bitmap文件(.BMP或.DIB)、Icon文件(.ICO或.CUR)、Metafile 图元文件(.WMF)、增强型图元文件(.EMF)、JEPG(.JPG)及GIF(.GIF)文件。
在Visual Basic 里Microsoft大概送给了我们几百个上述前三类文件,它们的路径通常是:c:\vb\bitmaps、c:\vb\icons、c:\vb\metafile。
它们的主要属性有:
1,设置Picture Box和Image Box的Picture属性
(1)单击Picture Box或Image Box。
(2)按F4键打开属性窗口。
(3)单击Picture属性。
(4)单击设置框右边的省略号,Visual Basic将显示Load Picture对话框。
(5)选择用户需要的文件,单击Ok键。
则Visual Basic将图形装入Picture Box或Image Box。
如果想在程序运行期间装入或删除图形,就需要用程序代码来实现了。
我们可以使用Load Picture函数。
例:装入图形
imgMyHand.Picture = LoadPicture ( “c:\graphics\hand.bmp” )
删除图形
imgMyHand.Picture = LoadPicture ( “ ” )
2,Picture Box和Image Box的BorderStyle属性
如同正文框和标签一样,你可以设计Picture Box和Image Box的边框。
3,Stretch属性和AutoSize属性
Image Box只有Stretch属性,而Picture Box只有AutoSize属性。
AutoSize属性设为True,则Picture Box改变自己的大小来适应其中的图形。
Stretch属性设为True,则Image Box中的图形将改变自己的大小来适应外面的边框。
§7 Line和Shape控件
总有一些除了装饰作用没有别的功能的东西。
如Line 和Shape控件。
1,Line和Shape的BorderColor属性
一般来说边界颜色是黑的,但你也可显示你喜爱的颜色。
在属性窗口里单击BorderColor 属性,再单击省略号,Visual Basic将显示一块调色板,在调色板里选择你喜爱的颜色。
2,Line和Shape的BorderWidth属性
这个属性决定线的粗细。
3,Line和Shape的BorderStyle属性
这个属性决定线的轮廓。
4,Shape的FillStyle属性
在形状中我们可能更加喜欢实心的样子,这也可以做到。
我们已经了解了窗体,菜单,及十种不同的控件,这正是Windows的基本元素,再加上它们的各种属性,就可以画出各式各样的用户界面了!
§6&§7总结:Image、Shape 和Line 控件有时被称作轻量图形控件。
它们需要
较少的系统资源,因此比PictureBox 控件显示得快并且包含PictureBox 中可用的属性、方法和事件的子集。
每一个控件都适用于一个特定的目的。
1、其它控件的容器:PictureBox
2、Printing 或graphics 方法:PictureBox
3、显示图片Image 或PictureBox
4、控件显示简单图形元素:Shape 或Line 控件
第三章编程的基础
在我们设计完用户界面后,我们就将开始了编写指令代码的过程。
这是一个相对枯燥但却是必须的过程。
§1 Visual Basic编程概述
一、事件驱动应用程序
简单地说就是当事件发生时程序才工作,否则程序将等待事件的发生。
在事件驱动程序中,用户的操作或系统事件执行一个事件过程,这样,程序执行的顺序就由哪一个事件的发生决定,由用户的操作决定。
就是用户管理,代码响应。
二、事件过程
用户界面对事件响应的三个部分是:
1,窗体
2,控件
3,菜单
编写程序代码的通常过程是:
1,确定哪一个对象(窗体,控件或菜单)做出反应——单击此对象选中它;
2,打开代码窗口——简单的方法是按False7键或者双击对象;
3,找到响应的事件;
代码窗口的Object列表框可以选择对象,旁边的Proc列表框可以选择对象的事件。
如果事件已经有了代码的话,那么在Proc列表框里这个事件名用黑体显示。
空的事件代码都由两行组成,如:
Private Sub Form_Load()
|
End Sub
4,编写程序代码。
三、变量
程序总是要做三件事:
1,得到数据;
2,处理数据;
3,输出数据。
在程序运行时,这些数据被储存在变量里,变量可理解为计算机内存条上的一个微观的东西。
一旦关机,变量就消失了。
变量在Visual Basic里有两种类型:
1,程序员建立的变量;
2,对象的属性往往也看成变量。
变量必须满足:
1,字母开头;
2,不超过40个字;
3,只包括字母,数字,下划线;
4,不是保留字。
创建变量的方法:
1,用Dim语句说明它;
2,可以省略声明语句而用变量声明字符生成确定类型的变量。
在程序执行时若要生成变量并指定数据类型,可加入下表所示的变量声明字符后缀。
符号数据类型举例
$String A$, message Text$
% Integer Counter%, var%
& Long Population&,colorValue%
! Single Distance!
# Double ExactDistance#
3,把一个值赋给一个名称,Visual Basic就把这个名称看成变量。
Dim语句的语法是:
Dim VariableName As Type
例如:Dim MyName
As Type部分可以省略,它涉及到我们将要讲的关于数据类型的问题。
Dim语句的作用是声明变量并分配存储空间。
赋值语句的语法是:VariableName = Value 或VariableName1 =VariableName2
与数学中的等号意义不同,这里等号只表示把后者的值赋给前者,所以,A = A +1在Visual Basic里是合法的。
例如:cmdExit.Caption = “Exit”(这是一个改变对象属性的例子)
四、数据类型
变量可以存放数字或字符串等东西,但是MyName变量并不需要存放数字,所以你可以限制存放的数据类型。
你可以规定MyName只能字符串。
Visual Basic提供了七种数据类型:1,整型(Integer)
2字节整数,标识符(同上面的变量声明字符)为百分号(%),范围从-32768到32767,运算很快。
2,长整型(Long)
4字节整数,标识符为&,范围从-2147483648到2147483647,运算很快。
3,单精度型(Single)
4字节浮点数,标识符为!,范围可达38位数字,前7位可靠,运算比整型和长整型慢。
4,双精度型(Double)
8字节浮点数,标识符为#,范围可达300多位,但是可靠的只有前16位数字。
5,字符串型(String)
标识符为$,在32位版本的Visual Basic 4.0中,字符串可容纳高达200兆字节的内容。
6,货币型(Currency)
8字节定点数,标识符为@,小数点右边4位,左边15位。
7,日期型(Date)
用于存放日期,范围从#January 1,100#到#December 31,9999#,日期的格式取决于系统的设定,赋值方法是:New = #January 1,2000# 。
8,字节型(Byte)
Visual Basic 4.0新增加的数据类型,用于存放0到255的整数。
9,布尔型(Boolean)
只有True或False两个值。
10,变体型(Variant)
如果你不告诉Visual Basic你的变量是什么类型,Visual Basic就自动把它看成变体型。
变体型的意思就是它没有类型,或者是任何类型。
如果声明了Variant变量而未赋值,则其值为Empty。
例如:Dim MyName As String
事实上,语句Dim MyName只是将MyName变量声明为变体类型罢了,因为变体类型是Visual Basic的缺省类型。
但是,我们使用数据类型的原因是什么呢?
1,使用最小的数据类型可节省内存;
2,程序员可以容易地找出每一变量所存放的数据类型;
3,可以防止数据类型存放错误引起的错误。
例如:
Private Sub Form_Load()
Dim MyName As String
MyName = “DongShan”
End Sub
变换变量类型
有时需要将一种变量类型变成另一种变量类型,下表列出了进行变量类型转换的函数:
函数说明函数说明
Cbool 将变元变成布尔值CLng 将变元变成长整型值
Cbyte 将变元变成字节值CSng 将变元变成单精度值
CCur 将变元变成货币型值CStr 将变元变成字符串值
CDate 将变元变成日期值Cvar 将变元变成变体值
CDbl 将变元变成双精度值CVErr 将变元变成错误值
CInt 将变元变成整型值
Val: 将变量转成数值型,从左至右转,直到遇到第一个非数字为止。
Str: 将变量转成字符型,会在最前保留一符号位,正号时前为空格。
Format: 将按格式返回字符。
StrConv: 转换字符编码
例如要将如下的初始化变量:
Dim A As Integer
变成双精度值,可用下列函数:
B=CDbl(A)
用户自定义的数据类型------记录
保存多个相同或不同类型数值的结构称为记录(record)。
在VISUAL BASIC 中定义记录,用Type语句,其语法如下:
Type varType
Variable1 As varType
Variable2 As varType
…
Variablen As varType
End Type
例如定义一个名为CheckRecord的记录:
Type CheckRecord
CheckNumber as Integer
CheckDate as Date
CheckAmount as Single
End Type
CheckRecord结构可以像普通变量类型一样使用。
要定义这个类型的变量,使用如下语句:
Dim check1 As CheckRecord
要对结构的各个字段访问,可使用如下语句:
check1. CheckNumber=123
check1. CheckDate=#08/14/1996#
check1. CheckAmount=240.00
强制的变量声明
Visual Basic并不要求变量声明,但对于编写大型应用程序时,变量声明的确很有好处。
因此Visual Basic提供强制声明的方法,只要在窗体或模块的声明部分加上一条语句:Option Explicit
这个语句使编译器检查每个变量的声明,如果要用的变量没有声明,则发出一个错误消息!
数组
单个变量只能存放单个实体,而数组可以存放一组相关的数据。
像变量一样,数组有名称,存放在数组中的数值通过一个索引来访问。
数组的定义必须用Dim语句声明,如下:
Dim Names(9) As String '也可以不指定数据类型
Names是保存了10个元素的数组,Names(0)是第一个元素,Names(9)是最后一个元素。
数组元素的赋值如下:
Names(0)="John"
Names(1)="Tom"
…
Names(9)="Xionghui"
数组的第一个元素的索引可以不是0,可以在Dim语句中指定下限:
Dim Names(1 To 16)
Dim Names(5 To 16)
动态数组
有时可能不知道需要多大的数组,这时可以生成动态数组,其长度可以在运行程序时改变。
定义动态数组,和平常一样用Dim语句(或Private和Public),但不要指定长度(或维数):
Dim DynArray()
后面等能确定维数的时候,再用ReDim语句重新确定实际长度(或维数):ReDim DynArray(UserCount)
ReDim语句只能出现在过程之中,它是可执行语句。
但每次执行ReDim语句,数组中原先存放的所有当前值会消失。
但有时可能想改变数组的长度,而不损失原有的数据,幸好Visual Basic提供了Preserve关键字,它就能作到!例如下面语句将数组加大一个元素而不改变原有数据:
ReDim Preserve DynArray(Ubound(DynArray)+1)
由于ubound()函数只能返回静态数组或已经重定义上限的数组上标,否则将出错。
所以我们常使用:
Dim arr()
…
Redim arr(0)
Redim preserve arr(ubound(arr)+1)
这样ubound()取得的上标即数组成员数,实际上是将arr(0)闲置,将有效的数组数据写入arr(1)之后的成员中。
清除数组
Erase arraylist ‘参数为数组列表,格式为array1,array2…,该语句清空并释放数组,一般用于动态数组。
五、变量的使用范围
Visual Basic的变量有三种使用范围。
1,局部变量;
2,模块级变量,也可以叫做窗体级变量,因为窗体和模块是同级的;
3,全局变量。
局部变量只存在于说明它的过程里,为说明一个局部变量,应在一个事件过程中说明。
模块级变量可存在于这个窗体或模块中,可以被所有窗体内的事件过程所引用和改变,说明模块级变量的方法是:
1,按F7键打开代码窗口;
2,在Object列表框中选择(general);
3,在Proc列表框里选择(declarations);
4,用Dim语句说明。
全局变量从程序开始时存在至程序结束,不过全局变量的错误也许会导致致命的错误,你不得不读遍程序来寻找到底在说明地方改变了全局变量。
创建全局变量的方法是:1,从Insert菜单里选Module项,这个命令为一个BAS模块文件显示代码窗口;
2,在Object列表框中选择(general);
3,在Proc列表框中选择(declarations);
4,用Public语句说明全局变量。
六、算术,逻辑,比较运算符
1,算术运算
尽管一台上万元的计算机看来很高科技,但它在算术运算方面并不比一个几十元的计算器强多少。
运算符运算运算符运算
+ 加(也是字符串拼接)\ 整数除
- 减(也是取负值)Mod 取余数
* 乘^ 乘方
/ 浮点数除& 字符串拼接
2,逻辑运算
逻辑运算是对True和False进行操作的运算。
Visual Basic将True的值看成-1,将False 的值看成0。
运算符使用意义
And 变量1 And 变量2 两个量均为True ,才返回True
Or 变量1 Or 变量2 只要有一个量为True ,返回值就为True
Xor 变量1 Xor 变量2 两个量一个为True,一个为False才返回True Not 变量1 Not 变量2 简单地把True 变为False ,把False 变为True
3,比较运算
比较运算是比较两个数或字符串的大小。
运算符意义运算符意义
< 小于>= 大于等于
<= 小于等于= 等于
> 大于<> 不等于
说明:变体型变量必须使用VarType(Var)判断其是否为空,如返回1则为空。
有时候,复杂的运算会把我们搞晕,良好的习惯是加括号。
如:x = ( 5 * ( 8 + 9 ) ) ^ 2,则计算机先处理( 8 + 9 ) ,再处理( 5 * ( 8 + 9 ) ) ,最后才是乘方。
再如:x = ( 5 * 6 ) / 2,这个括号加得似乎没什么意义,但它使我们清晰地知道是从哪儿开始运算的。
七、字符串操作
有时程序需要对字符串进行操作,比如从一个文件的完整路径名中找出文件的名称。
下面介绍几个常用的函数。
1,Len函数
返回字符串的长度。
如Length = Len(“string”),则Length = 6。
2,LCase函数,UCase函数
LCase函数把字符串变为小写字母。
UCase函数把字符串变为大写字母。
如:
x = LCase (“DONGSHAN”)
x = UCase (“visual Basic”)
3,Left函数,Right函数
语法是:
Left (VariableName , N)
Right (VariableName , N)
Left函数从字符串的左边提出N个字符。
Right函数从字符串的右边提出N个字符。
4,Mid函数
语法是:
x=Mid (VariableName , n, m)
Mid函数从VariableName字符串的第n个字符开始取出m个字符。
5,Instr函数
语法是:
Instr (VariableName1 , VariableName2)
Instr函数从VariableName1里找出VariableName2的位置。
如:x = Instr (“ABCD” , ”CD”),此时x = 3。
如果计算机没找到要找的字符串,则这个函数返回0。
6,LTrim函数,RTrim函数,Trim函数
LTrim函数将去掉字符串前的空格。
RTrim函数将去掉字符串后的空格。
Trim函数将去掉字符串前后的空格。
如:x = RTrim (“John “),此时x = “John”。
7,Val函数
语法是:
x = Val (VariableName )
这个函数将字符串里的数字字符串转化为数字。
如:Y = Val (“123”),则Y = 123。
当Visual Basic发现下一个字符不是数字时就停止继续转化。
8,Str函数
与Val函数相反,Str函数将数字转化为字符串。
语法是:
x = Str (VariableName )
八、常量及注释
1,使用常量
如果我们编一个程序从每笔收入中拿出40%用于饭卡的消耗,则在程序中我们会总是用到0.4这个数字。
这时粮食涨价了,我们不得不把0.4全都改成0.5,这就显得非常麻烦。
我。