Сортировка списка

Программирование на Visual Basic for Applications
Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Сортировка списка

Сообщение Calvin » 25.02.2004 (Ср) 20:10

Здраствуйте уважаемые...... что-то я совсем плохой стал и не могу сообразить как в VBA отсортировать список (ListBox). В поиске что-то не нашел........ :roll:
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 25.02.2004 (Ср) 20:17

ну ведь только что в трепе обсуждался вопрос по скорости сортировки, табе туды и надо :wink:
Ничто так не ограничивает полёт мысли программиста, как компилятор

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 26.02.2004 (Чт) 12:09

Надо еще добавить, что индексация в ячейках указанного объекта начинается с нуля, и дать пару свойсв:

ListBox1.List(ИНДЕКС ЯЧЕЙКИ)

ListBox1.ListCount 'ВРОДИ БО количество ячеек, или индекс последней, не помню что конкретно


p.s.
Мой совет, сортируй через поиск максимального элемента и его индекса.

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 26.02.2004 (Чт) 21:17

ListBox1.ListCount - количество item'ов это стопудово, а индекс последней ListBox1.ListCount-1 :wink:
Ничто так не ограничивает полёт мысли программиста, как компилятор

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 27.02.2004 (Пт) 12:07

Ладно уж, хотя Calvin умный, я ему все таки готовый пример напишу:

Код: Выделить всё
Dim i as long,j as long, k as long, n as long, max as string

n=ListBox1.ListCount-1
for i=0 to n-1
max= ListBox1.List(i)
k=i
for j=i+1 to n
if max<ListBox1.List(j) then
max= ListBox1.List(j)
k = j
end if
next j
ListBox1.List(k)=ListBox1.List(i)
ListBox1.List(i) = max
next i


если тип ПЕРЕМЕННОЙ МАХ не пройдет сделай ее Variant.


Вернуться в VBA

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 82

    TopList  
cron