Здравствуйте, я пытаюсь добавить новые оценки в текстовый файл, используя кнопку btnRECORD, введенную в текстовое поле txtRECORD. Я использую кнопку btnDISPLAY для вычисления среднего числа оценок и количества оценок выше среднего и отображения их в списке. Но я не могу добавить новые оценки в текстовый файл с помощью btnRECORD. (текстовый файл пуст)Добавление оценок в текстовый файл в vb.net
Public Class frmGRADES
Dim temp() As String = IO.File.ReadAllLines("Exam.txt")
Dim grades(temp.Length - 1) As Double
Dim average As Double
Dim aboveAverage As Integer
Function avg(ByVal average As Double, ByVal aboveAverage As Integer)//function for average
For i As Double = 0 To grades.Length - 1
If grades(i) > average Then
aboveAverage = aboveAverage + 1
End If
Next
Return aboveAverage
End Function
Private Sub btnRECORD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRECORD.Click
ReDim Preserve grades(temp.Length - 1)
grades(temp.Length - 1) = CDbl(txtRECORD.Text)
IO.File.WriteAllLines("Exam.txt", grades) //write grades to textfile
aboveAverage = 0
End Sub
Private Sub btnDISPLAY_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDISPLAY.Click
lstRESULTS.Items.Clear()
For i As Integer = 0 To grades.Length - 1
grades(i) = CDbl(temp(i))
Next
average = grades.Average
lstRESULTS.Items.Add("The Average Score is: " & average)
aboveAverage = avg(average, aboveAverage)
lstRESULTS.Items.Add("Number of Grades above average is: " & aboveAverage)
aboveAverage = 0
End Sub
End Class
Файл.WriteAllLines хочет массив строк не из двухместных. Я полагаю, что у вас есть опция Strict, установленная в Off, иначе этот код не должен компилироваться. – Steve
Я думаю, что ваш ReDim не увеличивает размер массива. Он должен быть (temp.Length). И ваши комментарии не используют правильный символ ... это компиляция? –