Vb.net Visual Basic数组和对象

Vb.net Visual Basic数组和对象,vb.net,Vb.net,我目前正在为我的计算机课程做一个项目,在这个项目中,我让用户输入训练名称,对于每个训练,他们可以进行大量的训练,对于每个训练,他们可以跟踪距离、时间、体重、组数或重复次数 Public Class Form1 Dim workoutValue(14) As String Dim exerciseValue(14, 9) As String Dim workoutCounter As Integer Dim exerciseCounter As Intege

我目前正在为我的计算机课程做一个项目,在这个项目中,我让用户输入训练名称,对于每个训练,他们可以进行大量的训练,对于每个训练,他们可以跟踪距离、时间、体重、组数或重复次数

    Public Class Form1
    Dim workoutValue(14) As String
    Dim exerciseValue(14, 9) As String
    Dim workoutCounter As Integer
    Dim exerciseCounter As Integer
    Dim progressValue(14, 9, 4) As String
    Dim reps, sets, weight, distance, time As Integer



    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        For i = 1 To 15
            workoutValue(i - 1) = CStr(i)
            workoutcomboBox1.Items.Add(i)
            workoutcomboBox2.Items.Add((workoutValue(i - 1)))
            workoutcomboBox3.Items.Add((workoutValue(i - 1)))
        Next
        workoutcomboBox1.SelectedIndex = 0
        workoutcomboBox2.SelectedIndex = 0

        For i = 1 To 10
            For x = 0 To 14
                exerciseValue(x, i - 1) = CStr(i)
            Next
            exercisecombobox1.Items.Add(i)
            exercisecomboBox2.Items.Add(i)
        Next
        exercisecombobox1.SelectedIndex = 0
        workoutcomboBox3.SelectedIndex = 0
        reps = 0
        sets = 1
        weight = 2
        distance = 3
        time = 4

        For i = 0 To 14
            For x = 0 To 9
                For y = 0 To 4
                    progressValue(i, x, y) = ""
                Next
            Next
        Next
    End Sub


    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles workoutdataButton.Click
        workoutCounter = workoutcomboBox1.SelectedIndex
        workoutValue(workoutCounter) = txtworkoutvalueInput.Text
        workoutcomboBox2.Items.RemoveAt(workoutCounter)
        workoutcomboBox2.Items.Insert(workoutCounter, workoutValue(workoutCounter))
        workoutcomboBox3.Items.RemoveAt(workoutCounter)
        workoutcomboBox3.Items.Insert(workoutCounter, workoutValue(workoutCounter))

    End Sub

    Private Sub exercisedataButton_Click(sender As Object, e As EventArgs) Handles exercisedataButton.Click
        exerciseCounter = exercisecombobox1.SelectedIndex
        workoutCounter = workoutcomboBox2.SelectedIndex
        exerciseValue(workoutCounter, exerciseCounter) = txtexercisevalueInput.Text

    End Sub


    Private Sub workoutcomboBox3_SelectedIndexChanged(sender As Object, e As EventArgs) Handles workoutcomboBox3.SelectedIndexChanged
        exercisecomboBox2.Items.Clear()
        For i = 0 To 9
            exercisecomboBox2.Items.Insert(i, exerciseValue(workoutcomboBox3.SelectedIndex, CStr(i)))
        Next
    End Sub
    Private Sub progressButton_Click(sender As Object, e As EventArgs) Handles progressButton.Click
        exerciseCounter = exercisecomboBox2.SelectedIndex
        workoutCounter = workoutcomboBox3.SelectedIndex
        If repscheckBox.Checked = True Then
            progressValue(workoutCounter, exerciseCounter, reps) = repstxtBox.Text
        End If
        If setscheckBox.Checked = True Then
            progressValue(workoutCounter, exerciseCounter, sets) = setstxtBox.Text
        End If
        If weightcheckBox.Checked = True Then
            progressValue(workoutCounter, exerciseCounter, weight) = weighttxtBox.Text
        End If
        If distancecheckBox.Checked = True Then
            progressValue(workoutCounter, exerciseCounter, distance) = distancetxtBox.Text
        End If
        If timecheckBox.Checked = True Then
            progressValue(workoutCounter, exerciseCounter, time) = timetxtBox.Text
End If
        Label1.Text = progressValue(1, 1, 0)
    End Sub
End Class

这就是我到目前为止所做的(请原谅我对语言的糟糕使用和理解)。程序运行正常,但我希望用户在关闭程序时输入的数据保持不变!我研究了使用对象,因为可以将对象的数据保存到串行文件中。但是我找不到一种与数组类似的方法来使用对象。任何帮助或建议都将不胜感激

您可能希望使用for each循环,并将数组的每个值导出到文本文件中的一行中

大概是这样的:

Try

Using sw As StreamWriter = File.AppendText("C:\MyFile.txt")
For each value In myArray
sw.WriteLine(value.tostring)
Next
  Catch ex As Exception
MsgBox("Something went wrong:" & ex.tostring)
        End Try

您可能希望使用for each循环并将数组的每个值导出到文本文件中的一行

大概是这样的:

Try

Using sw As StreamWriter = File.AppendText("C:\MyFile.txt")
For each value In myArray
sw.WriteLine(value.tostring)
Next
  Catch ex As Exception
MsgBox("Something went wrong:" & ex.tostring)
        End Try

vb6或vb.net选择一个。他们不一样,抱歉!它不是VB6,但看起来是VB.NET。我更改了标记。我想你是在问如何保存数据。把它写在某个地方。类非常适合将关于一件事情的数据保存在一起(而不是分成不同的数组)。开始使用21世纪的arrays.vb6或vb.net的等价物选择一种。他们不一样,抱歉!它不是VB6,但看起来是VB.NET。我更改了标记。我想你是在问如何保存数据。把它写在某个地方。类非常适合将关于一件事情的数据保存在一起(而不是分成不同的数组)。开始使用21世纪的数组。虽然这可能是我必须要使用的,但如果我能解决这个问题,我必须使用列表,这可能会清理我的代码。虽然这可能是我必须使用的,如果我能解决这个问题,那么我必须使用列表来完成同样的事情,这可能会让我的代码变得更加整洁。