当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年全国计算机等级考试二级VB入门教程第七章(2)
发布时间:2011/5/10 10:19:02 来源:城市学习网 编辑:ziteng

  上次为大家讲解了MsgBox的用法,这次我来讲讲其他的输出方法。

  在程序中我们如果想输出执行的结果最经常要用到什么对象,你可能会告诉我是文本框或标签控件,但事实往往不是这样,因为它们的显示方法单调,不能把各种字体的文字、图形结合在一起,因此最符合要求的控件应该是图片框(PictureBox),或直接就在Form本身上显示,其中要用到一个很重要的方法:“Print”,它的用法是:

  对象.Print Spc(n)/Tab(n);字符串表达式;……

  其中Spc(),表示打印字符之间的空格,n表示空格数目,Tab()表示绝对列数,n表示列数,也就是说你可以指定在那一列上打印,它们用“;”和字符串表达式分开,但也可以是这样:

  对象.Print 字符串表达式1,字符串表达式2,……

  用“,”隔开字符串,这样系统就会按默认的(14列)为一个输出位。每使用一次Print方法,程序就会在指定的对象上打印一行,在用Print则在下一行打印,当对象是窗体时,对象可以省略,例如打印一个表格:

  (注意:要把使用Print的对象的Autoredraw属性设为True,我们知道,当有多个窗口层叠时,哪个窗口得到焦点就会显示到最上面,当它显示时就是一种重绘的过程,Windows系统需要重新计算原来它的图形界面,这是一个非常复杂的过程,不过在VB中只需用一个Autoredraw属性就可以做到了,不信的话可以保持该属性为False,看看会怎样?)

  Private Sub Form_Load() Print '空一行

  FontUnderline = True

  FontSize = 18

  FontBold = True

  Print , "中国VB联盟成员列表"

  Print

  FontUnderline = False

  FontSize = 10

  Print Tab(3); "姓名"; Tab(15); "年龄"; Tab(25); "性别"; Tab(35); "个人简介"

  FontBold = False

  Print Tab(3); "Mars"; Tab(15); "21"; Tab(25); "男"; Tab(35); "……"

  ……………

  ……………

  End Sub

  更多的内容我将在下一章的用VB作图中向你说明。

  当然,在平时用文本框或标签控件显示输出结果也是一种简单的方法,这些和我们以前讲到的大同小异,也就不再进行过多的介绍了,下面我来讲讲对字符串的格式化方法。

  这里要用到Format()函数,它可以对字符串按照指定的形式输出,也可以用做数字、日期的格式化,方法是:

  Format (表达式,[格式化表达式])

  其中格式化的表达式可以为:“0”,“#”,“.”,“,”,“:”,“$”,以及“()+-E+E-”等等表示,下面我将举一个小例子说明Format的所有功能(奇迹!奇迹!这时在打开VB5居然非法操作消失了!):

  请先建立一个项目文件,在Form1上添加两个框架控件(Frame)和若干按钮、文本框、无线钮和标签控件,具体如图所示:(图7-2-1):

7-2-1.gif (5304 字节) [NextPage]

  其中有两排八个按钮为Command1,Index从0到7,又有七个无线钮Option1,Index从0到7,下面为了能够使用,请为它们修改Caption属性,如图7-2-2。

7-2-2.gif (6380 字节)

  然后加入如下代码:

  Dim FormatExp As String

  Dim ThisTime As Date

  Private Sub Command1_Click(Index As Integer)

  FormatExp = FormatExp + Command1(Index).Caption

  Text1.Text = FormatExp

  End Sub

  Private Sub Command2_Click()

  a$ = Format("1234567890.0987654321", FormatExp)

  Label1.Caption = "格式化后的数值:" + a$

  Text1.Text = ""

  FormatExp = ""

  End Sub

  Private Sub Form_Load()

  ThisTime = Now

  Label2.Caption = ThisTime

  End Sub

  Private Sub Option1_Click(Index As Integer)

  Text2.Text = Format(ThisTime, Option1(Index).Caption)

  End Sub

  其中0和#代表数值显示的位数,不同的是如果定义格式化表达式的位数如果多于原表达式,则使用0则补0,使用#则省略0;“.”用来指定小数点的位置;其余字符用来分割数值,如“,”。 结果如下图:7-2-3。

7-2-3.gif (6339 字节)

  关于时间的格式化表达式的定义方法如下表:

  格式符 含义
d 显示不带0的日期(1-31)
dd 显示带0的日期(01-31)
ddd 以Sun-Sat格式显示日期
dddd 以Sunday-Saturday格式显示日期
ddddd 以年月日标准格式显示日期
月/分钟 m 显示不带0的月,如果后面紧跟h或hh则显示不带0的分
mm 显示带0的月,如果后面紧跟h或hh则显示带0的分
mmm 以Jan-Dec显示月份
mmmm 以January-December显示月份
yy 以两位数显示年(00-99)
yyy 以四位数显示年(1900-2040)

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved