Thema: Delphi Nach ABC ordnen

Einzelnen Beitrag anzeigen

Benutzerbild von Nikolas
Nikolas

Registriert seit: 28. Jul 2003
1.528 Beiträge
 
Delphi 2005 Personal
 
#17

Re: Nach ABC ordnen

  Alt 26. Feb 2005, 20:33
Mach doch wirklich was in diese Richtung:
Delphi-Quellcode:
var
sortiert, nichtsortiert: TSTringlist;
i,cnt: integer;
str: string;
begin

sortiert:= TSTringlist.Create;
nichtsortiert:= TSTringlist.Create;

sortiert.sorted:=true;

for i:=1 to AnzahlDerLabel do
begin
sortiert.add( Tlabel(FindComponent('Label' + IntToStr(i))).Caption);
Nichtsortiert.add( TLabel(findcomponent('Label'+inttostr(i))).caption );
end;

for i:=0 to AnzahlDerLabel-1 {!} do
begin
str := sortiert[i]; // in str steht jetzt die Caption, die alphabetisch geordnet an iter Stelle steht
cnt := nichtsortiert.Indexof(str); // Oben gefundene Caption steht auf dem cnt-ten Label.
// Das passende Label wird an die richtige Stelle gesetzt
Tlabel(FindComponent('Label' + IntToStr(cnt+1))).top :=30+ i*40;
end;
Da musst du dir auch keine Sorgen über die Sortierung machen.

Edit: Tags vergessen.
Erwarte das Beste und bereite dich auf das Schlimmste vor.
  Mit Zitat antworten Zitat