首页 理论教育 VisualBasic程序设计-字符串与数值的输出差异

VisualBasic程序设计-字符串与数值的输出差异

时间:2023-11-25 理论教育 版权反馈
【摘要】:字符串与数值的输出是有区别的例如:运行结果如图4-5所示,各行说明如下。从第1行可以看出,当输出数值时,数值前面都有一个符号位。从第2行可以看出,如果输出的是字符串,则不留空格,紧凑输出。如果n<1,则把输出位置移到第1列。其中,n是在显示下一个输出项之前插入的空格数。用Print方法输出语文、数学、物理课程的总成绩。Prompt的最大长度约为1024个字符,由所用字符的宽度决定。

VisualBasic程序设计-字符串与数值的输出差异

数据输出是指程序把数据处理结果输出到程序以外的地方。输出可分为:

●把结果直接显示出来,供用户查阅。

●输出到数据库文件

●输出到其他文件。

●输出到其他程序。

这里主要介绍最直接的输出,也就是把结果直接显示出来。常用的有以下3种方法。

●利用Print方法输出。

●利用MsgBox函数输出。

●利用标签输出。文本框也可以用来输出,但是文本框的内容在默认情况下是可以修改的,而程序运行结果是不能让用户修改的。虽然可以通过设置文本框的Locked属性实现不让用户修改,但是可能给用户造成误解,因此文本框一般不用于输出。

1.Print方法

Print方法用于在窗体、立即窗口、图片框、打印机等对象中显示文本字符串和表达式的值。

格式:

978-7-111-49659-5-Chapter04-12.jpg

说明:

1)“对象”可以是窗体(Form)、图片框(PictureBox)或打印机(Printer)。如果省略“对象”,则直接在窗体上显示输出内容。例如:

978-7-111-49659-5-Chapter04-13.jpg

2)“表达式列表”可以是一个或多个表达式,可以是数值表达式,也可以是字符串表达式。对于数值表达式,将输出表达式运算后的值;对于字符串表达式,则照原样输出。如果省略“表达式列表”,则输出一个空行。例如:

978-7-111-49659-5-Chapter04-14.jpg

3)当输出多个表达式时,各表达式之间用逗号“,”或分号“;”(必须是英文半角符号)分隔,将有不同的输出结果。

●按标准格式输出,是指Visual Basic把每行分为若干个区,每个区为14列,各输出项的值自左向右依次输出到各个区中。在Print语句中,如果各输出项之间用逗号“,”分隔,则按标准格式输出。

●按紧凑格式输出。在Print语句中,如果各输出项之间用分号“;”分隔,则按紧凑格式输出(一个数据紧跟着前一个数据输出)。

例如:

978-7-111-49659-5-Chapter04-15.jpg

运行结果如图4-4所示。

978-7-111-49659-5-Chapter04-16.jpg

图4-4 Print语句中逗号和分号的区别

利用Print方法应注意以下几点。

(1)字符串与数值的输出是有区别的

例如:

978-7-111-49659-5-Chapter04-17.jpg

运行结果如图4-5所示,各行说明如下。

从第1行可以看出,当输出数值时,数值前面都有一个符号位。如果是正数,则符号位为一个空格;如果是负数,则符号位为负号“−”;各数值之间留一个空格。

从第2行可以看出,如果输出的是字符串,则不留空格,紧凑输出。

978-7-111-49659-5-Chapter04-18.jpg

图4-5 字符串与数值输出的区别

(2)逗号、分号可以混用

例如:

978-7-111-49659-5-Chapter04-19.jpg

运行结果如图4-6所示。

978-7-111-49659-5-Chapter04-20.jpg

图4-6 逗号、分号混用的输出结果

(3)换行控制

Print语句后如果有分号或逗号,则输出数据后不换行,下面的Print语句会接着上次的最后输出位置继续向后输出;Print语句后如果没有分号和逗号,则输出数据后换行,下面的Print语句会在下面另起一行输出。代码示例如下:

978-7-111-49659-5-Chapter04-21.jpg

输出结果如图4-7所示。

978-7-111-49659-5-Chapter04-22.jpg

图4-7 换行控制

(4)Tab函数

Tab函数与Print方法一起使用,可以对输出进行定位,把显示位置移到由参数n指定的列,即,从第n列开始输出数据。格式如下。

978-7-111-49659-5-Chapter04-23.jpg

其中,n为数值表达式,其值为整数,它是下一个输出位置的列号,表示在输出前把光标移到该列。通常,最左边的列号为1。如果n<1,则把输出位置移到第1列。

当在一个Print语句中有多个Tab函数时,每个Tab函数对应一个输出项,各输出项之间要用分号隔开。如果用逗号分隔,则会导致一些Tab函数失效。因为每个逗号占14列宽,如果n值小于逗号所定位的列,则Tab函数失效。如果后一个输出项的输出位置与前一个输出项的输出位置有重叠,则输出时自动下移一行。例如:

978-7-111-49659-5-Chapter04-24.jpg

第一行用来表示列号。在第3个Print语句中,输出a后,光标已经定位到第9列,而接下来的Tab(5)要在第5列输出,在同一行中已不能实现,所以换行到下一行输出。

运行结果如图4-8所示。

978-7-111-49659-5-Chapter04-25.jpg

图4-8 Tab函数示例

(5)Spc函数

Spc函数用来跳过n个空格,格式如下。

978-7-111-49659-5-Chapter04-26.jpg

其中,n是在显示下一个输出项之前插入的空格数。

Spc函数与输出项之间用分号隔开,例如:

