Vb.net 从文本文件中读取下一行

Vb.net 从文本文件中读取下一行,vb.net,Vb.net,我正在为一个项目做一个RPG类型的游戏,我被卡住了 基本上,这段代码在文本文件中搜索名称(结构:赔率作为名称,偶数作为级别)。然后它需要输出下一行,这是它们所在的级别。我有计数器(变量“count”)来输出写入该级别的正确文本行,但我不能使用该计数器来读取该行(使用“FileSystem.LineInput(count)”) 这是我的全部代码: Sub LoadGame() Dim filename, filepath, searchitem, question, read As St

我正在为一个项目做一个RPG类型的游戏,我被卡住了

基本上,这段代码在文本文件中搜索名称(结构:赔率作为名称,偶数作为级别)。然后它需要输出下一行,这是它们所在的级别。我有计数器(变量“count”)来输出写入该级别的正确文本行,但我不能使用该计数器来读取该行(使用“FileSystem.LineInput(count)”)

这是我的全部代码:

 Sub LoadGame()
    Dim filename, filepath, searchitem, question, read As String
    Dim found As Boolean
    Dim count As Integer = 1
    filename = "save.txt"
    filepath = CurDir() & "\" & filename
    searchitem = name
    FileOpen(1, filename, OpenMode.Input)
    Do While Not EOF(1)
        read = LineInput(1)
        If read = searchitem Then
            found = True
            Exit Do
        Else
            found = False
        End If
        count = count + 1
    Loop
    If found = True Then
        If count >= 3 Then
            count = count + 1
        End If
        question = FileSystem.LineInput(count) ' This bit is broken
        Console.WriteLine("Found save game... Loading: " & question)
        Console.ReadLine()
        Console.BackgroundColor = ConsoleColor.Black
        Console.ForegroundColor = ConsoleColor.Red
        Console.Clear()
        Race(question)
    Else
        Console.WriteLine("No save game...")
        Console.ReadLine()
    End If
    FileClose(1)
End Sub

我不确定是什么问题,但如果您能提供任何帮助(使用VB 2010)

LineInput将读取指定文件的下一行(参数
文件号

您的文件具有
FileNumber
1,并且文件指针指向所需的行。因此,只需

question = FileSystem.LineInput(1)

在我的建议中,您应该避免在.Net中访问这些类型的文件(每个文件号)。这只是VB6时代的旧遗物。在.Net中,您有易于使用的类,例如StreamReader。但是如果你想用老式的方法来做,至少可以使用
FreeFile
方法来定义文件号。

这就是为什么
数据库
更容易存储数据的原因。您能举一个文本格式的例子吗?文档的格式是:在不同的行上如果您没有正确使用LineInput,请检查规范。我建议您不要使用旧功能(CurDir、FileOpen、LineInput)。查看System.IO.File,您可以打开StreamReader并逐行读取。