Einzelnen Beitrag anzeigen

Willie1

Registriert seit: 28. Mai 2008
618 Beiträge
 
Delphi 10.1 Berlin Starter
 
#5

AW: Sortieren nach DIN bei TStringList;

  Alt 20. Mai 2020, 15:57
Delphi-Quellcode:
function DumbItDownFor95(const S1, S2: WideString; CmpFlags: Integer): Integer;
var
  a1, a2: AnsiString;
begin
  a1 := s1;
  a2 := s2;
  Result := CompareStringA(LOCALE_USER_DEFAULT, CmpFlags, PAnsiChar(a1), Length(a1),
    PAnsiChar(a2), Length(a2)) - 2;
end;

function MyCompare(SL: TStringList; i1,i2: Integer): Integer;
begin
 SetLastError(0);
  Result := CompareStringW(LOCALE_USER_DEFAULT or NORM_IGNORECASE,
                           LANG_GERMAN or
                           SUBLANG_GERMAN or
                           SORT_GERMAN_PHONE_BOOK or
                           NORM_IGNORENONSPACE or
                           NORM_IGNORESYMBOLS,
                           PWideChar(SL[i1]),
                           Length(SL[i1]),
                           PWideChar(SL[i2]),
                           Length(SL[i2])) - 2;
  case GetLastError of
    0: ;
    ERROR_CALL_NOT_IMPLEMENTED: Result := DumbItDownFor95(SL[i1],
                                                          SL[i2],
                                                          NORM_IGNORECASE or
                                                          NORM_IGNORENONSPACE or
                                                          NORM_IGNORESYMBOLS);
  else
    RaiseLastOSError;
  end;
end;
Hier aus dem Forum.

So habe ich es kopiert, es bleibt bei der Sortierung Var.1 Ä=A. Willie.

Geändert von Willie1 (20. Mai 2020 um 16:03 Uhr)
  Mit Zitat antworten Zitat