| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 643 人关注过本帖
标题:关于Tab()实际运用
只看楼主 加入收藏
xiabojun
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-9-3
结帖率:100%
收藏
已结贴  问题点数:6 回复次数:4 
关于Tab()实际运用
大家好,我遇到的问题是这样的,比如说如果想在 第8行15列输出A,在第5行20列输出B,在第10行23列输出C,像这种类型的输出情况该如何用tab()函数解决呢?在百度搜到的问题都是用For循环实现的阵列之类的,好像达不到我这个输出的目的,写程序的时候老是为这个控制输出的问题疑惑,希望知道的人能够热心帮我解决下,先谢过了!分不多了只有6分,全给了希望别嫌少噢!
搜索更多相关主题的帖子: 百度搜 希望 如何 
2012-06-30 08:44
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
收藏
得分:0 

Print # 语句
      

将格式化显示的数据写入顺序文件中。

语法

Print #filenumber, [outputlist]

Print # 语句的语法具有以下几个部分:

部分 描述
filenumber 必要。任何有效的文件号。
outputlist 可选。表达式或是要打印的表达式列表。


设置

outputlist 参数的设置如下:

[{Spc(n) | Tab[(n)]}] [expression] [charpos]

设置 描述
Spc(n) 用来在输出数据中插入空白字符,而 n 指的是要插入的空白字符数。
Tab(n) 用来将插入点定位在某一绝对列号上,这里,n 是列号。使用无参数的 Tab 将插入点定位在下一个打印区的起始位置。
expression 要打印的数值表达式或字符串表达式。
charpos 指定下一个字符的插入点。使用分号将插入点定位在上一个显示字符之后。用 Tab(n) 将插入点定位在某一绝对的列号上,用无参数的 Tab 将插入点定位在下一个打印区的起始处。如果省略 charpos,则在下一行打印下一个字符。


说明

通常用 Line Input # 或 Input 读出 Print # 在文件中写入的数据。

如果省略参数 outputlist,而且,filenumber 之后只含有一个列表分隔符,则将一空白行打印到文件中。多个表达式之间可用一个空白或一个分号隔开。空白与分号等效。

对于 Boolean 类型的数据,打印的是 True 或 False。无论在什么国别,都不将 True 和 False 这两个关键字翻译出来。

使用操作系统所能够辨认的标准短日期格式可将 Date 类型的数据写入文件中。在未指定日期或时间部件或这些部件的设置为零时,只将指定的部分写入文件中。

如果 outputlist 的数据是 Empty,则不将任何数据写入文件。但是,如果 outputlist 的数据是 Null,则将 Null 写入文件。

对于 Error 类型的数据而言,输出的数据看起来与 Error errorcode 一样。而且无论在什么地区,都不将 Error 关键字翻译出来。

用 Print # 写入文件的所有数据都是国际通用的;也就是说,可以正确利用十进制分隔符将这些数据格式化。

因为 Print # 将数据的图像写入文件,所以必须将各项数据分隔开来,以便正确打印。如果使用无参数的 Tab 将打印位置移动到下一个打印区,则 Print # 也会将打印字段之间的空白写入文件中。

注意 如果今后想用 Input # 语句读出文件的数据,就要用 Write # 语句而不用 Print # 语句将数据写入文件。因为在使用 Write # 时,将数据域分界就可确保每个数据域的完整性,因此可用 Input # 再将数据读出来。使用 Write # 还能确保任何地区的数据都被正确读出。

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2012-06-30 10:07
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
收藏
得分:0 

Tab 函数
      

与 Print # 语句或 Print 方法一起使用,对输出进行定位。

 语法

Tab[(n)]

可选的 n 参数是在显示或打印列表中的下一个表达式之前移动的列数。若省略此参数,则 Tab 将插入点移动到下一个打印区的起点。这就使 Tab 可用来替换国别中的逗号,此处,逗号是作为十进制分隔符使用的。

说明

如果当前行上的打印位置大于 n,则 Tab 将打印位置移动到下一个输出行的第 n 列上。如果 n 小于 1,则 Tab 将打印位置移动到列 1。如果 n 大于输出行的宽度,则 Tab 函数使用以下公式计算下一个打印位置:

n Mod width

例如,如果 width 是 80,并指定 Tab(90),则下一个打印将从列 10 开始(90/80 的余数)。如果 n 小于当前打印位置,则从下一行中计算出来的打印位置开始打印。如果计算后的打印位置大于当前打印位置,则从同一行中计算出来的打印位置开始打印。

输出行最左端的打印位置总是 1。在使用 Print # 语句将数据写入文件时,最右端的打印位置是输出文件的当前宽度,这一宽度可用 Width # 语句设置。

注意 要确保表格列的宽度足以容纳较宽的字符串。

当 Print 方法与 Tab 函数一起使用时,打印的外观将会被分割为均匀、定宽的列。各列的宽度等于选用字体内以磅数为单位的所有字符的平均宽度。但是,在已打印字符的个数与那些字符所占据的定宽列的数目之间不存在任何关系。例如,大写字母 W 占据超过一个定宽的列,而小写字母 i 则占据少于一个定宽的列。

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2012-06-30 10:53
xiabojun
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-9-3
收藏
得分:0 
说实话,你发的这些内容我在百度上也看到了,但我还是不知道该怎么解决我的问题,你能写几句代码给我看吗?来点实际的。
2012-06-30 15:16
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1934
专家分:3012
注 册:2009-12-22
收藏
得分:6 
呵呵,我水平有限,是下面这种效果吗?
你再给代码改一下,应该差不多了。
程序代码:
Private Sub Form_Load()
Dim a As Long
For a = 1 To 10 Step 1
MsgBox (a)   '这里是一个测试语句
Open "1.txt" For Append As #1
Print #1,
If a = 5 Then
Print #1, Spc(20); "A"
ElseIf a = 8 Then
Print #1, Spc(15); "B"
End If
Close #1
Next
End Sub

VB是没有指针的,所以实现起来比较麻烦。

[ 本帖最后由 yuma 于 2012-6-30 16:25 编辑 ]

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2012-06-30 16:20
快速回复:关于Tab()实际运用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031914 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved