0

ユーザーがOpenFileDialogから2つのファイルを選択する必要があるプログラムに取り組んでいます。ファイル名やパスをプログラムにハードコーディングしたくありません。これらのファイルの内容をリストボックスの2つの列に表示する必要があります。

これまでのところ、次のコードがあります。

OpenFileDialog.ShowDialog()
    OpenFileDialog.Filter = "Text Files(.txt)|*.txt"
    OpenFileDialog.Title = "Open A Text File"
    OpenFileDialog.Multiselect = True

    Dim FileArray(1) As String

    Dim objreader As New System.IO.StreamReader(OpenFileDialog.FileName)
    Dim i = 0
    ListBox1.Items.Clear()

    ListBox1.Items.Add("Name" & Space$(40) & "ID Number")


    Do While objreader.Peek() <> -1
        If OpenFileDialog.FileNames.Length = 5 Then
            FileArray(0) = objreader.ReadLine & vbCr
        Else
            FileArray(1) = objreader.ReadLine & vbCr
        End If
        ListBox1.Items.Add(FileArray(0) & Space$(40) & FileArray(1))
    Loop

私が考えているのは、最初に選択されたファイル'Names.txt'がFileArray(0)に入力され(ファイル名の長さが5文字であるため)、リストボックスの正しい列に入力されていることです。

ただし、2回目のループでは、2番目のファイル「IDNumbers.txt」が読み取られてFileArray(1)に入力され(「If」に失敗するため)、リストボックスの最初の配列が上書きされます。

私の質問は、各ファイルをFileArray(1)の独自の要素にロードして、それらをリストボックスに正しくロードし、後でデータを操作できるようにする方法です。

4

0 に答える 0