Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.26;
Скачать: CL | DM;

Вниз

Сортировка в TListView   Найти похожие ветки 

 
harismatik   (2002-12-16 11:49) [0]

Господа! Я использую компонент TListView для отображения дерева какой-то папки на диске (чтобы была возможность выбрать некоторые ветки при помощи чекбокса). Как правило, в этой папке могут быть и другие папки. Как сделать сортировку по алфавиту, чтоб сверху списка были сначала все папки, а потом все остальные файлы по алфавиту (как в проводнике винды)? Использование метода AlphaSort - не подходит. :-(


 
MBo ©   (2002-12-16 13:00) [1]

используй CustomSort


 
harismatik   (2002-12-16 13:26) [2]

2 MBo - Я знаю про этот метод, но КАК его использовать в моей ситуации? Не подскажешь?


 
MBo ©   (2002-12-16 13:36) [3]

нужно иметь признак - директория это или нет, например, в data каждого item писать pointer(1) для папок при заполнении. Может, и другой способ в твоих конкретных обстоятельствах подойдет


 
harismatik   (2002-12-16 14:08) [4]

Ну и что дальше? Ну поставил я такой признак. А как посортировать сначала директории, а потом остальные файлы?
В CustomSort вызывается указатель на процедуру сортировки, но как ее организовать, эту самую процедуру? Тот пример, что дан в хнелпе не подходит :( ПОМОГИТЕ!!!


 
Digitman ©   (2002-12-16 14:21) [5]

шаблонный псевдокод алгоритма в теле CustomSort()

If ((Item1.Type = Dir) and (Item2.Type = Dir))
or ((Item1.Type = File) and (Item2.Type = File)) then
begin
If Item1.Name > Item2.Name then
Result := 1
else If Item1.Name < Item2.Name then
Result := -1
else
Result := 0;
end

else if (Item1.Type = Dir) and (Item2.Type = File) then
Result := 1

else
Result := -1




Страницы: 1 вся ветка

Текущий архив: 2002.12.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
1-85913
SG78
2002-12-10 17:43
2002.12.26
Handle ListBox у ComboBox


14-86097
D-NICKNAME
2002-12-03 23:20
2002.12.26
Сочетание клавиш.


14-86131
malkolinge
2002-12-05 12:21
2002.12.26
Кто за сколько грохнет человеческое существо ?


3-85870
Silenser
2002-12-04 07:40
2002.12.26
Виснет SQL


1-85965
Alpine
2002-12-15 17:53
2002.12.26
Как сделать Combobox неменяемым (Read Only) ?