978-7-111-49659-5-Chapter04-27.jpg

978-7-111-49659-5-Chapter04-28.jpg

运行结果如图4-9所示。

978-7-111-49659-5-Chapter04-29.jpg

图4-9 Spc函数(www.xing528.com)

Spc函数从上次输出后的位置开始后移n个空格,然后再输出下一个数据,不会像Tab那样出现重叠现象。

除Spc函数外,还可以用Space函数,该函数与Spc函数的功能类似。

【例4-2】用Print方法输出语文、数学物理课程的总成绩。

代码如下。

978-7-111-49659-5-Chapter04-30.jpg

其中,语句:

978-7-111-49659-5-Chapter04-31.jpg

也可以改为

978-7-111-49659-5-Chapter04-32.jpg

运行结果如图4-10所示。

978-7-111-49659-5-Chapter04-33.jpg

图4-10 利用Print方法输出

2.MsgBox函数

MsgBox函数会弹出一个消息框对话框,在对话框中显示消息,等待用户单击按钮,并返回一个整数,用来识别用户单击的是哪个按钮。格式如下。

978-7-111-49659-5-Chapter04-34.jpg

参数说明:

1)Prompt:必选。字符串表达式,在对话框中显示为消息。Prompt的最大长度约为1024个字符,由所用字符的宽度决定。如果Prompt的内容超过一行,则可以在每行之间用回车符(Chr(13))、换行符(Chr(10))或回车符与换行符的组合(Chr(13)&Chr(10))将各行分隔开。

2)Buttons:可选。数值表达式,是Buttons参数值的总和,指定显示按钮的数量和类型、使用的图标样式、默认按钮以及消息框的强制回应等。如果省略,则默认值为0。Buttons的参数值见表4-2。

表4-2 Buttons的参数值

978-7-111-49659-5-Chapter04-35.jpg

表4-2中,第1组值(0~5)描述对话框中显示的按钮数量和类型,第2组值(16,32,48,64)描述图标样式,第3组值(0,256,512)确定默认使用哪个按钮,第4组值(0,4096)确定消息框的模式,第5组值(65536,524288,1048576)指定消息框窗口是否为前台窗口,以及文本对齐方式和方向。将这些数字相加以生成Buttons参数的最终值,并且只能从每组值中取用1个数字。

注意:这些常量在系统中已经被指定,可以在程序代码中随意使用这些常量名称,而不必使用实际数值。

3)Title:可选。在对话框标题栏中显示的字符串表达式。如果省略,则将应用程序名放在标题栏中。

4)返回值:用户单击不同按钮,就意味着用户做出不同的响应。应用程序需要捕获用户

到底按下的是哪个按钮,然后通过分析再做出不

同的响应。MsgBox函数返回值见表4-3。如果对

话框显示“取消”按钮,则按<Esc>键与单击

“取消”按钮的效果相同。例如:在代码窗口中输入Buttons参数时,不

用记住这些常量的全部名称,Visual Basic会提供

自动输入列表,非常便捷,并且可以提高输入代码的正确性与速度,如图4-11所示。输入前面的几个字符后,系统会自动定位相应的常量,按<Space>键确认即可。

表4-3 MsgBox函数返回值

978-7-111-49659-5-Chapter04-36.jpg

978-7-111-49659-5-Chapter04-37.jpg

图4-11 自动输入列表

下面是几种MsgBox函数的用法,运行后的效果如图4-12所示。

978-7-111-49659-5-Chapter04-38.jpg

978-7-111-49659-5-Chapter04-39.jpg

图4-12 MsgBox函数的不同用法

第1、2条语句是不需要返回值的情况。其特点是不需要变量接收用户单击按钮的返回值,并且要注意,这里参数是没有括号的。

第3、4条语句是需要返回值的情况。其特点是需要有变量接收用户单击按钮的返回值,并且要注意,这里参数必须用括号括起来。

【例4-3】用MsgBox函数输出语文、数学、物理课程的总成绩。

代码如下。

978-7-111-49659-5-Chapter04-40.jpg

其中,语句:

978-7-111-49659-5-Chapter04-41.jpg

也可以改为如下输出:

978-7-111-49659-5-Chapter04-42.jpg

试比较它们的不同。

运行结果如图4-13所示。

978-7-111-49659-5-Chapter04-43.jpg

图4-13 利用MsgBox函数输出

3.利用标签输出

使用标签(Label)控件进行文本信息的输出显示,是通过标签的Caption(标题)属性来实现的。Caption属性是单向操作的,也就是说,只能通过程序修改Caption属性的值,用户是不能直接编辑修改的。例如,图4-2中,窗口最下端就是一个标签,用来输出结果。用标签在窗体上显示输出信息,还需要修改一些属性,如BordStyle(边框样式)、BackColor(背景颜色)、ForeColor(前景颜色)和Font(字体)等,来区别于其他标签。

【例4-4】用标签输出语文、数学、物理课程的总成绩。

代码如下。

978-7-111-49659-5-Chapter04-44.jpg

Label4是输出结果的标签名称,在窗体上一定要存在这个对象。

运行结果如图4-14所示。

978-7-111-49659-5-Chapter04-45.jpg

图4-14 利用标签输出

注意,不可以将语句

978-7-111-49659-5-Chapter04-46.jpg

改为

978-7-111-49659-5-Chapter04-47.jpg

这相当于两次给Label4.Caption赋值,由于变量、属性只保留最后的赋值,因此在最后的结果中将不会显示“总成绩为:”这几个字,而是只显示总成绩。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