Thema: Delphi TStringList CustomSort

Einzelnen Beitrag anzeigen

marabu

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

Re: TStringList CustomSort

  Alt 17. Okt 2005, 09:44
Hi killer,

die StringList stellt dir eine Methode CustomSort() zur Verfügung, die verwendest du so:

Delphi-Quellcode:
const
  CRANKING = '+%@&~';

function CustomCompare(List: TStringList; Index1, Index2: Integer): Integer;
var
  s1, s2: string;
  r1, r2: char;
begin
  s1 := List[index1];
  s2 := List[index2];
  r1 := s1[1];
  r2 := s2[1];
  Delete(s1, 1, 1);
  Delete(s2, 1, 1);
  if Pos(r1, CRANKING) > Pos(r2, CRANKING) then Result := -1 else
  if Pos(r1, CRANKING) < Pos(r2, CRANKING) then Result := 1 else
  Result := AnsiCompareText(s1, s2);
end;

procedure TDemoForm.SortButtonClick(Sender: TObject);
begin
  UserList.CustomSort(CustomCompare);
  ListBox.Items.Assign(UserList);
end;
Grüße vom marabu
  Mit Zitat antworten Zitat