Вниз
Скачать: 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.013 c
4-86210
Monya
2002-11-12 10:24
2002.12.26
Системные переменные


14-86161
Uran
2002-12-06 16:53
2002.12.26
Откуда можно скачать программу DMFC, для чтения этого форума?


4-86234
Maksss
2002-11-11 00:05
2002.12.26
Не Могу отловить ивенс


1-85974
Relict
2002-12-15 14:10
2002.12.26
класс


1-85927
SONY
2002-12-15 12:45
2002.12.26
как послать сообщение используя mailslot




   Наверх