Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#21

AW: TStringList absteigend sortieren

  Alt 5. Sep 2012, 15:42
Also die Grundlage für Natural Sort ist Natural Compare.
Das ist gar nicht so einfach, aber ich hab mir da mal etwas Code von der DP geklaut (Danke xaromz!) und nochmals verbessert.
Herausgekommen ist eine Unit, die man so direkt verwenden kann.
Man müsste vielleicht noch Anpassungen für die höheren Delphi Versionen mit Unicode vornehmen und könnte die Unit dann in die Code-Library eintüten.

Delphi-Quellcode:
// Anwendungsbeispiel zum "natürlichen" Sortieren
function StringListSortCompare(List: TStrings; Index1, Index2: integer): integer;
begin
  // Index1 und Index2 sind vertauscht -> absteigend sortieren
  if List.CaseSensitive
    then Result := NaturalCompareStr(List[Index2], List[Index1])
    else Result := NaturalCompareText(List[Index2], List[Index1]);
end;
Angehängte Dateien
Dateityp: pas NatCompare.pas (2,6 KB, 30x aufgerufen)
Andreas

Geändert von shmia ( 5. Sep 2012 um 15:44 Uhr)
  Mit Zitat antworten Zitat