Dim TimSoFar As Double If Not Counting Then Exit Sub TimStart = Timer TimSoFar = TimStart
Do While Timer < TimStart + Duration If Not Counting Then Exit Sub If Timer - TimSoFar >= 1 Then TimSoFar = TimSoFar + 1
RaiseEvent Sec(Timer - TimStart) '激活事件 End If Loop
RaiseEvent Minute End Sub
单击命令按钮后,第一个标签开始计时。每经过60秒之后,第二个标签则加一。如果再次单击命令按钮后,则停止计时。这个示例只是为了说明语句,在实际运行时将占用大量的时钟周期。
Exit语句
描述:提前退出控制结构、循环或过程的语句体。 一、语法: Exit Do Exit For
Exit Function Exit Property Exit Sub
Exit语句的语法包含下面部分: 部分 描述 在Do...Loop循环中使用,退出Do...Loop循环。当Exit Do用在嵌套的Do...Loop循环中时,Exit Do只能退出本层循环,即Exit Do所在的那层循环。 在For...Next或For Each...Next循环中,提供一种退出For循环的方法。当Exit For用在嵌套的For循环中时,Exit For只能退出本层循环。 在Function过程中,可以使用Exit Function退出过程。程序会从调用Function的语句之后的语句继续执行。 在Property过程中,可以使用Exit Property退出过程。程序会从调用Property过程的语句之后的语句继续执行。 在Sub过程中,可以使用Exit Sub退出过程。程序会从调用Sub过程的语句之后的语句继续执行。 Exit Do Exit For Exit Function Exit Property Exit Sub 二、说明:
不要将Exit语句与End语句搞混了。End语句结束一个结构;Exit只是退出一个结构。 三、应用举例:
本示例使用Exit语句退出Do...Loop循环及子过程。建立一标准工程,在窗体上添加一个命令按钮,将下面的程序粘贴过去。 Private Sub Command1_Click() Dim I
Do '建立无穷循环。 I = I + 1
If I = 50 Then Exit Do '当I =50时,退出Do...Loop循环。 Loop
Debug.Print \在立即窗口显示I=50 For I = 50 To 1050 '循环1000次。 If I = 100 Then
Debug.Print \在立即窗口显示I=100 Exit Sub '当I =100时,退出子过程。 End If Next I
Debug.Print 2000 '在立即窗口显示2000 End Sub
FileCopy语句
三、应用举例:
本示例使用FileCopy语句来复制文件。建立一标准工程,在窗体上添加一个命令按钮和两个文本框,将下面的程序粘贴过去。 Private Sub Command1_Click() FileCopy Text1.Text, Text2.Text End Sub
在第一个文本框里输入源文件名,在第二个文本框里输入目标文件名,单击命令按钮。注意:两个文件名都要包括扩展名。
For Each...Next语句
描述:针对一个数组或集合中的每个元素,重复执行一组语句。 一、语法:
For Each element In group [statements] [Exit For] [statements] Next[element]
For Each...Next语句的语法包含下面部分: 部分 element group statements Exit For 描述 必需的,用来遍历集合或数组中所有元素的变量。 必需的,对象集合或数组的名称。 可选的,针对group中的每一项执行的一条或多条语句。 可选的,用于中途退出循环。 二、说明:
当进入循环后,便先针对group中第一个元素执行循环中的所有语句。如果group中还有其它的元素,则继续执行循环中的语句,当group中的所有元素都执行完了,便会退出循环。
可以用Exit For语句随时退出For...Each...Next循环,Exit For应在条件判断语句之后。
For...Each...Next循环也可以组成嵌套式循环。但是每个循环的element必须是唯一的。 三、应用举例:
本示例使用For Each...Next语句搜寻树型视图中的所有节点的Text属性,查找“重庆”字符串。
建立一个标准工程,在Project(工程)菜单上点击Components,然后在Components对话框添加名为Microsoft Windows Common Controls 6.0的企业板控件。
在窗体上添加一个命令按钮、一个文本框、一个列表框和一个树状视图,将下面的程序粘贴过去。
Private Sub Command1_Click() Dim aNode As Node
For Each aNode In TreeView1.Nodes
If aNode.Text = \重庆\如果Text属性值等于\重庆\。 Text1.Text = aNode.Text Exit For '退出循环。 End If
List1.AddItem aNode.Text Next End Sub
Private Sub Form_Activate()
TreeView1.Nodes.Add , , \中国\中国\
TreeView1.Nodes.Add \中国\北京\ TreeView1.Nodes.Add \中国\天津\ TreeView1.Nodes.Add \中国\上海\ TreeView1.Nodes.Add \中国\重庆\ TreeView1.Nodes.Add \中国\广州\ TreeView1.Nodes.Add \中国\沈阳\End Sub
For...Next语句
三、应用举例:
本示例说明一个嵌套循环,内层循环使用For...Next语句创建一个字符串,其内容为由0到9中的5个偶数所组成的字符串,每个字符串之间用逗号隔开。外层循环使用一个变量当作循环计数器,每循环一次,变量值减一,其内容为由9到0十个数字所组成的字符串。建立一标准工程,在窗体上添加一个命令按钮,将下面的程序粘贴过去。 Private Sub Command2_Click()
Dim I As Integer, J As Integer, K As Double, MyString As String For I = 9 To 0 Step -1 '建立10次循环。 For J = 0 To 9 Step 2 '建立10次循环。
MyString = MyString & J '将数字添加到字符串中。 Next J
MyString = MyString & \,\添加一个逗号。 K = K & I Next I
MsgBox MyString & \。\End Sub
Function语句
描述:声明Function过程的名称,参数以及构成其主体的代码。 一、语法:
[Public|Private|Friend][Static]Function name[(arglist)][As type] [statements]
[name=expression] [Exit Function] [statements]
[name=expression] End Function
Function语句的语法包含下面部分: 部分 public private friend static name 描述 可选的。这个Function过程是全局的(公用的),整个工程都可以访问它。 可选的。这个Function过程是窗体的(私有的),只有这个窗体可以访问它。 可选的。只能在类模块中使用。表示该Function过程在整个工程中都是可见的,但对于对象实例的控制者是不可见的。 可选的。表示在调用Function过程结束后,该过程的局部变量值将保留。 必需的。Function的名称;遵循标准的变量命名约定。 arglist type 可选的。调用Function过程时要传递的参数变量列表。多个变量应用逗号隔开。 可选的。Function过程的返回值的数据类型,可以是VB变量的各种类型,或任何用户定义类型,不支持定长的String。 statements 可选的。在Function过程中执行的语句组。 expression 可选的。Function的返回值。 其中的arglist参数的语法以及语法各个部分如下: [Optional][ByVal|ByRef][ParamArray]varname[()][As type][=defaultvalue] 部分 Optional ByVal ByRef 描述 可选的。表示参数不是必需的。如果使用该选项,则arglist中的后续参数都必需是可选的,而且必须都使用Optional关键字声明。 可选的。表示该参数按值传递。 可选的。表示该参数按地址传递,是缺省选项。 可选的。只用于arglist的最后一个参数,表示最后的参数是一个Variant元素ParamArray 的Optional的数组。使用ParamArray关键字可以提供任意数目的参数。ParamArray关键字不能与ByVal、ByRef或Optional一起使用。 varname 必需的。代表参数的变量的名称;遵循标准的变量命名约定。 可选的。传递给该过程的参数的数据类型;可以是VB变量的各种类型,不支持定长的String。如果参数不是Optional,也可以是用户定义类型,或对象类型。 type defaultvalue 可选的。任何常数或常数表达式。只对于Optional参数时是合法的。 二、说明:
如果没有使用Public、Private或Friend显式指定,则Function过程缺省为全局(公用)。如果使用Static,则局部变量的值在调用之后会保留。 Function过程可以调用自己来完成某个特定的任务,也就是说可以实现有效而紧凑编程的强大技术——递归编程。在递归编程时,如果没有指定退出条件(即停止过程自我调用的语句),则程序将无法停止,形成死循环,最终导致堆栈上溢。一般来说Static关键字和递归的Function过程最好不要一起使用。
Function过程与Sub过程的不同之处是:可以在表达式的右边使用Function过程,从而得到该函数的返回值时,这与内部函数,诸如Abs、Rnd或Sin的使用方式一样。
在过程的任意位置都可以给函数名赋值。在Function过程的任何位置都可以用Exit Function语句退出这个过程。 三、应用举例:
该示例使用Function过程过滤非数字键,并限制小数点二次输入。建立一个标准工程,在窗体上添加一个文本框,将下面的程序粘贴过去。
Public Function MySingle(KeyAscii As Integer, MyStr As String) As Boolean Dim Key As String Key = Chr(KeyAscii) Select Case Key
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VB6.0快速入门与精通(含100例)(8)在线全文阅读。
相关推荐: