VB教程cm文档格式.docx
- 文档编号:3962988
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:85
- 大小:165.14KB
VB教程cm文档格式.docx
《VB教程cm文档格式.docx》由会员分享,可在线阅读,更多相关《VB教程cm文档格式.docx(85页珍藏版)》请在冰点文库上搜索。
那么,什么是事件呢?
其实,我们的生活中充满了各式各样的事件,比如说“闯红灯”这个事件的发生会导致被警察追杀、走路撞到电线杆时会痛。
上面的例子虽然有些滑稽,但它可以清楚的解释事件的含义,就象你马上就能体会到的在什么地方单击鼠标时会发生什么,按下键盘时会发生什么,这就是事件,而事件就是这么容易。
要进入VB的代码设计区,只需在需要的控件或窗体上双击鼠标即可得到这样的窗口。
如图1_4,每一个VB程序都由若干小程序组成,这使得用VB编程更加容易,这些小程序,分为“过程”(Procedure)和“函数”(Function),二者都可以传递参数,所不同的是函数有一个返回值,而过程没有,仅此而已。
双击窗体的任何一个部分,将出现一个空的过程:
“Form_Load()”,这是一个非常重要的过程,它所驱动的事件就是该窗体被加载的事件,打个比方,就象计算机启动时的批处理程序(Autoexec.bat)。
这个程序里我们要对控件进行一些设置。
我们刚才也曾对控件进行设置,但那是在程序设置中进行的,有时我们也需要在程序中改变某些控件的属性,通过程序代码。
VB中规定,一个控件属性的访问方法:
名称.属性,于是我们对本程序的控件进行如下设置:
PrivateSubForm_Load()
Picture1.Visible=False
Picture2.Visible=False
Picture3.Visible=False
Text1.Visible=False
Text2.Visible=False
Text3.Visible=False
EndSub
Private表示此过程是局部的,Sub表示子过程的开始,与之相对的是EndSub表示过程的结束,Visible属性表示控件的可见性,这个属性的值有两个True和False。
注意:
VB里对大小写是不加区分的,而且,已定义的名称,以后再用到时,系统会自动把它变成相应的大写或小写。
小知识:
1.VB里的对变量及常量的规矩。
变量一般为Abc的格式,常量为ABC,另外这些变量和常量名不得同VB内的关键字相同,也不可以使用一些特殊符号,这些我们将在以后介绍,注意在学习中养成好习惯,使程序便于自己和别人的浏览。
2.程序书写的窍门:
不要真的一句一句把程序打完,利用快捷键:
拷贝Ctrl+C,剪切Ctrl+T,粘贴Ctrl+P。
按下F5,运行一下程序,现在发现只剩下无线钮了。
如图1_5。
Option4.Left=-2000
Option4.Value=True
Left属性表示控件离窗体左边框的距离,设置为-2000,则在窗体内不会看到这个控件,并使之Value=True。
再运行程序,一切如愿,如图1_6.
为什么不用Option4.Visible=False?
因为,一旦设置无线钮为不可见,那么再使它的Value为真是没有意义的,不信自己试试。
下面我们可以继续进行了。
在刚才的代码窗口里,将Object选择为Option1,Proc选择为Click,即得到一个Option1_Click的过程。
代码如下:
PrivateSubOption1_Click()
Picture1.Visible=True
Text1.Visible=True
Text1.Text="
再见,残酷的世界。
"
相同的建立Option2_Click和Option2_Click:
PrivateSubOption2_Click()
Picture2.Visible=True
Text2.Visible=True
Text2.Text="
今天心情不错。
PrivateSubOption3_Click()
Picture3.Visible=True
Text3.Visible=True
Text3.Text="
Hello,World。
好,我们的开山之作完成了!
按下F5,玩一下吧。
这个程序虽然简单,但也用到了许多基本知识,你开始感兴趣了吗?
^_^
第二章-事件、属性及数据类型
以后两章可能会比较枯燥,但不可否认也很重要,所以为了学好VB,我们一定要打好基础才行。
一、事件
通过上一章的例子,你可能对“面向对象的编程”已经有了一定了解,它是由事件驱动的,对于不同的对象,所能感应到的事件也会不同,譬如说当你把鼠标移进某一区域时就会触发MouseMove事件,这很直观,也容易理解,但也有些事件比较抽象,下面我来对一般的事件进行一下解释。
1.窗体和图象框类事件
Paint事件:
当某一对象在屏幕中被移动,改变尺寸或清除后,程序会自动调用Paint事件。
当对象的AutoDraw属性为True(-1)时,程序不会调用Paint事件。
Resize事件:
当对象的大小改变时触发Resize事件。
Load事件:
仅适用于窗体对象,当窗体被装载时运行。
Unload事件:
仅适用于窗体对象,当窗体被卸载时运行。
2.当前光标(Focus)事件
GotFocus事件:
当光标聚焦于该对象时发生事件。
LostFocus事件:
当光标离开该对象时发生事件。
Focus英文为“焦点”、“聚焦”之意,最直观的例子是,比如有两个窗体,互相有一部分遮盖,当你点下面的窗体时,它就会全部显示出来,这时它处在被激活的状态,并且标题条变成蓝色,这就是GotFocus事件,而相反,另外一个窗体被遮盖,并且标题条变灰,称为LostFocus事件。
上面所说的“光标”并非指鼠标指针。
3.鼠标操作事件
Click事件:
鼠标单击对象。
DbClick事件:
鼠标双击事件。
MouseDown、MouseUp属性:
按下/放开鼠标键事件。
MouseMove事件:
鼠标移动事件。
DragDrop事件:
拖放事件,相当于MouseDown、MouseMove和MouseUp的组合。
DragOver事件:
鼠标在拖放过程中就会产生DragOver事件。
4.键盘操作属性
KeyDown、KeyUp事件:
按键的按下/放开事件。
KeyPress事件:
按键事件。
5.改变控制项事件
Change事件:
当对象的内容发生改变时,触发Change事件。
最典型的例子是文本框(TextBox)。
DropDown事件:
下弹事件,仅用于组合框(ComboBox)对象。
PathChange事件:
路径改变事件,仅用于文件列表框(FileBox)对象。
6.其他事件
Timer事件:
仅用于计时器,每隔一段时间被触发一次。
二、属性
每个对象都有它的属性,并且“Name”属性是共有的,有了“Name”属性才可以在程序中进行调用。
对于属性,可以在窗体的布局操作中完成,也可以在程序运行中改变,这取决你的需要,但有些属性是只读的,它只能在控件布局时改变。
我将在以后的实例中具体介绍各个属性的作用。
三、数据类型
学过编程的人都知道大多数的计算机语言都规定了各自的数据类型,VB也不例外。
其实,在一个最简单的程序中数据类型是可以不作规定的,也就是说,变量可以使用各种类型,但是在一个复杂的程序里,这样做就很危险,因为很可能给同一个变量赋予了不同的类型,而导致程序出错。
所以,为了程序的严谨和便于查看,正确的定义数据类型是必要的。
定义数据的另一个原因是,不同的数据占用不同的内存数量,譬如整型(Interger)数据占2字节,而长整型数据占4个字节,定义合适的数据类型,不管你相信不相信,它可以节省内存!
1.VB常用的数据类型有:
整型(Integer,表示-32768至32767之间的整数)、长整型(Long,表示-2,147,483,648至2,147,483,647之间的整数)、实型(Single,表示-3.37E+38至3.37E+38之间的实数)、双精度实型(Double,表示-1.67E+308至1.67E+308之间的实数),字符(String,每个字符占一字节,可以储存0~65,535个字符),布尔(Boolean,只有两个值True/-1,或False/0)。
2.数据类型的定义方法:
定义变量最简单的方法是用“Dim”关键字,它的语法:
Dim【变量名】As【数据类型】
如:
DimIndexAsInteger
也可以在一行中定义多个变量,如:
DimIndexAsInteger,DimNumberAsLong
把多个变量定义成同一类型可以写成:
DimIndex,NumberAsInteger
有时为了简便,也以符号进行简单的定义,作用是和上面一样的。
整型可以用“%”代替,长整型可以用“&
”代替,实型可以用“!
”,双精度实型可以用“#”定义,如刚才的第一个例子可以写成:
DimIndex%等价于DimIndexAsInteger
对于常量的定义用Const定义,如:
ConstCOLOR=255。
为了在程序中便于查阅,我们对变量和常量的写法进行规定,变量一般用小写方式,常量则全部大写。
使用常量的好处,对于程序中经常出现的数值,应设常量等于它,这样一是书写方便,其二,如果要改变该数值,只需改变定义常量的语句值,而不需改变每个语句,提高了效率。
数组的定义类似于变量定义,所不同的是数组需要指定数组中的元素个数,例如:
DimIntegerArray(99)AsInteger
这个数组中包含100个元素,脚标从0到99。
也可以指定脚标的起始值,例如:
DimIntegerArray(2to10)AsInteger
这个数组含有九个元素,脚标从2到10。
还可以定义多维数组:
DimThreeD(4,2to5,3to6)AsInteger
上例定义了一个三维数组(4×
4×
4)。
记录的定义
记录定义是把控制权交给用户的方法,它让用户可以定义自己的数据类型,它使用关键字“Type”,方法是:
Type【数据类型标识符】
<
域名>
As<
数据类型>
…………………………
EndType
例如,定义一个地址数据:
TypeAddress
StreetAsString
ZipCodeAsString
PhoneAsString
这个地址数据里包括三个属性,街区、邮政编码和电话,可以把某数据定义成此类型:
DimMyHomeAsAddress
要调用或改变“MyHome”的值时,类似于对对象的属性的操作:
变量名.域名=“……”
为了简化书写重复的部分,可以用关键字“With”:
WithMyHome
.Street=”阜成路”
.ZipCode=”100037”
.Phone=”12345678”
EndWith
第三章-VB语言
一、VB与Basic
VB之所以叫做“VisualBasic”就是因为它使用了Basic语言作为代码,所以它们之间有着千丝万缕的关系,如果学过Basic的话,看到VB的程序结构会感到很亲切。
但VB作为新生物,也超越了Basic的限制,有了许多自己的特点:
VB建立了一种新的变量类型――货币型变量,通过使用仅带有二位小数的货币变量,就能避免因使用实型变量而带来的数值积累误差问题。
VB在调用函数(Function)时,必须在函数名后跟一对括号。
VB对白兰地使用范围重新做了规范,在Basic里把隐含变量都当作全局变量,而在VB里对隐含变量都当作局部变量。
VB里的说明语句(Declare),仅支持动态链结库(DLL)的子程序和无变量函数。
使用数组,必须事先用Dim或Redim进行定义。
二、注释语句
在使用注释语句之前必须先了解注释的作用,注释不仅仅是对程序的解释,有时它对于程序的调试也非常有用,譬如说可以利用注释屏蔽一条语句以观察变化,发现问题和错误。
以后注释语句将是我们在编程里最经常用到的语句之一。
在VB里,注释语句有两种,一种是用“Rem”关键字,这跟DOS里的批处理文件的用法一样,还有一种是利用单引号“’”,例如:
‘DimaAsString与
RemDimaAsString的作用是一致的。
三、长语句的分行
在比较早的版本中,因为没有象C等语言用“;
”隔开语句与语句,VB的语句是必须写在一行里的,不过后来版本的VB里如许用分行符“_”把一个长语句分成若干行来存放。
四、条件语句
如果你学过任何一种编程的话,都会知道在程序里控制其流程的有两种语句,条件与循环,VB自然也不例外,其实不管哪种语言,条件和循环的样子都差不多,只不过各有各的规矩罢了。
在条件语句里,我们先来学习“If……Then……”语句。
它的一般语法是:
If<
条件>
Then
语句>
………
EndIf
与C语言不同,VB的条件语句更符合英语的语法,如果Then后面所跟的语句只有一条,可以写成:
Then<
而不用EndIf。
有时我们还会用到
Then
<
Else
更可以在Else里在嵌套If语句,如:
ElseIf
Else
所有这些可以用一个表格表示:
条件1
True
False
语
句
1
条件2
2
条件3
…
………………………
条件N
语句N
语句N+1
用了过多的Else后你会感到很不方便,而且程序结构也不清晰,所以大多数的语言还有Select语句帮助解决这个问题。
VB里的Select语句的格式是这样的:
SelectCase<
变量名>
Case<
情况1>
……
情况2>
情况3>
CaseElse
EndSelect
例如:
SelectCasea%
Case1
Print“a=1”
Case2
Print“a=2”
Print“adoesnotequalto1or2.”
五、循环语句
循环结构是计算机语言里一种重要的结构,它的应用广泛,最简单的例子是累加器的作用,还可以用于穷举法,更直观的例子是把某件事重复指定的次数,这样就不用把要重复的语句输入多次,而通过循环结构完成,非常方便。
C语言里有一个“for”循环语句,VB里也有“For”关键字,作用也差不多,只是VB的“For”语句更容易理解。
它的格式是:
For<
循环变量>
=<
初赋值>
To<
终值>
[Step<
步长>
]
……
Next<
在默认情况下,Step被设为“1”,可以省略,Step也可以设为负值,例如:
Dima=0
ForI=1To10
a=a+I
NextI
这是一个最简单的累加器的例子,把1到10累加在一起,然后赋值给“a”这样的效果和上面是一样的,只不过是倒着加罢了,请看:
ForI=10To1Step–1
While语句也是一个很常用的循环语句,它的形式很多。
DoWhile……Loop语句
While……Wend语句
Do……LoopWhile
While后面都跟逻辑条件判断,“DoWhile……Loop语句”和“While……Wend语句”作用相似,都是先判断While后面的条件是否为“真”,如果为“真”则执行里面的语句,如果为“假”,则退出循环,循环直至条件为“假”终止。
“Do……LoopWhile”与前两者的区别在于,它不管条件的真假,都会先执行“Do”后面的语句,也就是说,它至少执行语句一次。
与While用法相似的还有Until语句,它是直至条件为真则终止循环,句式把While上述三个语句的While换成Until即可,但是因为容易记混,所以我建议只用While即可。
Until<
可以相当于WhileNot<
。
For循环和Whlie循环应当根据适当的环境使用,它们有时也可替换。
六、运算操作
数学运算
+:
加法运算,也适合于字符串的之间的合并运算。
-:
加法运算。
*:
乘法运算。
/:
除法运算。
\:
整除运算。
Mod:
求余运算。
aModb表示a被b整除以后的余数。
^:
幂运算。
A^B表示以A为底的B次方。
关系运算
关系运算也称比较运算,它表示不等式的真或假,VB共提供六种运算符,分别是=(等于),>
(大于),<
(小于),>
=(大于等于),<
=(小于等于)和<
>
(不等于)。
逻辑运算
逻辑运算是对真或假的运算,我将列表说明:
A
B
NotA
非
And与
Or或
Xor
异或
Eqv
相等
Imp
蕴含
T
F
T――TrueF――False
七、数据与定义
本标题的内容已经在上一章向大家详述过,在这里就不再重复。
八、函数与过程
函数与过程有许多相似的地方,它们之间最大也是最本质的区别就在于,函数有一个返回值,而过程只是执行一系列动作,所以可以简单的把函数理解成为一个变量,而VB中的每个事件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 教程 cm