Thema: Delphi Array Sortieren

Einzelnen Beitrag anzeigen

Tpercon

Registriert seit: 7. Jun 2002
638 Beiträge
 
Delphi 5 Professional
 
#41

Re: Array Sortieren

  Alt 13. Jan 2004, 17:52
So, dass wirklich letzte mal für heute:
Delphi-Quellcode:
type
  TSchuelerRec = record
              Name : String[25];
            end;

  TForm1 = class(TForm)
    ListBox1: TListBox;
    SortBtn: TButton;
    procedure SortBtnClick(Sender: TObject);
  private
    { Private-Deklarationen }
    SchuelerArr : array[1..100] of TSchuelerRec;
    procedure Swap(i,j: Integer);
    procedure Sortiere;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Swap(i,j: Integer);
var dummy: TSchuelerRec;
begin
  dummy := SchuelerArr[i];
  SchuelerArr[i] := SchuelerArr[j];
  SchuelerArr[j] := dummy;
end;

procedure TForm1.Sortiere;
var i,j: integer;
begin
  for i:= Low(SchuelerArr) to High(SchuelerArr) do
    for j:= High(SchuelerArr) downto i + 1 do begin
      if SchuelerArr[j].Name < SchuelerArr[i].Name then Swap(i, j)
    end;
end;

procedure TForm1.SortBtnClick(Sender: TObject);
var i: integer;
begin
  Sortiere;
  ListBox1.Clear;
  for i := Low(SchuelerArr) to High(SchuelerArr) do begin
    if (trim(SchuelerArr[i].Name) <> '') then begin//wobei ich schon verhindern würde, dass man leere Einträge überhaupt einfügen kann!
      ListBox1.Items.Add(SchuelerArr[i].Name);
    end;
  end;
end;
Schau dir mal dynamishce Arrays an, so ist das ja nicht gerade elegant. Funktioniert aber. War nen Fehler in der Swap Prozedure.
  Mit Zitat antworten Zitat