1

这可能并不难做到。但我有两个文本文件。第一个有一个特定关键字的列表。如果将这些关键字输入到组合框中,则每一个。

现在,当我从这个组合框中选择一个项目时,我想在另一个文本文件中搜索相同的关键字并从该点读取到下一个关键字。然后将每一行输入一个列表框。希望我让自己明白。

也许我应该为此目的使用 INI 文件,这对我来说并不重要。

文本文件具有这种结构;文本文件1:

London
Oslo
New York
Hamburg
Amsterdam

第二个文本文件具有这种结构;文本文件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

这是可用于解析第二个文件的示例函数。它接受一个关键字作为参数并返回相关的项目:

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 回答