从文本文件中读取信息并显示在列表框中

时间:2012-10-19 04:30:10

标签: vb.net

我试图弄清楚如何让一个表单用户在列表框中的另一个表单上写入他们想要查看的信息。基本上用户会写入他们想要的详细信息(标题,作者,股票,价格,小说或非小说),然后按记录详细信息,程序将在文本文件中搜索这些值,然后另一个表格会出现列表框,他们将看到所有这些选定的书籍。

这是我到目前为止的代码,它基本上读取文本文件信息并将其存储到数组中:

    Dim Title As String
    Dim Author As String
    Dim Stock As Integer
    Dim Price As Double
    Dim Fiction As String
    Dim NonFiction As String

Private Sub btnRecord_Click(sender As System.Object, e As System.EventArgs) Handles btnRecord.Click


    ''Read the information into a string''
    Dim objReader As New StreamReader("C:\Users\Books.txt")
    Dim fileString As String = objReader.ReadToEnd()
    objReader.Close()
    objReader.Dispose()

    ''Concert string into array''
    Dim Array As Char() = fileString.ToCharArray()
    Array(0) = CChar("BookName")

    ''Declare the string to hold the value''
    Dim resultString As String = ","

    ''Increment each item in the string''
    Dim curChar As Char
    For i As Integer = 0 To (Array.Length - 1)
        curChar = Array(i)
        If (Char.IsLetterOrDigit(curChar)) Then
            Array(i) = Chr(Asc(curChar) + 1)
        End If
    Next

    ''Conver the array back to string''
    Dim newString As String = New String(Array)

    ''Hide the details form when book inventory runs''
    Me.Hide()

    ''display inventory form''
    frmInventory.Show()

End Sub

1 个答案:

答案 0 :(得分:0)

为了澄清,用户输入

  

Dim Title As String      Dim Author As String      昏暗的股票作为整数      昏暗的价格双倍      昏暗的小说作为字符串      Dim NonFiction As String

然后你搜索数据做文件“C:\ Users \ Books.txt”?

因为,假设您是将所有书籍添加到文本文件中的人,并假设您将每本书放在具有相同属性的自己的行上,即

书名,作者,价格等 下一本书......等等

然后我不明白为什么你不会这样做......

  'Storing All Book Information Into One Object
   Public Structure BookDetails
       Dim Title As String
       Dim Author As String
       Dim Stock As Integer
       Dim Price As Double
       Dim Fiction As String
       Dim NonFiction As String
     End Structure
   sub ... 
    Dim theObjContents as new ArrayList
   Using objReader as new StreamReader("C:\Users\Books.txt")


    while objReader.endofstream = false
      theObjContents.add(objReader.readline)
    end while

   End Using        

    For each line in theObjContents
   'Check what you want
       if bookdetails.Title = line.split(whatever your delimiting character is").item(0)

    next
 end sub

我不确定这回答是否有任何问题,如果我完全不想要你想要的东西,请告诉我。