Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Zahlen in ListBox1 Sortieren

  Alt 14. Dez 2003, 21:16
Hi,

Du könntest die Items der TListbox einer TStringList zuweisen und diese dann mittels
CustomSort Methode sortieren lassen.
Am Schluss werden die TStringList Items wieder der TListBox zugewiesen:


Delphi-Quellcode:
function CompareInt(List: TStringList; Index1, Index2: Integer): Integer;
// Wichtig: Keine Fehlerbehandlung, wenn ein Item der List kein Integerwert ist!!
var
  d1, d2: Integer;
begin
  d1 := StrToInt(List[Index1]);
  d2 := StrToInt(List[Index2]);
  if d1 < d2 then
    Result := -1
  else if d1 > d2 then
    Result := 1
  else
    Result := 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  try
    // listbox1.Sorted := False;
    sl.Assign(listbox1.Items);
    sl.CustomSort(CompareInt);
    listbox1.Items.Assign(sl);
  finally
    sl.Free;
  end;
end;
Thomas
  Mit Zitat antworten Zitat