Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
14-86153
Ketmar
2002-12-06 13:56
2002.12.26
хочу портрет Ивана Кулибина!


1-85986
Dennis S
2002-12-16 09:31
2002.12.26
Печать Формы


3-85818
Мученик
2002-12-06 12:08
2002.12.26
Хранимая процедура


1-85948
race1
2002-12-15 14:05
2002.12.26
image


1-85930
oleon
2002-12-17 12:49
2002.12.26
Здраствуйте. Переход по контролам на форме.




   Наверх