如何显示文本文件?

时间:2014-04-03 11:18:00

标签: vb.net text-files

我有一个程序,允许用户完成测试,其中所有用户的分数都记录在每个测试的单独文本文件中。如何显示每个文本文件,以便每次测试都能显示分数?

2 个答案:

答案 0 :(得分:0)

您可以使用Linq查询执行此操作:

var scores = from file in System.IO.Directory.GetFiles(@"c:\path", "*.scores")
             select GetScoreFromFile(System.IO.File.ReadAllLines(file));

GetScoreFromFile

private int GetScoreFromFile(string[] scoreLines)
{
    // Some code to read the score from the file
}

要实际显示分数......你可能想要制作一些奇特的东西(听起来很像游戏)。如果没有,请使用某种Grid控件。

答案 1 :(得分:0)

您可以使用ini配置文件执行此操作。我设计了一个VB类库,其中包含一个ini文件阅读器类,可用于读取和写入ini配置文件。不是将每个分数保存为单独的文件,而是将它们分成几个ini配置文件中包含它们。

您可以下载我的班级资料库here

在项目中添加对库的引用。

以下是如何使用它的示例:

Dim ScoresReader As New Rodit.IniLib.IniParser

Public Sub ReadTestScores(ScoreFilePath As String)
    ScoresReader = New Rodit.IniLib.IniParser 'Initializes new instance of class
    ScoresReader.Load(ScoreFilePath) 'Loads scores file specified in subroutine args
    For Each score As Rodit.IniLib.IniParser.IniSection In ScoresReader.Sections 'Each section in the ini file will represent a different user's score
        'Here you can write whatever you want to do with the user's score
    Next
End Sub

'Call example:
Protected Sub Form_Load(sender As Object, e As EventArgs) Handles Me.Load
    ReadTestScores("C:\scores.ini")
End Sub

Ini文件结构:

[INIFILETEST] <-- Section
Name=Rodit
 ^     ^
 |     |
Key   Value

通过理解这一点,使用这种方法很容易读取和写出你的分数......

希望这有助于......

Rodit