Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: Dateinamen auslesen und sortieren

  Alt 11. Apr 2023, 13:56
So könnte es beispielsweise aussehen:
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils, System.Classes, System.IOUtils, System.Types;

function StrCmpLogicalW(P1, P2: PWideChar): Integer; stdcall; external 'Shlwapi.dllname 'StrCmpLogicalW';

function CompareProc(List: TStringList; Index1, Index2: Integer): Integer;
begin
  Result := StrCmpLogicalW(PChar(List[Index1]), PChar(List[Index2]));
end;

var
  SA: TStringDynArray;
  SL: TStringList;
  i: Integer;
begin
  try
    SA := TDirectory.GetFiles(ExtractFilePath(ParamStr(0)));
    SL := TStringList.Create;
    try
      // mit oder ohne vollen Pfad?
      for i := Low(SA) to High(SA) do
        SL.Add(ExtractFileName(SA[i]));
      SL.CustomSort(@CompareProc);
      for i := 0 to Pred(SL.Count) do
        begin
          // mach was mit der Liste
          WriteLn(SL[i]);
        end;
    finally
      SL.Free;
    end;
    ReadLn;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat