Option Explicit
Private Type Student
lastName As String * 20
firstName As String * 20
middleName As String * 20
age As Integer
gender As String * 1
grade As Integer
rank As Integer
gpa As Single
homeroom As String * 4
hrTeacher As String * 20
counselor As String * 20
absent As Single
tardy As Integer
idNumber As String * 5
Title(0 To 5) As String * 20
credits As Single
courseNumber As String * 3
teacher(0 To 5) As String * 20
kind(0 To 5) As String * 1 'A, H, R (AP, Honors, Regular)
q1(0 To 5) As Single
q2(0 To 5) As Single
q3(0 To 5) As Single
q4(0 To 5) As Single
exam(0 To 6) As Single
ytd As Single
comment(2) As Integer
Street As String * 40
City As String * 15
State As String * 40
Zip As String * 5
End Type
Dim s As Student
Private Sub LoadNextRecord(ByVal FileNum As Integer)
Dim List As ListItems, Item As ListItem
Dim Hour As Integer, Sum As Long
Set List = lvRank.ListItems
Do While Not EOF(FileNum)
Get FileNum, , s
Set Item = List.Add
Item.Text = s.idNumber
Item.ListSubItems.Add , "LAST", Trim$(s.lastName)
Item.ListSubItems.Add , "FIRST", Trim$(s.firstName)
Item.ListSubItems.Add , "MIDDLE", Trim$(s.middleName)
Sum = 0
For Hour = 1 To 6
Item.ListSubItems.Add , "H" & Hour, (s.q1(Hour - 1) + s.q2(Hour - 1) + s.q3(Hour - 1) + s.q4(Hour - 1)) / 4
Sum = Sum + (s.q1(Hour - 1) + s.q2(Hour - 1) + s.q3(Hour - 1) + s.q4(Hour - 1)) / 4
Next Index
Item.ListSubItems.Add , "GPA", (Sum / 600 / 25)
Loop
End Sub