Почему не сорирует список?!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Olya
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 24.05.2005 (Вт) 16:18

Почему не сорирует список?!

Сообщение Olya » 03.06.2005 (Пт) 17:33

В данной программе не происходит сортировки списка, то есть фамилии не сортируются в алфавитном порядке. Почему?

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

Павлуша
Не годный к строевой
Не годный к строевой
Аватара пользователя
 
Сообщения: 884
Зарегистрирован: 01.01.2005 (Сб) 19:31
Откуда: Смотря кто?

Сообщение Павлуша » 03.06.2005 (Пт) 17:40

Код: Выделить всё
Фамилия As String * 20
Улица As String * 20

Ты над этим задумывалась?
Пошли все на фиг, я фея! :flower:

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 03.06.2005 (Пт) 17:59

Все сортирует.
Добавь ещё одну кнопку и вот этод код в неё и посмотри
Код: Выделить всё
Private Sub CommandButton2_Click()
Dim i As Long
For i = 5 To 0 Step -1
    List3.AddItem CStr(i) & " - ListBox3"
    List4.AddItem CStr(i) & " - ListBox4"
    List5.AddItem CStr(Now + i)
    List6.AddItem CStr(i) & " - ListBox6"
    List7.AddItem CStr(i) & " - ListBox7"
    List8.AddItem CStr(i) & " - ListBox8"
    List9.AddItem CStr(i) & " - ListBox9"
Next i
End Sub


Просто в приведенном коде массив сортируеться в памяти и никуда не отображаеться его отсортированное содержимое
:wink:
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

Павлуша
Не годный к строевой
Не годный к строевой
Аватара пользователя
 
Сообщения: 884
Зарегистрирован: 01.01.2005 (Сб) 19:31
Откуда: Смотря кто?

Сообщение Павлуша » 03.06.2005 (Пт) 18:03

Igor_123

а как же переменные: там может быть одно и тоже значение, умножающиеся на одно и тоже число!!! непорядок, однако!!!
Пошли все на фиг, я фея! :flower:

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 03.06.2005 (Пт) 18:08

Какие переменные Павлуша
Если ты имеешь в виду это:
Код: Выделить всё
Фамилия As String * 20
Улица As String * 20

То это стринговые переменные, просто их размер(их содержимого) ограничен 20 символами и если присваиваешь больше в них всегда остаеться только на 20 символов
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

Павлуша
Не годный к строевой
Не годный к строевой
Аватара пользователя
 
Сообщения: 884
Зарегистрирован: 01.01.2005 (Сб) 19:31
Откуда: Смотря кто?

Сообщение Павлуша » 03.06.2005 (Пт) 18:33

А-а. Понял. Просто я думал, что длина умножается на 20 и долго ломал башку - зачем??
Пошли все на фиг, я фея! :flower:

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 06.06.2005 (Пн) 9:50

Olya как больной?
Скорее жив или скорее мертв???
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 177

    TopList