1

これはおそらくそれほど難しいことではありません。しかし、2 つのテキスト ファイルがあります。1 つ目は、特定のキーワードのリストを取得しています。これらのキーワードがコンボボックスに入力された場合はそれぞれ。

ここで、このコンボボックスからアイテムの 1 つを選択すると、他のテキスト ファイルで同じキーワードを検索し、そのポイントから次のキーワードまで読み取ります。そして、各行をリストボックスにフィードします。私が自分自身を理解してくれることを願っています。

おそらく、この目的のために INI ファイルを使用する必要がありますが、私にとってはそれほど重要ではありません。

テキストファイルの構造は次のとおりです。テキストファイル 1:

London
Oslo
New York
Hamburg
Amsterdam

2 番目のテキスト ファイルの構造は次のとおりです。テキストファイル 2:

'London'
Apples
Oranges
Pears

'Oslo'
Pasta
Salami
Monkeyballs

'New York'
Dada
Duda
Dadadish

などなど

これは可能ですか?このようにしたい理由は、完全に動的なシステムを作成するためです。これらのテキストファイルに保存されている情報に完全に依存するもの。後でこれらの結果からかなり複雑な文字列を作成します。

これまでのところ、最初のファイルを読み取り、各行をコンボボックスに追加するためにこれを取得しました。

Dim oReadMenuFunction as System.IO.StreamReader
oReadMenuFunction = IO.File.OpenText("textfile1.txt")

Do While oReadMenuFunction.Peek <> -1
    Dim LineIn as String = oReadMenuFunction.ReadLine()
    Combobox.Items.Add(LineIn)
Loop
4

1 に答える 1

1

これは、2番目のファイルを解析するために使用できるサンプル関数です。引数としてキーワードを取り、関連するアイテムを返します。

Function ReadData(ByRef keyword As String) As IEnumerable(Of String)
    Dim result = New List(Of String)
    Using reader = New StreamReader("file2.txt")
        Dim line As String = reader.ReadLine()
        Dim take = False
        Do While line IsNot Nothing
            If line.StartsWith("'") Then
                take = False
            End If
            If String.Equals("'" + keyword + "'", line) Then
                take = True
            End If
            If take And Not String.IsNullOrEmpty(line) And Not line.StartsWith("'") Then
                result.Add(line)
            End If
            line = reader.ReadLine()
        Loop
    End Using
    Return result
End Function

そして、あなたはそれを次のように使用します:

Dim items = ReadData("London")
于 2010-02-01T08:12:32.223 に答える