从文本文件中读取下一行

时间:2013-11-13 18:12:26

标签: vb.net

我正在为一个项目开发一款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)

1 个答案:

答案 0 :(得分:0)

LineInput读取指定文件的下一行(参数FileNumber)。

您的文件有FileNumber 1,文件指针指向所需的行。因此,它应该足够了

question = FileSystem.LineInput(1)

在我看来,你应该避免在.Net中进行那种文件访问(每个FileNumber)。这只是VB6次的遗留物。在.Net中,您可以使用易于使用的类,例如StreamReader。但是如果你想以老式的方式去做,至少使用FreeFile方法来定义文件号。