Autor Beitrag
Rool
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 211



BeitragVerfasst: Fr 10.01.03 16:43 
Ich hab hier ne Sortiermethode, die die Items im Listview alphabethisch nach ihrem Typ (SubItems[0]) sortiert.
ausblenden 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.

_________________
MFG Rool
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 211



BeitragVerfasst: 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!!

_________________
MFG Rool