加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

关于VB6中使用Print语句的简单介绍

(2016-06-26 11:20:06)
分类: VB6编程

今天,看到一个提问,全文如下:

vbprint   print    print:print    print y,有什么区别???   跪求vb大神解释,最好有例子说明一下,谢谢。

 

开始想就此问题回答一下,动手后思考,这个问题在百度知道里时有所见,回答这个问题一两句话还真说不清楚,于是产生了一个冲动,把它作为一篇文章,写在这里吧。

 

Print语句是Basic语言中的输出语句(打印语句),我的理解在DOS操作系统时代它具有不可替代的作用,然而在WINDOWS图形界面下,该语句实在没有存在的必要了,至于时至今日,为什么还有这么多的教学与作业内容去围绕它进行,我觉得实在不可理解。记得在VB.NET版本里,作为打印输出Print已经不复存在了。

本来想引经据典,看看专家的有关Print语句的解释,但是搬家数次,谭浩强教授著的作为是我人生中最先学习程序语言的启蒙教学书,终于找不到了。那就只能用自己理解的话语,把有关Print语句的使用,写下来吧!

三点说明,1是下面的例子,全部针对基于Windows XP操作系统,VB6简体中文版,并附有实例图片(窗体字号用3号粗体)。2是所用语言都是大白话,难免不够规范。3建议读者,最好跟这例子进行实践体验,说实在的程序设计是一个实践性非常重要的工作活动。

 

一.最简单的应用

作为输出语句的最简单常用格式:

Print 表达式

1:输出文字类型常量

Print "你好"

窗体显示的结果,如下图:

 

 http://s8/mw690/003tZSItzy72MkcztNt97&690

 2:输出数值类型常量

Print 999

窗体显示的结果,如下图:(输出为数值,系统自动在数值前输出一个空格)

 

http://s13/mw690/003tZSItzy72Mkg5lCcec&690

3:输出文字类型变量

Dim Str1 As String

Str1 = "中国"

Print Str1

窗体显示的结果,如下图:

 

 http://s12/mw690/003tZSItzy72MkjJo8zbb&690

 4:输出数值类型变量

Dim x As Integer

x = 2015

Print x

窗体显示的结果,如下图:(输出为数值,系统自动在数值前输出一个空格)

 

 http://s2/mw690/003tZSItzy72MknKv9T61&690

 

二.常规应用

以上举的例子是最简单不过的例子,在程序实际运用中,会碰到多种不同需求,那么Print语句中,可以使用:

Print

以及通过使用逗号“,”和分号“;”,来达到一些特别要求。

 

1.代码行Print的作用

代码行Print,表示在Print后,什么都没有,这个时候,它的作用,就是输出一个空行。

比如:例5:看看下面代码的输出结果。

Print “中国

Print “欢迎您!

窗体显示的结果,如下图:

http://s7/mw690/003tZSItzy72MkppKfkb6&690

 

6:现在把代码改成如下:

Print “中国

Print

Print “欢迎您!

窗体显示的结果,如下图:

http://s1/mw690/003tZSItzy72MkqMG6kd0&690

 

这样,我们可以理解

Print

的作用,就是输出一个空行。

 

2.逗号“,”的作用

有时候,我们需要在同一行,以列表的饿形式,输出数据,就可以在print语句中利用逗号来实现。

7:代码如下:

Print “学号”,“姓名”,”数学” ,”英语” ,”体育

窗体显示的结果,如下图:

http://s13/mw690/003tZSItzy72MkujvLCcc&690

 

那么,如果不用逗号,会出现什么情况呢?比如:

Print "学号""姓名""数学""英语""体育"

你可以自己试试,看看实际的输出效果。又如:

Print "学号姓名数学英语体育"

你也可以自己试试,看看实际的输出效果。又如:

 

8:代码如下:

Print “学号”,“姓名”,”数学” ,”英语” ,”体育

Print 101,“黄老大”,88 ,86,85

窗体显示的结果,如下图:

 

 http://s15/mw690/003tZSItzy72Mkvy29oae&690

 看到这里,大概您可以有所理解,在这里逗号“,”的作用了吧?下面通过例子,进一步解开你可能要问的问题。

9:代码如下:

Print "123456789012345678901234567890"

Print "A", "B", "C"

Print "语文", "数学", "物理"

Print 90, 98, 95

窗体显示的结果,如下图:

 

为了解开你心中可能的疑问,我故意加了第一行输出效果,你可能的疑问有答案了吗?

 http://s9/mw690/003tZSItzy72Mkx2Iys88&690

3.分号“;”的作用

从上面的例子,告诉我们,可以使用逗号分隔符号,使得在一行里输出多个数据,但是这些数据是按照固定的列位置输出的,有时候我们希望输出的数据按照紧凑格式输出;

10:代码如下:

Print "中国”,”北京

Print "中国”;”北京

窗体显示的结果,如下图:

 

 http://s6/mw690/003tZSItzy72MkCgveR75&690

 可见,分号使得两个数据按照紧凑在一起的格式输出。也许,你会想,既然是要输出“中国北京”,不是可以直接用

Print "中国北京

来实现吗?我的回答是说,很多场合,需要输出的内容是保存在不同的变量里的,而这些变量的数据是事先不知道的。

