vb中tab函数
发布网友
发布时间:2022-05-12 04:38
我来回答
共5个回答
热心网友
时间:2023-11-14 23:26
与 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函数)
热心网友
时间:2023-11-14 23:27
与 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 则占据少于一个定宽的列。
热心网友
时间:2023-11-14 23:27
tab(1)表示是在第1列输出;
如果J=1,
TAB((J-1)*9+1)=TAB(J*9-8)=TAB(1),就是在第一列输出;
TAB(J*9)=TAB(9),就是在第九列输出
热心网友
时间:2023-11-14 23:28
使用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
热心网友
时间:2023-11-14 23:28
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