Вниз
Скачать: 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.01 c
3-85816
Шурик Ш
2002-12-05 12:39
2002.12.26
Изменение типа поля


14-86179
Zombik666
2002-11-26 11:20
2002.12.26
Не могу поставить Delphi 5 под Windows 2000


14-86101
Ketmar
2002-12-04 19:23
2002.12.26
эх... хочу


3-85865
Larisa
2002-12-08 20:03
2002.12.26
Подскажите пожалуйста, как сделать Back up из приложения.


1-85970
Bedny
2002-12-12 22:33
2002.12.26
MkDir???




   Наверх