第7章 数据输入输出
本章主要考查数据输入输出方法,包括数据输出方法、数据输入方法、字形设置与打印输出等内容,本章内容通常与其他章节知识点结合起来考。通过对历年试卷内容的分析,本章考核内容约占4%,属于非重点考查对象
7.1 数据输出方法
7.1.1 考点1:print方法
Print方法可以在窗体上显示文本字符串和表达式的值,并可在其他图形对象或打印机上输出信息。
Print方法的一般格式如下:
[对象名称.]Print[表达式][,|;]
说明:
“表达式”是一个或多个表达式,可以是数值表达式或字符串。
当输出多个表达式或字符串时,各表达式用分隔符(逗号、分号或空格)隔开。如果输出的各表达式之间用逗号分隔,则按标准输出格式(分区输出格式)显示数据项。在这种情况下,以14个字符位置为单位把一个输出行分为若干个区段,逗号后面的表达式在下一个区段输出。如果各输出项之间用分号或空格作为分隔符,则按紧凑输出格式输出数据。
Print方法具有计算和输出双重功能.对于表达式,它先计算后输出。
在一般情况下,每执行一次Print方法后会自动换行。为了仍在同一行上显示,可以在末尾加上一个分号或逗号。
例7.1.1 以下语句的输出结果是 [2005年4月 填空第6题]
Print Int(12345.6789*100+0.5)/100
解析:12345.6789*100+0.5=1234568.39,Int(12345.6789*100+0.5)=1234568,最后结果为12345.68。
答案:12345.68
7.1.2 考点2:与Print方法有关的函数
在Print方法中经常使用Tab函数、Spc函数和Space函数,使信息按指定的格式输出。
1.Tab(n)函数
Tab(n):用于把光标往后移动n个字符的位置,从这个位置开始输出信息。要输出的内容放在Tab函数的后面,并用分号隔开。
例如:
Print Tab(25);800
说明:
①参数n为数值表达式,其值为一个整数,它是下一个输出位置的列号,表示在输出前把光标移到该列。最左边的列号为1,如果当前的显示位置已经超过n,则自动下移一行。
②在Visual Basic中,对参数n的取值范围没有具体限制。当n比行宽大时,显示位置为n Mod行宽;如果n<1,则把输出位置移到第一列。
③ 当在一个Print方法中有多个Tab函数时,每个Tab函数对应一个输出项,各输出项之间用分号隔开。
2.Spc(n)函数
Spc(n)函数与Tab函数类似,用于跳过n个空格输出。与Tab函数的区别是,Tab函数从第—列开始计数,n是绝对偏移量。而spc函数则是从前面的输出项后开始计数,n是相对偏移量。
例如:
Print “CHINA”;Spc(8);”CSAI”
该语句首先输出“CHINA”,然后经过8个空格,显示“CSAI”。
说明:
参数n是一个数值表达式,其取值范围为0~32767的整数。Spc函数与输出项之间用分号隔开。
Spc函数与Tab函数的作用类似,而且可以互相代替。
3.Space$ (n)
Space$ (n):用于返回n个空格。计算机等级考试
例7.1.2 Tab函数用于把光标往后移动到自己需要的位置,它与输出的内容要用 符号隔开。
答案:分号(;)
7.1.3 考点3:格式输出(Format $)
Format $用于把数值和日期型的数据按指定的格式输出。Format $的一般格式如下:
Format$(数值表达式,格式字符串)
说明:如果省略格式字符串,则把数值表达式的值转换成字符串。在这种情况下Format$函数的功能与Str$函数基本相同,惟一的差别是当把正数转换成字符串时,Str$函数在字符串前面留有一个空格,而Format$函数则不留空格。其作用见下表。
格式字符串及其作用 | |
字符 | 作用 |
"#" | 表示数字,不在数值字符串的前面或后面补0 |
"0" | 表示数字,宽度不足时,在数值字符串的前面或后面补0 |
"." | 指定小数点的位置 |
"," | 指定千位分隔符的位置(不能放在头部或尾部) |
"%" | 指定百分比符号的位置 |
"$" | 指定美元符号的位置 |
"-/+" | 指定正号和负号的位置 |
"E+/E-" | 指定数字符号的位置 |
例如:使用以下事件过程测试数值的格式化输出。
Private Sub Form_Click()
Print Format$(25634, "########")
Print Format$(25634, "00000000")
Print Format$(256.34, "0000.00")
Print Format$(256.34, "####.##")
Print Format$(12345.67, "####,#.##")
Print Format$(12345.67, "#,####.##")
Print Format$(12345.6, "###,##0.00")
Print Format$(12345.6, "$###,#0.00")
Print Format$(12345.6, "-###,##0.00")
Print Format$(0.123, "0.00%")
Print Format$(12345.6, "0.00E+00")
Print Format$(0.1234567, "0.00E-00")
Print Format$(12345.67, ",#####.##") ’错误
Print Format$(12345.67, "#####,.##") ’错误
End Sub
上述过程运行后,单击窗体,输出结果如图7-2所示。
7.1.4 考点4:Cls方法与Move方法
1.Cls方法
Cls方法用于清除通过画图方法画出的图形或者用Print语句打印的信息,并把光标移到对象的左上角(0,0)。这里的对象可以是窗体或图片框,如果省略“对象”则清除当前窗体内的显示内容。
Cls方法的一般格式为:
对象名.Cls
例如:
Picture1.Cls '清除图片框Picture1内的图形或文本
Cls '清除当前窗体内显示的内容
说明:
如果AutoRedraw=False,则Cls方法不能清除在AutoRedraw为True时所产生的图形和打印的信息。
清除后,当前座标回到对象的左上角。
当窗体的背景是用Picture属性装入的图形时,不能用Cls方法清除,只能通过LoadPicture方法清除。 [page]
2.Move方法
Move方法用来移动窗体和控件,并可改变其大小。Move方法的一般格式如下:
[对象.]Move左边距离[,上边距离][,宽度[,高度]]]
例如:在窗体上画一个文本框和一个图片框,在窗体的单击事件中编写如下代码,改变窗体、文本框和图片框的大小和位置。程序运行后,窗体的单击事件触发前后的结果分别如图7-3和图7-4所示。
Private Sub Form_Click()
Move 800, 800, 4000, 2600
Text1.Move 200, 200, 1500, 1000
Picture1.Move 1800, 200, 1500, 1000
Picture1.Print "Picture1"
End Sub
说明:
Move方法中的“对象”可以是窗体以及除计时器(Timer)、菜单(Menu)之外的所有控件,如果省略“对象”,则表示要移动的是窗体。 “左边距离”、“上边距离”、“宽度”及“高度”均以twip(缇)为单位。
如果“对象”是窗体,则“左边距离”和“上边距离”均以屏幕左边界和上边界为准;
如果“对象”是控件,则以窗体的左边界和上边界为准。
3.TextHeight和TextWidth方法
这两个方法用来辅助设置坐标。其中TextHeight方法返回一个文本字符串的高度值,而TextWidth方法则返回一个文本字符串的宽度值,单位均为twip(缇)。
属性ScaleHeight和ScaleWidth分别用来表示对象的高度和宽度值,它们与方法TextHeght和TextWidth结合使用,可以使字符串居中显示。
属性Height和Width可用来返回或设置窗体、控件、打印机及屏幕的高度和宽度,而Left和Top属性分别用来返回或设置窗体、控件与其左边和顶边的距离,它们的单位均为Twip(缇)。
例如:编写程序,使字符串居中。
Private Sub Form_Click()
FontSize = 16
Sample$ = "China Csai 中国系统分析员"
Print "字符宽/高:", TextWidth(Sample$); TextHeight(Sample$)
x = (ScaleWidth - TextWidth(Sample$)) / 2
y = (ScaleHeight - TextHeight(Sample$)) / 2
CurrentX = x
CurrentY = y
Print Sample$
End Sub
程序运行后,单击窗体,结果如图7-5所示。
例7.1.4 把控件移到相应的位置,并能改变其大小的方法是( )。
A.Cls
B.Move
C.format
D.Tab
答案:B
7.1.5 考点5:MsgBox函数
MsgBox函数的一般格式如下:
MsgBox(msg[,type][,title][,helpfile,context])
功能:MsgBox函数用于在用户操作时,显示一个提示性的对话框,以提示用户进行后面操作的选择。
MsgBox函数的参数及其作用见下表。
MsgBox函数的返回值见下表 。
例如:编写程序,用MsgBox函数判断是否继续执行。
Private Sub Form_Click()
msg$ = "请确认数据是否正确"
Title$ = "数据检查"
x = MsgBox(msg$, 19, Title$)
If x = 6 Then
Print x * x
ElseIf x = 7 Then
Print "请重新输入"
End If
End Sub
程序运行后,单击窗体,弹出如图7-6所示的对话框。如果选择“是”按钮,则返回值为6,在窗体上打印出36;如果选择“否”按钮,则返回值为7,在窗体上打印出“请重新输入”。
例7.1.5 假定有如下的命令按钮(名称为Command1)事件过程:
Private Sub Command1_Click()
x=InputBox(“输入:”, ,”输入整数”)
MsgBox”输入的数据是:”,,”输入数据:”+x
End Sub
程序运行后,单击命令按钮,如果从键盘上输入数10,则以下叙述中错误的是( )。[2006年4月 选择第19题]
A.x的值是数值10
B.输入对话框的标题是“输入整数”
C.信息框的标题是“输入数据:10”
D.信息框中显示的是“输入的数据是:”
答案:A
7.1.6 考点6:MsgBox语句
MsgBox函数也可以写成语句形式,即:
MsgBox Msg$[,type%][,title$][,helpfile,context]
各参数的含义及作用与MsgBox函数相同,由于MsgBox语句没有返回值,因而常用于较简单的信息显示。
例7.1.6 MsgBox函数的返回类型是( )。
A.字符型
B.数值型
C.日期型
D.没有返回值
答案:B
重点提示:考生在考试中应当注意MsgBox函数返回值与MsgBox语句的返回值不同,MsgBox函数返回值为数值,而MsgBox语句则没有返回值。