Кстати вот этой поверки будет мало
Код:
if StrPas(WFD.cFileName)<>'.' then
поскольку вторым элементом каталога идет '..'
А по сабжу - написать свою процедуру сравнения элементов
Например такую
Код:
procedure TForm1.ListView_Compare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
begin
if (Item1.Subitems[0] = '[Папка]' )and(Item2.Subitems[0] <> '[Папка]') then Compare:= 1 else
if (Item1.Subitems[0] <> '[Папка]' )and(Item2.Subitems[0] = '[Папка]') then Compare:= -1 else
Compare:=CompareText(Item1.Caption,Item2.Caption);
end;
И присвоить её
Код:
ListView1.OnCompare := ListView_Compare;