本人刚学VB,有个地方不懂, 请高手教下

来源:百度知道 编辑:UC知道 时间:2024/06/27 19:51:03
这是个打印ASCII的表,中间的地方看不懂,特别是Tab函数和if那句
Private Sub Picture1_Click()
Dim asc As Integer, i As Integer
For asc = 32 To 126
Picture1.Print Tab(7 * i + 2); Chr(asc); "="; asc;
i = i + 1
If i = 7 Then i = 0: Picture1.Print
Next asc
End Sub

Tab 是空出多少格
此程序是错误的 如果你用IF语句你必须使用

If i = 7 Then i = 0

END IF

tab(7*i+2) 就是打印位置,
每行第1个是从第3个字符开始打的.
因为tab(7*0+2)=2, 就是前面空2个格子,从第3个格子开始
然后第2个是从第10个字符开始打的,
因为tab(7 * 1 + 2) = 9就是前面空9个格子 , 从第10个格子开始
依次类推.

后面的i = 7,就print, 就是每行打7个,然后换行的..
将i重新置为0,然后第2行也是打7个,以此类推..

.

程序是对的,IF可以那么用,只要写在一行就能.\
Picture1.Print Tab(7 * i + 2); Chr(asc); "="; asc;
这句的意思就是在Picture1打印,位置为前面有7*I+2个空格,开始打印,ASC字符的ASCII等于ASC
打印出来也就是,A=65