簡體   English   中英

數組數組visual basic

[英]array of arrays visual basic

我正在開發一個用於從ZKSoftware指紋生物識別中捕獲Attlogs的模塊,並使用CD附帶的SDK將其發送到MySQL數據庫,到目前為止,我設法成功連接到時鍾,在列表視圖上顯示日志,但我得到了堅持推動多維數組的值,我確定這是一個聲明問題,但我最好尋求幫助......代碼如下:

Dim thisLog(1) As String
Dim allLogs()() As String = New String()() {}

之后在迭代中(i)在listview中加載Attlogs我得到了:

            thisLog = {sdwEnrollNumber, idwYear.ToString() & "-" + idwMonth.ToString() & "-" & idwDay.ToString() & " " & idwHour.ToString() & ":" & idwMinute.ToString() & ":" & idwSecond.ToString()}
            allLogs(i) = {thisLog(0), thisLog(1)}

我得到的錯誤與數組的大小有關,因此可以恢復如何在捕獲數據的每一行創建矩形數組(2)(n)的問題。 提前致謝

我強烈建議你創建一個類來存儲數據。之后有一個List(Of LogEntry)。 這將使您的代碼更容易閱讀。

Class LogEntry

    Public Property EnrollNumber As String
    Public Property EntryDate As DateTime

    Public Sub New(ByVal enrollNumber As String, ByVal entryDate As DateTime)

        Me.EnrollNumber = enrollNumber
        Me.EntryDate = entryDate

    End Sub

End Class

要添加新記錄,您只需創建該類的實例並將其添加到列表中。

    Dim allLogs As New List(Of LogEntry)

    allLogs.Add(New LogEntry(sdwEnrollNumber, New DateTime(idwYear, idwMonth, idwDay, idwHour, idwMinute, idwSecond)))

由於您現在將擁有一個有效的日期而不是字符串的串聯,因此以后可以輕松進行操作。

    Console.WriteLine(allLogs(0).EnrollNumber)
    Console.WriteLine(allLogs(0).EntryDate.ToString("yyyy-MM-dd HH:mm:ss"))

如何用捕獲數據的每一行創建一個矩形數組(2)(n)?

使用清單:

Dim allLogs As New List(Of String())()

allLogs.Add(New String(1) {sdwEnrollNumber, _
     String.Format("{0}-{1}-{2} {3}:{4}:{5}", _
     idwYear, idwMonth, idwDay, idwHour, idwMinute, idwSecond)} )

我也可以使用適當的DateTime構造函數格式字符串來格式化第二部分,具體取決於你如何獲得這些idw變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM