如下两个程序,就一个函数的书写形式不一样,但我发现得到的结果也有点不一样space()和spc(),上面个程序的结果正常,下面个得到的结果就不太整齐,这是为什么?主要问题在第一个spc()上.
程序一:
Private Sub Form_Load()
  Print: Print: Print
  Dim i
  Show
  For i = 1 To 5
    Print Tab(5 + i); String(6 - i, "@"); Space(10); _
    String(i, "#"); Space(6); String(6 - i, "@")
  Next i
End Sub
程序二:
Private Sub Form_Load()
  Print: Print: Print
  Dim i
  Show
  For i = 1 To 5
    Print Tab(5 + i); String(6 - i, "@"); Spc(10); _
    String(i, "#"); Spc(6); String(6 - i, "@")
  Next i
End Sub

解决方案 »

  1.   

    Spc 函数
          与 Print # 语句或 Print 方法一起使用,对输出进行定位。语法Spc(n)必要的 n 参数是在显示或打印列表中的下一个表达式之前插入的空白数。说明如果 n 小于输出行的宽度,则下一个打印位置将紧接在数个已打印的空白之后。如果 n 大于输出行的宽度,则 Spc 利用下列公式计算下一个打印位置:currentprintposition + (n Mod width)例如,如果当前输出位置为 24,而输出行的宽度为 80,并指定了 Spc(90),则下一个打印将从位置 34 开始(当前打印位置 + 90/80 的余数)。如果当前打印位置和输出行宽度之间的差小于 n(或 n Mod width),则 Spc 函数会跳到下一行的开头,并产生数量为 n – (width – urrentprintposition) 的空白。注意 要确保表格栏宽度足以容纳较宽的字符串。当 Print 方法与间距字体一起使用时,使用 Spc 函数打印的空格字符的宽度总是等于选用字体内以磅数为单位的所有字符的平均宽度。但是,在已打印字符的个数与那些字符所占据的定宽列的数目之间不存在任何关系。例如,大写英文字母 W 占据超过一个定宽的列,而小写字母 i 则占据少于一个定宽的列。
      

  2.   

    Space 函数
          返回特定数目空格的 Variant (String)。语法Space(number)必要的 number 参数为字符串中想要的空格数。说明Space 函数在格式输出或清除固定长度字符串数据时很有用。
      

  3.   

    同意 zuoxingyu(赚点钱,去西藏放羊。)  的说法。