Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Listview Caption nach zahlen sortieren (https://www.delphipraxis.net/63862-listview-caption-nach-zahlen-sortieren.html)

Wadim 23. Feb 2006 19:55


Listview Caption nach zahlen sortieren
 
hi,

hab da ein problem...und zwar hab ich in einem listview 10 zahlen stehen und diese will ich jetzt von der größten (oben) bis zur kleinsten (unten) zahl sortieren...so da dachte ich mir...benutzt du dann die schönse sorttype funktion...nur leider funktioniert sie nicht...da gibst einmal die stText sort funktion...dort werden die zahlen leider genau andersrum sortiert...und beim stDate funktion passiert irgendwie nichts...kann mir einer weiterhelfen wie ich das hinbekommen könnte??

danke schonmal

marabu 23. Feb 2006 20:07

Re: Listview Caption nach zahlen sortieren
 
Hallo Wadim,

setze SortType auf stData und weise dem Ereignis OnCompare() den folgenden Code zu:

Delphi-Quellcode:
procedure TDemoForm.ListViewCompare(Sender: TObject; Item1,
  Item2: TListItem; Data: Integer; var Compare: Integer);
var
  n1, n2: Integer;
begin
  n1 := StrToInt(Item1.Caption);
  n2 := StrToInt(Item2.Caption);
  if n1 < n2 then Compare := 1
  else if n1 > n2 then Compare := -1
  else Compare := 0;
end;
Die Online Hilfe von Delphi hat weitere Informationen für dich.

Grüße vom marabu

Wadim 23. Feb 2006 20:20

Re: Listview Caption nach zahlen sortieren
 
Zitat:

Zitat von marabu
Hallo Wadim,

setze SortType auf stData und weise dem Ereignis OnCompare() den folgenden Code zu:

Delphi-Quellcode:
procedure TDemoForm.ListViewCompare(Sender: TObject; Item1,
  Item2: TListItem; Data: Integer; var Compare: Integer);
var
  n1, n2: Integer;
begin
  n1 := StrToInt(Item1.Caption);
  n2 := StrToInt(Item2.Caption);
  if n1 < n2 then Compare := 1
  else if n1 > n2 then Compare := -1
  else Compare := 0;
end;
Die Online Hilfe von Delphi hat weitere Informationen für dich.

Grüße vom marabu

hmm hab das nun eingefügt...leider passiert nichts??

kannst mir evtl. den link zur online hilfe geben??

marabu 23. Feb 2006 20:48

Re: Listview Caption nach zahlen sortieren
 
Wo rufst du den Sort auf? Nach dem Einfügen, nach dem Löschen, nach dem Ändern eines Eintrages? Oder als Reaktion auf einen ButtonClick:

Delphi-Quellcode:
procedure TDemoForm.SortButtonClick(Sender: TObject);
begin
  ListView.CustomSort(nil, 0);
end;
In der Online-Hilfe von Delphi musst du das Ereignis OnCompare der Komponente TListView nachschlagen.

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz