一个VB编程我看不明白

来源:百度知道 编辑:UC知道 时间:2024/06/08 19:17:13
Private Sub Form_Load()
Dim username As String
username = InputBox("请输入用户名")
Dim usernames(3) As String
usernames(0) = "aaa"
usernames(1) = "bbb"
usernames(2) = "ccc"
usernames(3) = "ddd"
Dim flag As Boolean
flag = False
Dim i As Integer
For i = 0 To 3
If username = usernames(i) Then
flag = True
End If
Next i
If flag = False Then
MsgBox "用户确认失败,退出系统"
End
End If
End Sub
我想问一下Dim usernames(3) As String是什么意思啊明明有4条为什么里面不是4而是3 还有就是flag是什么意思 最后是Next i 最好帮我把他们全部解译给我谢谢了 送上50点积分。。。

1、Dim usernames(3) As String的意思:
把usernames定义成一个数组,下标从0开始,共含有四个元素,分别是usernames(0)、usernames(1)、usernames(2)和usernames(3),数据类型是字符串型。
2、“明明有4条为什么里面不是4而是3”:
vb默认的下标是从0开始,也就是定义的时候写上数字n,则定义了一个含有n+1个元素的数组,下标分别是0、1、2、......、n 。所以,前面是3,后面就是4个元素。
3、flag是什么意思?
flag是一个布尔型变量,它只能取两个值:true 或 false。程序用它来记录输入的用户名username是否与系统所存的四个用户名usernames(0)—usernames(3)之中的一个相同。以便进行下一步操作。
4、For i = 0 To 3
If username = usernames(i) Then
flag = True
End If
Next i
这一句的意思是把username 的内容逐个跟usernames(0) —usernames(3)比较,只要有一个相同,就把flag 的值定义成 True 。
Next i这一句的作用是把循环变量的值加上1(循环步长),回到For i = 0 To 3 。

关于循环问题的执行过程和顺序,请参照http://zhidao.baidu.com/question/61429923.html
文中的有关叙述。

Dim usernames(3) As String
这个3为这个字符串数组的上限,由于这里不定义下限,所以默认下限为0,那么这个数组共有0,1,2,3共四个元素.
你也可以这样定义:
Dim usernames(1 to 4) As String
这样