2017-02-07 1 views
0

オーダーシステムプログラムを作成しています。このプログラムでは、フォルダ内のすべてのテキストファイルが読み込まれて挿入されるオーダー履歴機能ですListView1に追加します。すべてのテキストファイルをループしてリストビューにデータを挿入したい

ListViewの場合、3つの列があります。

  1. 日 - テキストファイル -

例テキストファイルにもある - テキストファイル

  • 価格である - テキストファイルの名前
  • 注文です:「05/05/2017 "<これは最初の列に移動します。テキストファイルでは、項目と価格は '、'で分割されます。例、 "Chips、0.50"

    ここでは、日付列に使用され、最初の行のアイテムと価格を挿入するコードを示しますが、後のコードは挿入しません。

    ` Imports System.IO 
    Public Class Form1 
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
         Dim path As String = "C:\Users\Example\Desktop\1\Tesst\Dates\" 
         For Each i As String In System.IO.Directory.GetFiles(path) 
          Dim a, b, c As String 
          a = System.IO.Path.GetFileNameWithoutExtension(i) 
          b = System.IO.Path.GetFileName(i) 
          c = System.IO.Path.GetFullPath(i) 
          Dim arrCheck(3) As String 
          ListView1.Items.Add(a) 
          For Each j As String In System.IO.Directory.GetFiles(path) 
           Dim text As String = IO.File.ReadAllText(j) 
           arrCheck = Split(text, ",") 
           ListView1.Items(0).SubItems.Add(arrCheck(0)) 
           ListView1.Items(0).SubItems.Add(arrCheck(1)) 
          Next 
         Next 
        End Sub 
    End Class` 
    

    どのようにして最初のものだけでなくすべての行に対して機能するようにしますか。

    Picture Added

  • +0

    @CallumDAの感謝を。 – user7531258

    答えて

    0

    を試してみて、これを試してみてください:

    Imports System.IO 
    Public Class Form1 
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
         Dim path As String = "C:\Users\Example\Desktop\1\Tesst\Dates\" 
         Dim arrCheck(3) As String 
         Dim lineNum As Integer = -1 
         For Each i As String In System.IO.Directory.GetFiles(path) 
          Dim a, b, c As String 
          a = System.IO.Path.GetFileNameWithoutExtension(i) 
          b = System.IO.Path.GetFileName(i) ' unused 
          c = System.IO.Path.GetFullPath(i) 
          For Each line As String In File.ReadLines(c) 
           lineNum = lineNum + 1 
           ListView1.Items.Add(a) 
           arrCheck = Split(line, ",") 
           ListView1.Items(lineNum).SubItems.Add(arrCheck(0)) 
           ListView1.Items(lineNum).SubItems.Add(arrCheck(1)) 
          Next 
         Next 
        End Sub 
    End Class 
    

    (@CallumDAに叫ぶ)編集のための

    +0

    ありがとうございます! @bobsbeenjamin – user7531258

    +0

    @ user7531258喜んで助けてください! – bobsbeenjamin

    0

    この

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
        Dim path As String = "C:\Users\Example\Desktop\1\Tesst\Dates\" 
        For Each i As String In System.IO.Directory.GetFiles(path) 
         Dim a, b, c As String 
         a = System.IO.Path.GetFileNameWithoutExtension(i) 
         b = System.IO.Path.GetFileName(i) 
         c = System.IO.Path.GetFullPath(i) 
         Dim arrCheck() As String 
    
         Dim text As String = IO.File.ReadAllText(i) 
         arrCheck = Split(text, ",") 
    
    
         Dim NewItem as New ListViewItem(a) 
         NewItem.SubItems.Add(arrCheck(0)) 
         NewItem.SubItems.Add(arrCheck(1)) 
    
         ListView1.Add(NewItem) 
    
        Next 
    End Sub 
    
    関連する問題