10.9.1 强制显式声明变量语句 (Option Explicit)
避免因为写错变量名而导致错误
例如,交换变量 a 、 b 的值
Temp=a
a=b
b=Tmp ' 把 Temp 写错成 Tmp
运行结果是使 b 的值为 0 。若改成:
Option Explicit ‘ 模块级声明
Dim a As Integer,b As Integer,Temp As Integer
. . .
Temp=a
a=b
b=Tmp
运行时 VB 就会发出警告 “Variable not defined”( 变量未定义 ) ,只有把 Tmp 改为 Temp 后才恢复正常
10.9.2 定义变量类型
格式: Def 类型标志 字母范围
示例: DefInt m-P
10.9.3 自定义数据类型
用户可以利用 Type 语句定义自己的数据类型
[Private|Public] Type 数据类型名
元素名 1 As 类型名 1 ……
End Type
10.9.4 定义枚举类型
将变量的值一一列举出来,变量的值只限于列举出来的值
[Public|Private] Enum 枚举类型名
成员名 1 [= 常数表达式 ] ……
End Enum
10.9.5 GoTo 型控制
包括 GoTo 语句和 On...GoTo 语句
1. GoTo 语句
语法格式: GoTo { 行号 | 标号 }
功能:改变程序的执行顺序,跳转到程序中指定的行开始执行
例 10.15 应用 GoTo 语句示例
Private Sub Form_Load()
Show
Print " 整型数 "
GoTo Line1 ' 跳转到标号 Line1 指定的行
Print " 单精度数 "
Line1:
Print " 字符串 "
End Sub
2. On...GoTo 语句
On...GoTo 语句用来实现分支选择控制 ( 类似于 Select...End Select)
语法格式: On 数值表达式 GoTo { 行号表 | 标号表 }
功能:根据 “ 数值表达式 ” 的值,控制转移到几个指定的语句行中的一个语句行。
例如
On K GoTo Line1, Line2, Line3
执行过程:将 K 四舍五入取整,如果其值为 1 ,则转移到 Line1 标号行;如果为 2 ,则转移到 Line2 标号行;如果为 3 ,则转移到 Line3 标号行。如果 K 的值等于 0 或大于 3 ,则自动执行本语句的下一个语句
10.9.6 打印机输出
1. 直接输出
把信息直接送往打印机
格式: Printer.Print [ 表达式表 ]
(1)Page 属性:设置当前页号
格式: Printer.Page
(2)NewPage 方法:实现换页操作
格式: Printer.NewPage
(3)EndDoc 方法:结束文件打印
格式: Printer.EndDoc
例 10.16 在打印机上打印文字 “ 计算机程序设计 ”
Private Sub Command1_Click()
Printer.FontName = " 隶书 "
Printer.FontSize = 12
Printer.Print “ 计算机程序设计 ”
' 将文本放到 Printer 对象中
Printer.EndDoc ‘ 打印结束
End Sub
2. 窗体输出
先把要输出的信息送到窗体上,再用 PrintForm 方法把窗体上的内容打印出来
格式: [ 窗体名 .]PrintForm
功能:把窗体上的信息输出到打印机
10.9.7 闲置循环与 DoEvents 语句
VB 只有在发生事件时才执行相应的事件过程,如果没有事件发生,则应用程序处于 “ 闲置 ” 状态
所谓闲置循环,就是当程序处于闲置状态时,用一个循环来执行某些操作
为使在闲置循环中也能响应其他操作和事件, VB 提供了一个 DoEvents 语句,其格式为:
[ 窗体号 =]DoEvents[()]
功能:在闲置循环中,通过 DoEvents 语句可以把控制权交给系统去处理所发生的事件
例 10.17 闲置循环和 DoEvents 应用示例
(1) 建立一个文本框和二个命令按钮,两个事件过程:
Private Sub Command1_Click()
Text1.FontSize = Text1.FontSize + 1
End Sub
Private Sub Command2_Click()
End
End Sub
(2) 编写 Sub Main 过程
Private Sub MAIN()
Form1.Show
Do While True ' 进入 “ 闲置循环 ”
x = DoEvents
' 把控制权交给系统去处理所发生的事件
' 否则不能处理其他事件
Form1.Text1.Text = Time
Loop
End Sub
(3) 把 Sub Main 设置为启动对象
程序运行后,进入闲置循环,此时将在文本框 Text1 中不断地显示系统时间。
由于加入 DoEvents 函数,则可以在执行闲置循环过程中执行其他操作,如重设窗体的大小及最大化 / 最小化,还能响应命令按钮 Command1 和 Command2 的单击事件等。
当其他操作完成后,又会回到闲置循环中继续执行 |