第五章 Visual Basic 输入与输出
1.掌握赋值语句
2. 掌握Print方法
3.理解人机交互函数和过程
本章重点:
赋值语句和人机交互函数
本章难点:
理解人机交互函数和过程
本章内容及要求:
赋值语句是任何程序设计中最基本的语句,赋值语句都是按顺序执行的。 赋值语句的形式为:
[Let] 变量名 = 表达式
[Let] 对象名.属性名 = 表达式
其中,关键字Let为可选项,通常都省略该关键字。
它的作用是计算右边表达式的值,然后赋给左边的变量,表达式的类型应该与变量名的类型一致。
赋值语句
(1) 当表达式为数值型且与变量的精度不相同时,强制转换成左边变量的精度。例如:
iA% = ′iA是整型变量,iA中的结果是5
(2) 当表达式是数字字符串,左边变量是数值类型时,自动转换成数值类型再赋值;但当表达式有非数字字符或空串时,则出错。例如;
n%="123" ' n中的结果是123,与n%=Val("123")效果相同
n%=“1a23” ‘ 出现“类型不匹配”的错误
(3)赋值号左边只能是变量,不能是表达式、常量。如下面的赋值语句。
有关赋值语句的使用说明
sin(x)=x+y ' 左边是表达式
5=sqr(s)+a+b ' 左边是常量
x+y=a+b ' 左边是表达式
是错误的
(4) 不能在同一语句中给多个变量赋值。例如:
a=b=c=1
我们的本意是给a、b、c赋初值1,书写上没有错误。但Visual Basic编译时,将右边两个“=”作为关系运算符处理,先进行b=c的比较,结果为true(-1);接着进行True=1的比较,结果为False(0);最后将false的值赋给a。
有关赋值语句的使用说明
(5)当逻辑型赋值给数值型时,True转换为 -1,False转换为0;反之,非0转换为True,0转换为False。
(6) 任何非字符类型赋值给字符类型,自动转换为字符类型。
(7) 注意N=N+1 是累加中常见的赋值语句,表示将N变量中的值加1后再赋值给N。
有关赋值语句的使用说明
With结构用于对一个单一对象或用户定义对象执行一系列的语句,其格式为:
With 对象
语句块
End With
使用With结构可以对某个对象执行一系列的语句,而不用重复指出该对象的名称。
With 结构语句
为了提高程序的可读性,通常应在程序的适当位置加上必要的注释。Visual Basic中的注释是“Rem”或一个撇号“'”,其格式为:
Rem 注释内容
或
' 注释内容
功能:提高程序的可读性。
注释语句
Stop语句用来暂停程序的执行,使用Stop语句,就相当于执行“运行”菜单中的“中断”命令。其格式为:
Stop
功能:是把解释程序置为中断模式,以便于对程序进行检查和调试。
暂停语句Stop
End语句通常用来结束一个程序的执行。其格式为:
End
当在程序中执行End语句时,将终止当前程序,重置所有变量,并关闭所有的数据文件。
结束语句End
Print方法的一般格式:
[对象名.]Print[<表达式表>][{,|;}]
说明:
[对象名.] 可以是窗体名、图片框名,也可是立即窗口“Debug”。若省略对象,则表示在当前窗体上输出。
用Print方法在图片框和立即窗口对象中输出与在窗体对象中输出完全相同。
。
数据输出Print方法
Print 使用说明
如果Print后不带参数,则输出换行
对象名可以是窗体、图片框或立即窗口(debug),如果省略则表示在当前窗体输出
表达式:可以任意常量、变量、函数或表达式,如果是常量,则原样输出,如果是变量,则输出变量值,如果是函数,则输出函数值,如果是表达式,则先计算表达式值,然后输出其值
当有多个输出项时,用分号或逗号分隔,逗号表示以标准格式输出,分号表示以紧凑格式输出
语句末尾加逗号或分号的作用:使本行输出后不换行(即下一输出语句的输出内容在当前行输出)
Tab(n)函数:左端开始右移动n列
Spc(n)函数:插入n个空格
区别:Tab(N):输出到第N列(从对象的左端开始计算)
spc(N):输出项间空N格
与Print方法有关的函数
1. Move方法
形式 : [对象.]Move 左边距离[,上边距离[,宽度[,高度]]]
作用 : 移动窗体或控件,并可改变其大小。
对象:可以是窗体及除时钟、菜单外的所有控件,省略代表窗体。
左边距离,上边距离,宽度,高度:数值表达式,以twip为单位。如果是窗体对象,则“左边距”和“上边距”是以屏幕左边界和上边界为准。其它则是以窗体的左边和上边界为准。
2. Cls方法
形式 : [对象.]Cls
作用 : 清除运行时在窗体或图形框中显示的文本或图形。
注意 : 不清除在设计时的文本和图形。清屏后坐标当前回到原点。
与Print方法有关属性和方法
3. CurrentX和CurrentY属性
用于文本输出的精确定位,这两个属性分别表示当前输出位置的横坐标和纵坐标。
语法格式:
[对象名.]CurrentX[=x]
[对象名.]CurrentY[=y]
4. ScaleWidth和ScaleHeight属性
这两个属性用来返回或设置指定对象的宽度和高度,只能在代码中进行设置。
语法格式:
[对象名.]ScaleWidth[=Value]
[对象名.]ScaleHeight[=Value]
与Print方法有关属性和方法
5. TextWidth和TextHeight属性
语法格式:
[对象名.]TextWidth(字符串)
[对象名.]TextHeight(字符串)
说明:这两个属性用来返回一个文本字符串的宽度值和高度值。
与Print方法有关属性和方法
输出数据的字符控制
教材P73—75
例
1、InputBox函数
函数形式如下:
变量名=InputBox[$](<提示信息>[,<标题>][,<默认>][,<x坐标位置>][,<y坐标位置>] )
其中:
“提示”:该项不能省略,是字符串表达式,在对话框中作为信息显示,可为汉字。在每行行末加回车Chr(13)和换行Chr(10)控制符,或用VB内部常数:vbCrLf都可以实现分行显示。
“标题”:字符串表达式,在对话框的标题区显示。若省略,则把应用程序名放入标题栏中。“默认”:字符串表达式,当在输入对话框中无输入时,刚该默认值勤作为输入的内容。“ x坐标位置”、
用户交互函数和过程
“y坐标位置”:整形表达式,坐标确定对话框左上角在屏幕上的位置,屏幕左上角不坐标原点,单位为twip。有“$”时, 返回字符类型,否则为数值类型 该函数的作用是打开一个对话框,等待用户输入内容,当用户单击“确定”按钮按回车时,函数返回输入的值,其值的类型为字符串。例如:要在屏幕上显示的对话框: 有下列语句如下:
例如:要在屏幕上显示的对话框: 有下列语句如下: Dim strName As String * 40, strS1 As String * 40 strS1 = “请输入你的姓名” + Chr(13) + Chr(10) + “然后单击确定” strName= InputBox$(strS1, “输入框”, , 100,100) 当键盘输入“王晓明” 后,变量strName获得键盘输入的值.
用户交互函数和过程
例如:有下列语句如下:
Dim x%
x= Val(InputBox(“请输入一个数”, “输入框”, 100))
语句执行后打开如下对话框。
缺省值
标题
提示
用户交互函数和过程
2. MsgBox函数和MsgBox过程
函数形式:变量[%] = MsgBox(提示[,按钮[+图标]+
[缺省按钮]+[模式]][,标题])
过程形式: MsgBox 提示[,按钮[+图标] +[缺省按钮]+
[模式]][,标题]
图标
标题
提示信息
命令按钮
用户交互函数和过程
说明:
1 “标题”和“提示”与InputBox函数中对应的参数相同;
2 “按钮+图标 +缺省按钮+模式”是整型表达式,决定信息框按钮数目、出现在信息框上的图标类型及操作模式(见表)
3 若程序中需要返回值,则使用函数,否则可调用过程。
用户交互函数和过程
按钮及图标值如下:
用户交互函数和过程
所有应用程序挂起,直到用户对信息作出响应才继续工作
4096
vbSystemModal
当前应用程序挂起,直到用户对信息框作出响应才继续工作
0
vbApplicationModal
等待模式
第4个按钮为缺省按钮
768
vbDefaultButton4
第3个按钮为缺省按钮
512
vbDefaultButton3
第2个按钮为缺省按钮
256
vbDefaultButton2
第1个按钮为缺省按钮
0
vbDefaultButton1
默认按钮
说明
数值
内部常数
分组
根据用户所选按钮,函数返回1—7的整数值,其含义如下表: