В данной программе не происходит сортировки списка, то есть фамилии не сортируются в алфавитном порядке. Почему?
Private Type ДанныеОбУченике
Имя As String * 15
Фамилия As String * 20
ДатаРождения As Date
Класс As String * 4
Улица As String * 20
ДомКорпусКвартира As String * 12
Телефон As String * 15
End Type
Private Type IndexType
FamIm As String * 36
RecNum As Integer
End Type
Private Sub Command1_Click()
Dim Ученик As ДанныеОбУченике
x% = Len(Ученик)
Open "Ученики.raf" For Random As #1 Len = x
For i% = 0 To 5
Ученик.Имя = List3.List(i)
Ученик.Фамилия = List4.List(i)
Ученик.ДатаРождения = List5.List(i)
Ученик.Класс = List6.List(i)
Ученик.Улица = List7.List(i)
Ученик.ДомКорпусКвартира = List8.List(i)
Ученик.Телефон = List9.List(i)
Put #1, i + 1, Ученик
Next i
For i = 0 To 5
Get #1, i + 1, Ученик
FamIm$ = Ученик.Класс & " " & _
Ученик.Фамилия & " " & Ученик.Имя
List1.List(i) = FamIm$ & " " & Ученик.ДатаРождения
List2.List(i) = FamIm$ & " " & Ученик.Телефон
Next
Frame1.Visible = True
Frame2.Visible = True
List3.Visible = False
List4.Visible = False
List5.Visible = False
List6.Visible = False
List7.Visible = False
List8.Visible = False
List9.Visible = False
Command1.Visible = False
ReDim Index(6) As IndexType
For i = 1 To 6
Get #1, i, Ученик
temp$ = UCase(Trim(Ученик.Фамилия) + " " + _
Trim(Ученик.Имя))
Index(i).FamIm = temp
Index(i).RecNum = i
Next i
For i = 1 To 5
For j = i + 1 To 6
If Index(i).FamIm > Index(j).FamIm Then
Index(0) = Index(i)
Index(i) = Index(j)
Index(j) = Index(0)
End If
Next j
Next i
Close
Kill "Ученики.raf"
End Sub