Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Array of CustomRecord - Strings sortieren

  Alt 10. Mai 2007, 20:53
Hallo,

ich kann aus deiner Problembeschreibung nicht erkennen, wo da ein natural sort involviert sein könnte. Hier hast du einen normalen Sort als Anschauungsmaterial:

Delphi-Quellcode:
type
  TSR = record
    is_directory: Boolean;
    name: string;
    size: Integer;
  end;
  TSRDynArray = array of TSR;

procedure BubbleSort(var da: TSRDynArray);
var
  iInner, iOuter: Integer;
  sr: TSR;
begin
  for iOuter := Succ(Low(da)) to High(da) do
    for iInner := Pred(iOuter) downto Low(da) do
      if AnsiCompareText(da[iInner].name, da[Succ(iInner)].name) > 0 then
      begin
        sr := da[Succ(iInner)];
        da[Succ(iInner)] := da[iInner];
        da[iInner] := sr;
      end else Break;
end;
Erschließen kannst du dir den Code indem du das Tutorial zu den Sortierverfahren liest oder eine kommentierte Fassung im Forum suchst.

Grüße vom marabu
  Mit Zitat antworten Zitat