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