VB中想要用PRINT方法显示一个心型。求高手指点代码的错误之处

用的是TAB。代码如下PrintTab(3);0;Tab(7);0;PrintTab(2);0;Tab(4);0;Tab(6);0;Tab(8);0;PrintTab(1... 用的是TAB。
代码如下
Print Tab(3); 0; Tab(7); 0;
Print Tab(2); 0; Tab(4); 0; Tab(6); 0; Tab(8); 0;
Print Tab(1); 0; Tab(5); 0; Tab(9); 0
Print Tab(2); 0; Tab(8); 0;
Print Tab(3); 0; Tab(7); 0;
Print Tab(4); 0; Tab(6); 0;
Print Tab(5); 0;
但是显示出来的结果 第一行的两个“0”在第一行,但是第二行的四个“0”分别显示在了四个不同的行。接下来也对,但是最后两行又错了。求高手指点!!
我又改了一下代码,一个一个试的,试出了结果。
Private Sub Command2_Click()
Print Spc(2); 0; Spc(5); 0;
Print Tab(1); 0; Spc(1); 0; Spc(1); 0; Spc(1); 0;
Print Tab(2); 0; Spc(2); 0; Spc(2); 0
Print Spc(2); 0; Spc(5); 0;
Print Tab(5); 0; Spc(1); 0;
Print Tab(7); 0
End Sub
这个可以显示出来一个心形,但是我的理解是SPC不能转到下一行,对吗?
能不能全用TAB函数 或者全用SPC呢?
展开
 我来答
lxz1969
2011-04-12 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8524
采纳率:33%
帮助的人:1.1亿
展开全部
把所有的0改为"0"或者把所有的TAB值都增加一倍。
追问
太帅了!真的变了~
不过那是什么原理呢?
0加了“”或者TAB加一倍之后怎么就可以显示到一行了呢?
可以详细解释一下原理么
追答
每个tab值都是8(包括字符在内),如果上一个tab值的末端位置超过下一个tab值的起点,那么第二个tab值因为没处写只好另起一行了。
xuanxuan163com
2011-04-12 · TA获得超过2769个赞
知道大有可为答主
回答量:1709
采纳率:75%
帮助的人:1613万
展开全部
'全用TAB函数
Print Tab(3); 0; Tab(11); 0;
Print Tab(1); 0; Tab(5); 0; Tab(9); 0; Tab(13); 0;
Print Tab(2); 0; Tab(7); 0; Tab(12); 0
Print Tab(3); 0; Tab(11); 0;
Print Tab(5); 0; Tab(9); 0;
Print Tab(7); 0

'全用SPC函数
Print Spc(2); 0; Spc(5); 0
Print Spc(0); 0; Spc(1); 0; Spc(1); 0; Spc(1); 0
Print Spc(1); 0; Spc(2); 0; Spc(2); 0
Print Spc(2); 0; Spc(5); 0
Print Spc(4); 0; Spc(1); 0
Print Spc(6); 0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lihaiguang002
2011-04-12 · TA获得超过201个赞
知道小有建树答主
回答量:172
采纳率:0%
帮助的人:247万
展开全部
第二行和倒数第二行你设置的空格太少了,写下一个“0”至少要三个空格
你把第二行写成tab(2):0:tab(5):0。。。。试试就好的了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
数字影像技术爱好者
2011-04-14 · TA获得超过140个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:152万
展开全部
tab如果打印标记已超出范围,可以自动到下一行位置输出,space()仅输出空格。;需要借用print来换行!

Tab[(n)]的运用

可选的 n 参数是在显示或打印列表中的下一个表达式之前移动的列数。若省略此参数,则 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 则占据少于一个定宽的列。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式