Entwickler-Ecke
Sonstiges (Delphi) - Sortiermethode in Listview...
Rool - Fr 10.01.03 16:43
Titel: Sortiermethode in Listview...
Ich hab hier ne Sortiermethode, die die Items im Listview alphabethisch nach ihrem Typ (SubItems[0]) sortiert.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function CompareType(Item1, Item2: TListItem; Data: Integer): integer; stdcall; begin if (Item1.SubItems.Count>0) and (Item2.SubItems.Count>0) then CompareType:=CompareStr(Item1.SubItems[0], Item2.SubItems[0]) else CompareType:=0; end;
procedure TfrmMain.SortierennachTyp1Click(Sender: TObject); begin lvwFiles.CustomSort(@CompareType, 0); end; |
Wie stelle ich es nun an, das die Items mit dem SubItem 'Dateiordner' vor alle anderen Einträge gesetzt werden?
(11.01. 13:29 Tino) Code-Tags hinzugefügt.
Tino - Sa 11.01.03 14:33
Hallo,
Du könntest als erstes überprüfen ob das erste und das zweite Item beide die Caption "Dateiordner" haben ist das der Fall dann gibst Du 0 zurück. Wenn das erste Item die Caption "Dateiordner" hat dann gibst du -1 zurück. Wenn das zweite Item die Caption "Dateiordner" hat dann gibt du 1 zurück. Wenn keine der Abfragen zutrifft dann kommt die allgemeine überprüfung mit CompareStr.
Ich denke das sollte funktionieren. Hab es allerdings nicht ausprobiert.
Gruß
TINO
PS: Was sollen die Überprüfungen ob die Anzahl die SubItems größer 0 sind?
Rool - So 12.01.03 19:52
Titel: Zum Ps...
Vielen Dank für die Antwort. Funktioniert!!!
Zum Ps: Wenn der Dateityp nicht definiert ist adde ich nicht extra einen SubItem mit leerem string!!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!