Einzelnen Beitrag anzeigen

Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.664 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: dateinamen "speziell" sortieren

  Alt 14. Feb 2006, 17:43
Nicht ganz optimiert, aber geht

mal auf die schnelle, man kann sicher wieder vieles rausschmeißen

Delphi-Quellcode:
function StringListSortCompare2(List: TStringList; Index1, Index2: Integer): Integer;
var
  i : Integer;
  b1,b2 : Byte;
begin
  Result := 1;
  if Length(List[Index1]) < Length(List[Index2]) then
    Result := -1
  else if (Length(List[Index1]) = Length(List[Index2])) then
  begin
    Result := 0;
    for i := 1 to Length(List[Index1]) do
    if (List[Index1][i] <> List[Index2][i]) then
    begin
      b1 := Ord(List[Index1][i]);
      b2 := Ord(List[Index2][i]);
      if b1 < 58 then b1 := b1 + 75;
      if b2 < 58 then b2 := b2 + 75;
      if b1 < b2 then
        Result := -1
      else
        Result := 1;
      break;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  hstrl : TStringList;
begin
  hstrl := TStringList.Create;
  hstrl.Add('fhbb-009.xml');
  hstrl.Add('fhbb-0092.xml');
  hstrl.Add('fhbb-0093.xml');
  hstrl.Add('fhbb-009a.xml');
  hstrl.Add('fhbb-009b.xml');

  hstrl.CustomSort(StringListSortCompare2);
  Memo1.Lines.Text := hstrl.Text;


  hstrl.Free;
end;
Sven Harazim
--
  Mit Zitat antworten Zitat