如何创建包含2个变量的文本文件?

时间:2015-05-15 02:25:05

标签: vb.net

我有一个保存姓名和分数的程序。目前,它将名称和分数存储在2个不同的文件中。我用2个列表框将它们显示为高分。

我知道可以按照('得分|名称')的方式执行某些操作,然后再将其调回并用管道拆分。我希望能够以这种格式保存一个数字和名称,然后在列表框中回拨它,并在标签中显示最大数字和相应的名称为"由{name}持有的高分,{数}"!

或者,由于项目有3个变量:类型,模式和难度,以及名称和分数。是否可以将其保存为('键入|模式|差异|分数|名称'),然后在高分页面上检查每个页面的正确模式等。

我的写法不是很好,所以如果需要,我可以将整个代码上传到GitHub。我已经以非常全面的方式做到了这一点。

我已在下面发布了相关代码。

Sub AA1()
    Dim FILE_NAME As String = System.IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "calculator\addition\attack\1.txt")
    Dim aryText(0) As String
    aryText(0) = mdiparent1.overall
    Dim objWriter As New System.IO.StreamWriter(FILE_NAME, True)
    objWriter.WriteLine(aryText(0))
    objWriter.Close()
    MsgBox("Score and Name Saved")
End Sub

\\

Sub AAN1()
    Dim FILE_NAME As String = System.IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "calculator\addition\attack\name\1.txt")
    Dim aryText(0) As String
    aryText(0) = mdiparent1.username
    Dim objWriter As New System.IO.StreamWriter(FILE_NAME, True)
    objWriter.WriteLine(aryText(0))
    objWriter.Close()
    'MsgBox("Score and Name Saved")
End Sub

\\

Sub file_createAA()
    Dim filepath As String = System.IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "calculator\addition\attack\1.txt")
    If Not System.IO.File.Exists(filepath) Then
        System.IO.File.Create(filepath).Dispose()
    End If
End Sub

\\

Sub file_createAAN()
    Dim filepath As String = System.IO.Path.Combine(My.Computer.FileSystem.SpecialDirectories.MyDocuments, "calculator\addition\attack\name\1.txt")
    If Not System.IO.File.Exists(filepath) Then
        System.IO.File.Create(filepath).Dispose()
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

你可以试试这个(现在的VB.net代码)

    Dim name As List(Of String)
    Dim score As List(Of Integer)
    Dim delimiter As String = "@@@"
    Dim objWriter As New System.IO.StreamWriter(FILE_NAME, True)

    For i As Integer = 0 To name.Count() Step 1
        objWriter.WriteLine(name(i) + delimiter + score(i).ToString())
    Next

    objWriter.Close()