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呢? 展开
代码如下
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呢? 展开
展开全部
'全用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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第二行和倒数第二行你设置的空格太少了,写下一个“0”至少要三个空格
你把第二行写成tab(2):0:tab(5):0。。。。试试就好的了
你把第二行写成tab(2):0:tab(5):0。。。。试试就好的了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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 则占据少于一个定宽的列。
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 则占据少于一个定宽的列。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询