这可能并不难做到。 但我有两个文本文件。第一个获得了某些关键字的列表。 如果将这些关键字输入组合框中,则每一个。
现在,当我从这个组合框中选择一个项目时,我想在其他文本文件中搜索相同的关键字,并从该点读取下一个关键字。然后将每行送入列表框。希望我能让自己明白。
也许我应该为此目的使用INI文件,对我来说并不重要。
文本文件具有这种结构; Textfile1:
London
Oslo
New York
Hamburg
Amsterdam
第二个文本文件具有这种结构; Textfile2:
'London'
Apples
Oranges
Pears
'Oslo'
Pasta
Salami
Monkeyballs
'New York'
Dada
Duda
Dadadish
Etc等。
这可能吗?我想这样做的原因是创建一个完全动态的系统。一个完全依赖于存储在这些文本文件中的任何信息的人。我稍后会从这些结果中构建非常复杂的字符串。
到目前为止,我已经阅读了第一个文件,并将每一行添加到组合框中:
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
答案 0 :(得分: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")