11:代码如下:

Dim n As Single

n = Val(InputBox("请输入一个任意实数"))     假设你输入的是139

Print "你输入的实数是:";n

窗体显示的结果,如下图:

 

 http://s8/mw690/003tZSItzy72MkE2j8r47&690

 归纳:

Print 空语句,是输出一个空行

逗号“,”的作用:使得相邻数据按照固定列输出

分号“;”的作用:使得相邻数据按照紧凑格式输出

 

三.综合应用

1.一个值得知道的要素

12:代码如下:

Print "中国"

Print "北京"

窗体显示的结果,如下图:

http://s3/mw690/003tZSItzy72MkKvFhU62&690

 

13:代码如下:

Print "中国",                             注意本行结尾有个逗号

Print "北京"

窗体显示的结果,如下图:

 

 http://s9/mw690/003tZSItzy72MkO6RUQ08&690

 14:代码如下:

Print "中国";                             注意本行结尾有个分号

Print "北京"

窗体显示的结果,如下图:

 

 http://s1/mw690/003tZSItzy72MkRUTxS20&690

 通过这三个例子,我们应该掌握一个值得知道的要素:当前输出位置,当你要输出特殊的格式的时候,你要时刻掌握这个所谓的“当前输出位置”,也可以理解,接下来输出数据的起始位置。

比如:当执行了代码

Print "中国"

那么,我们应该知道,系统在窗体上输出完"中国"以后,另起了一行,为下一个输出做准备了,下一个输出是在新的一行的第1列位置上。

又如:当执行了代码

Print "中国",

我们应该知道,系统在窗体上输出完"中国"以后,因为在输出的数据后面有一个逗号,所以并没有另起了一行,而是把下一个输出位置定在同一行的下一个输出列表列的位置上。

再如:当执行了代码

Print "中国";

我们应该知道,系统在窗体上输出完"中国"以后,因为在输出的数据后面有一个分号,所以并没有另起了一行,而是把下一个输出位置定在同一行的紧跟在前一个输出数据的后面下一个输出列的位置上。

 

2.综合应用举例

我们经常会碰到这样的题目要求,把若干个数据,按照每行输出n个数据的格式,输出显示。

比如:将1-100,这100个自然数,按照每行10个输出,同一行数据之间用1个空格分隔。(注意:该空格,正好有系统自动提供,可以不额外考虑。)

15:一开始,拿到这个题目,也许我会用以下代码:

Dim i As Integer

For i = 1 To 100

   Print i

Next i

窗体显示的结果,如下图:

http://s11/mw690/003tZSItzy72MkZeCng1a&690

 

如果,仔细分析,你很容易得到结论,这100个数,是按照每行一个输出的,因为每执行一次Print i后,会换行,为下一次输出做准备。

那么,改用逗号呢?显然不是逗号,因为逗号使得下一次输出的数据处于下一个列表的列位置。只有从使用分号上去动脑子了。

16:先试试验,以下代码:

Dim i As Integer

For i = 1 To 100

   Print i;

Next i

窗体显示的结果,如下图:

http://s7/mw690/003tZSItzy72Ml47vlI26&690

 

分析,在此基础上,要当同一行输出的数据个数满10个,就换行,那么就满足题目的要求了,那么怎么能够换行呢,那不就是用代码Print输出一个空白并换行吗?关键怎样能够实现同一行输出的数据个数满10个,就执行一次Print呢?

一个想当然的方法,可以另外用一个变量来累计输出数据的次数,每输出一次,该变量加1,并马上判断是否为10,如果等于10,就执行一次Print语句,然后又把该变量设置为0

17:代码如下:

Dim n As Integer

Dim i As Integer

n = 0

For i = 1 To 100

   Print i;

   n = n + 1

   If n = 10 Then

      Print

      n = 0

   End If

Next i

窗体显示的结果,如下图:

 

http://s11/mw690/003tZSItzy72Ml7Uv8Kaa&690

当然,这里完全可以使用VBMOD运算,来实现对每行输出数据个数的判断,不过避开MOD运算的用意,只是为了重点围绕本主题而已。

 

写到这里,我想有关Print以及分隔符号(逗号与分号)的使用,应该写清楚了?最后简单介绍在Print语句中,使用Tab()函数来定位列位置的方法。

 

四.Tab()函数

这个问题,纯粹用几个例子来说明:

18:代码如下:

Print "中国"

Print Tab(1); "中国      '从本行第1列位置开始输出

Print Tab(2); "中国      '从本行第2列位置开始输出

Print Tab(3); "中国      '从本行第3列位置开始输出

Print Tab(4); "中国      '从本行第4列位置开始输出

窗体显示的结果,如下图:

 

 http://s12/mw690/003tZSItzy72MlbZHDR7b&690

 19:代码如下:

Print "1234567890"

Print Tab(1); "中国"; Tab(8); "北京" '从本行第18列位置开始分别输出两个数据

窗体显示的结果,如下图:

http://s12/mw690/003tZSItzy72Mlg0gCneb&690

 

增加代码行 Print "1234567890" 的用心良苦,读者应该自己去体会吧?

 

至此,我知道的就是这些了,有不正确之处,请批评指正!

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有