我正在使用二維數組來存儲用戶的用戶名和密碼。 users
定義爲全局字符串數組:如何將項目添加到VB6 2D陣列
Dim users(9, 2) As String
如何將用戶添加到該數組?立即設置用戶名和密碼。
我正在使用二維數組來存儲用戶的用戶名和密碼。 users
定義爲全局字符串數組:如何將項目添加到VB6 2D陣列
Dim users(9, 2) As String
如何將用戶添加到該數組?立即設置用戶名和密碼。
循環遍歷用戶和賦值直接阿雷:
Dim cntr As Integer
For cntr = 0 To UBound(cntr) - 1
users(x, 0) = "username"
users(x, 1) = "password"
Next cntr
一旦你有Dim
有明確界限的陣列的用戶,你不能ReDim
它。 你可以試試這個,它不會編譯(數組已經尺寸)
Dim users(9, 2) As String
ReDim Preserve users(10, 2) ' doesn't compile!
,你將有另一個問題將試圖ReDim Preserve
數組的第一個索引。你也可以嘗試,你會得到運行時錯誤(下標超出範圍)
Dim users() As String
ReDim Preserve users(0, 1)
ReDim Preserve users(1, 1) ' runtime error!
取而代之,我想出了以下內容。您需要保留第一個索引以區分username
或password
。這將是大小1(而不是2)。第二個指標會隨着你添加更多的用戶:
Private Sub Form_Load()
Dim users() As String
ReDim users(1, 0)
Add users, "name1", "pw1"
Add users, "name2", "pw2"
End Sub
Private Sub Add(ByRef users() As String, username As String, password As String)
If Not (users(0, 0) = vbNullString And users(1, 0) = vbNullString) Then
ReDim Preserve users(1, UBound(users, 2) + 1)
End If
users(0, UBound(users, 2)) = username
users(1, UBound(users, 2)) = password
End Sub
如果你不能交換的用戶名和密碼,你可能想尋找到一個不同的數據結構,如收集,或自定義類的數組用戶名和密碼字段。
創建包含所有字段
Private Type UserData
strName As String
strPass As String
End Type
用戶定義的類型,然後創建用戶定義類型
Dim udtUser() As UserData
ReDim udtUser(9) As UserData
With udtUser(9)
.strName = "captain hook"
.strPass = "parrotname"
End With 'udtUser(9)
的陣列可能是一個更好的模型將是類的集合/陣列。 – Deanna