语句的名字就确定相应的数据类型: 例如整型:DefInt
Deftype语句只能在模块或窗体使用(即不能在过程内使用)。Deftype语句只在使用该语句的模块或窗体中有效。而其它模块或窗体不受影响。如果不用Deftype语句显式地声明,则所有变量、参数、Function过程、以及PropertyGet过程的缺省数据类型都是Variant。 对于用Deftype语句声明的变量等,可以使用Dim语句重新声明,覆盖这种缺省数据类型。
三、应用举例:
该示例演示了Deftype语句的用法,来设置那些名称是以指定字符开头的变量。建立一标准工程,在窗体上添加一命令按钮,将下面的程序粘贴过去。
DefInt A-K'将名称以A至K开头变量的缺省数据类型设为Integer类型。 DefStr L-Z'将名称以L至Z开头变量的缺省数据类型设为String类型。 Dim Pai As Double '赋给一个Double类型。 Private Sub Form_Activate() Aint = 4
AVar = \错误\导致\错误。 MyString = \你好\
Pai = 3.14 '允许指定为一个Double数。 Text1.Text = Aint
Text2.Text = MyString Text3.Text = Pai End Sub
运行程序,首先提示“Type mismatch”错误,说明A开头的变量已被声明成整型(Integer),不能用字符串赋值。将AVar = \错误\删除,此时Text1.Text显示4,Aint为整型(Integer);此时Text2.Text显示你好,MyString为字符串型(String);Pai由于用Dim语句重新声明为双精度型(Double),Text3.Text显示3.14。
DeleteSetting语句
描述:删除指定的Windows注册表的子键。 一、语法:
DeleteSetting appname,section[,key]
DeleteSetting语句的语法包含下面部分: 部分 appname 描述 必需的。字符串表达式,包含要删除注册表项设置(子键)的应用程序或工程的名称。 必需的。字符串表达式,包含要删除注册表项设置(子键)的区域名称。如果只有appname和section,则将指定的区域连同所有有关的注册表子键都删除。 可选。字符串表达式,包含要删除的注册表项设置(子键)。 section key 二、说明:
如果不熟悉注册表,千万不要修改它,否则可能会使系统瘫痪。
如果提供了所有参数,则删除指定的注册表项设置(子键)。如果试图使用不存在的区域或注册表子键上的DeleteSetting语句,则发生一个运行时错误。 三、应用举例:
下列示例先使用SaveSetting语句,在注册区里建立试验应用程序的项目,然后使用DeleteSetting语句将之删除。因为没有指定key参数,整个区段都会被删除掉,包括区段名称及其所有的项设置(子键,key)。
建立一标准工程,在窗体上添加两个命令按钮,将下面的程序粘贴过去。 Private Sub Command1_Click() '在注册区中添加一些设置值。
SaveSetting appname:=\试验\ SaveSetting \试验\End Sub
Private Sub Command2_Click() '删除区段及所有的设置值。 DeleteSetting \试验\End Sub
单击命令按钮1,然后打开注册表,你可以在HKEY_CURRENT_USER\\Software\\VB and VBA Program Settings找到刚才添加的内容。关闭注册表。
单击命令按钮2,然后打开注册表,那么在HKEY_CURRENT_USER\\Software\\VB and VBA Program Settings已经删除了刚才添加的内容。关闭注册表。
Dim语句
描述:声明变量并分配存储空间。 一、语法:
Dim[WithEvents]varname[([subscripts])][As[New]type] Dim语句的语法包含下面部分: 部分 描述 可选的。关键字,只有在类模块中使用才是合法的。WithEvents说明本变量是WithEvents 一个用来响应由ActiveX对象触发的事件的对象变量。不能使用WithEvents创建数组。WithEvents不能和New一起使用。 varname subscripts 必需的。变量的名称;遵循标准的变量命名约定。 可选的。数组变量的维数。 可选的。可隐式地创建对象的关键字。如果使用New来声明对象变量,则在第一次引用该变量时将新建该对象的实例,因此不必使用Set语句来给该对象引用赋值。 可选的。变量的数据类型;可以是VB变量的各种类型、用户定义类型、或对象类型。所声明的每个变量都要一个单独的As type子句。 New Type subscripts参数使用下面的语法:
[lower To]upper[,[lower To]upper]...
[lower To]upper意思为下界到上界。如果不显式指定lower,则数组的下界由Option Base语句控制。如果没有Option Base语句则下界为0。
二、说明:
局部变量有两种,一种是模块或窗体级局部变量,另一种是过程级局部变量。在一个语句里可以声明多个变量。在模块或窗体级别中用Dim声明的变量,为模块或窗体级局部变量,对该模块或窗体中的所有过程都是可用的。在过程级别中用Dim声明的变量,为过程级局部变量,只在过程内是可用的。
用Dim语句可以在模块或窗体级或过程级中声明变量的数据类型。例如,下面的语句声明了String类型的变量。 Dim MyStr As String
也可以使用Dim语句来声明变量的对象类型。下面的语句为树型视图(TreeView)的新建项目(节点)声明了一个变量。 Dim nd As New Node
如果定义对象变量时没有使用New关键字,则在使用该变量之前,必须使用Set语句将该引用对象的变量赋值为一个已有对象。 Dim nd As Node
Set nd = TreeView1.Nodes.Add(Relative,Relationship,Key,Text,Image,SelectedImage)
也可以使用带空圆括号的Dim语句来声明动态数组。在声明动态数组后,可以在过程内使用ReDim语句来重新定义该数组的维数和元素。
注意:当在过程中使用Dim语句时,通常将Dim语句放在过程的开始处。 三、应用举例:
该示例演示使用Dim语句来声明变量,也演示了用Dim语句来声明数组。 Dim MyNum As Integer '声明整型变量
Dim AnyNum As Single, MyStr As String, MyValue As Double '一个语句里声明多个变量 Dim AnyValue '声明变体变量
Dim AnyStr As String * 20 '声明定长字符串变体变量
Dim MyWeek(7) As String '声明一维字符串数组,元素为七个
Dim MySeveral(6, 2, 3) As Double 'MySeveral是一个三维双精度数组
Dim AnySeveral(6 To 15, 10 To 19) As Integer 'AnySeveral是一个显式指定了上下界的二维整型数组。
Dim MyDevel() 'MyDevel是一个变体动态数组
Do...Loop(循环)语句
描述:循环语句,有两种变形,一种是当条件为True时,重复执行一个语句块中的命令。另一种重复执行一个语句块中的命令,直到条件变为True时。 一、语法:
Do[{While|Until}condition] [statements] [Exit Do] [statements]
Loop
或者可以使用下面这种语法: Do
[statements] [Exit Do] [statements]
Loop[{While|Until}condition]
Do...Loop语句的语法包含下面部分: 部分 While Until 描述 关键字,可选。当条件为True时,重复执行一个语句块中的命令。 关键字,可选。重复执行一个语句块中的命令,直到条件变为True时。While和Until只能选择一个。 可选参数。数值表达式或字符串表达式,其值为True或False。如果conditioncondition 是Null,则condition会被当作是False。当condition为True时,执行Do While循环或从Do Until循环跳出。 statements 一条或多条命令,它们将被重复执行。 Exit Do 可选。当statements包含条件且条件满足时退出循环。 二、说明:
一般来讲,While和Until只能而且必须选择一个。如果不选,将进入无限循环,这时只能用Exit Do语句跳出循环。
在Do…Loop中可以在任何位置放置任意个数的Exit Do语句,随时跳出Do…Loop循环。Exit Do通常用于条件判断之后,当满足条件后,Exit Do语句将控制权转移到紧接在Loop命令之后的语句。
Do…Loop也可以采用嵌套方式。如果Exit Do使用在嵌套的Do…Loop语句中,则Exit Do会将控制权转移到Exit Do所在位置的外层循环。 注意:两种Do…Loop语句运行方式是不同的。 Do[{While|Until}condition] [statements] Loop
采用这种循环,程序先判断条件,若条件满足,执行语句块中的命令,否则退出循环。 Do
[statements]
Loop[{While|Until}condition]
采用这种循环,程序先执行语句块中的命令,然后判断条件,若条件满足,重复执行语句块中的命令,否则退出循环。因此在此循环中,至少要执行一次语句块中的命令。 三、应用举例:
本示例示范如何使用Do...Loop语句。建立一个标准工程,在窗体上添加两个命令按钮,将下面的程序粘贴过去。 Private Sub Command1_Click()
Dim Check As Boolean, Counter As Integer Check = True: Counter = 0 '设置变量初始值。
Do '外层循环。
Do While Counter < 20 '内层循环。 Counter = Counter + 1 '计数器加一。 If Counter = 10 Then '如果条件成立。 Check = False '将标志值设成False。 Exit Do '退出内层循环。 End If Loop
Loop Until Check = False '退出外层循环。
MsgBox \End Sub
Private Sub Command2_Click()
Dim Check As Boolean, Counter As Integer, I As Integer Check = True: I = 0 '设置变量初始值。 Do Until Check = False '外层循环 Counter = 0
Do While Counter < 20 '内层循环。 Counter = Counter + 1 '计数器加一。 Loop I = I + 1
If I = 10 Then Check = False '如果条件成立。将标志值设成False。 Loop
MsgBox \End Sub
单击命令按钮1,内层的Do...Loop语句循环到第10次时将标志值设置为False,并用ExitDo语句强制退出内层循环。外层循环则在检查到标志值为False时,马上退出。MsgBox显示“Counter=10;Check=False。” 单击命令按钮2,内层的Do...Loop语句循环到第20次时退出内层循环。外层的Do...Loop检测I=10时退出外层循环。MsgBox显示“Counter=20;I=10;Check=False。”
End语句
描述:结束程序、过程或语句。 一、语法: End
End语句的语法有以下几种形式: 部分 End End Function 描述 必要的,用于结束程序 必要的,用于结束一个Function过程
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VB6.0快速入门与精通(含100例)(6)在线全文阅读。
相关推荐: