Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#17

AW: Dateinamen auslesen und sortieren

  Alt 6. Apr 2023, 18:57
Delphi-Quellcode:
function MySortCompare(List: TStringList; Index1, Index2: Integer): Integer;
var
  Str1, Str2: string; // oder direkt List[...] benutzen
  Flags: Dword;
begin
  Str1 := List[Index1];
  Str2 := List[Index2];
  Flags := 9; // coDigitAsNumbers + coIgnoreCase
  Result := CompareString(LOCALE_USER_DEFAULT, Flags, PChar(Str1), Length(Str1), PChar(Str2), Length(Str2)) - CSTR_EQUAL;
end;
Warum sinnlos einen langsamen und vor allem unnötigen Speichermanager benutzen, inkl. einiger unnötig aufwändiger/langsamer String-Operationen? (Strings komplett umkopieren)

WideString = nutzt den Speichermanager, bzw. eine API des OLEAuth (OLE32)
UnicodeString = die Wide-Version des AnsiString

AnsiString/UnicodeString/UTF8String/usw. sind LongStrings und verwenden auch eine Referenzzählung, sowie den Delphi-Speichermanager (aktuell FastMM)
PS: Der Typ String[123] ist ein ShortString (nur der Vollständigkeit halber) ... sowie der Typ "String" im Delphi 1 und davor im Turbo Pascal.
$2B or not $2B

Geändert von himitsu ( 6. Apr 2023 um 19:00 Uhr)
  Mit Zitat antworten Zitat