vb中tab函数

dimiasintegerprinttab(i*6);i这句话是什么意思?还有一个题vb从键盘上输入10个整数按从大到小的顺序显示出来一个命令按钮cmdsortshow两... dim i as integer
print tab (i * 6); i
这句话是什么意思?
还有一个题
vb从键盘上输入10个整数按从大到小的顺序显示出来 一个命令按钮cmdsortshow 两个标签lblsortprompt和lblsortingdata 代码怎么总是溢出啊
Private Sub cmdsortshow_Click()
Dim k, p, intplace, inttemp, s(10) As Integer
For k = 1 To 10
s(k) = InputBox("data=")
Next k
For k = 1 To 9
intplace = k
For p = k + 1 To 10
If s(intplace) > s(p) Then
intplace = p
End If
Next p
inttemp = s(k)
s(k) = s(intplace)
s(intplace) = inttemp
If k < 9 Then
lblsortprompt.Caption = "排序中。。。第" + Str(k) + "趟比较后结果为:"
Else
lblsortprompt.Caption = "排序完成,结果为:"
End If
lblsortingdata.Caption = " "
For p = 1 To 10
lblsortingdata.Caption = lblsortingdata.Caption + Str(s(p))
Next
MsgBox "请观察排序数据变化情况"
Next k
End Sub
展开
 我来答
四舍五不入6
高粉答主

2020-03-24 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:2.1万
展开全部

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

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

扩展资料:

VB中spc(n)和tab(n)都是打印输出时的控制,区别是前者是相对定位后者是绝对定位。

spc(n)就是从当前位置向后移动n个字符,等于就是先输出n个空格再输出接下来的内容。

tab(n)是定位到左边开始算的第n列。假定当前位置是m,当m<=n时,先输出n-m-1个空格再输出接下来的内容;当m>n时,换行,输出n-1个空格再输出接下来的内容。

参考资料来源:百度百科-Tab (Tab函数)

小杰知音
推荐于2017-09-27 · TA获得超过2.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1334万
展开全部
与 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 则占据少于一个定宽的列。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
示怡赖晗雨
2019-02-14 · TA获得超过3993个赞
知道大有可为答主
回答量:3128
采纳率:27%
帮助的人:196万
展开全部
tab(1)表示是在第1列输出;
如果J=1,
TAB((J-1)*9+1)=TAB(J*9-8)=TAB(1),就是在第一列输出;
TAB(J*9)=TAB(9),就是在第九列输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
析洁扈婵
2019-05-19 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:32%
帮助的人:759万
展开全部
使用tab和spc函数可以使用户得到整齐的输出格式。
1、tab函数
tab函数使用语法:
tab(column)
其中column为数值表达式。
tab函数使currentx的值增加到column参数所定义的列位置,即输出定位到第column列的位置。使用tab函数可以在指定的位置上显示出排列整齐的输出。
例:
在第1列输出“姓名”,在第10列输出“性别”,在第20列输出“地址”。
private
sub
form_paint()
print
"123456789012345678901234567890"
print
tab(1);"姓名";
tab(10);
"性别";
tab(20);
"地址"
'注意用分号隔开
end
sub
2、spc函数
spc函数用于显示指定数量的空格。
它的语法如下:
spc(numspaces)
其中numspaces为0-32767之间的整数。
例1:
在第一个字符串“姓名”后插入6个空格,在第二个字符串“性别”后插入6个空格并写上“地址”。
private
sub
form_paint()
print
"123456789012345678901234567890"
print
"姓名";
spc(6);
"性别";
spc(6);
"地址"
end
sub
例2:
打印“数字金字塔”(作业1-11)。
private
sub
form_click()
dim
i,
j,
k
as
integer
for
i
=
1
to
9
print
spc(10)
print
spc(27
-
3
*
i);
for
j
=
1
to
i
print
j;
next
for
j
=
1
to
i
-
1
print
i
-
j;
next
next
end
sub
本题代码也可以为:
private
sub
form_click()
dim
i,
j
as
integer
for
i
=
1
to
9
for
j
=
1
to
2
*
i
-
1
if
j
<=
i
then
print
tab(30
-
3
*
(i
-
j));
j;
else
print
2
*
i
-
j;
end
if
next
j
print
;
next
i
end
sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
呆兔子tbc
推荐于2017-09-26 · TA获得超过997个赞
知道小有建树答主
回答量:757
采纳率:0%
帮助的人:938万
展开全部
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 则占据少于一个定宽的列。

2.

你输入的数据太大。将 s(10) As Integer改为Long就行了。
代码:
Private Sub cmdsortshow_Click()
Dim k, p, intplace As Long, inttemp As Long, s(10) As Long
For k = 1 To 10
s(k) = InputBox("data=")
Next k
For k = 1 To 9
intplace = k
For p = k + 1 To 10
If s(intplace) > s(p) Then
intplace = p
End If
Next p
inttemp = s(k)
s(k) = s(intplace)
s(intplace) = inttemp
If k < 9 Then
lblsortprompt.Caption = "排序中。。。第" + Str(k) + "趟比较后结果为:"
Else
lblsortprompt.Caption = "排序完成,结果为:"
End If
lblsortingdata.Caption = " "
For p = 1 To 10
lblsortingdata.Caption = lblsortingdata.Caption + Str(s(p))
Next
MsgBox "请观察排序数据变化情况"
Next k
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式