I am currently doing a project for my computing course, where I let the user enter workout names, for each workout they can give a number of exercises and for each exercise they can track either distance, time, weight, sets or reps.
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
This is what I have made so far (excuse my awful use and understanding of the language). The program works but I want the data the user enters to persist when they close the program! I looked into using objects because you can save the data for objects into a serial file. But I can't find a way to use the objects in a similar way to my arrays. Any help or advice would be greatly appreciated!