Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Suche nach String mit 'decomposed' Character

  Alt 7. Okt 2024, 01:13
Ich wüsste auch nicht, warum Götterdämmerung eine Dekompositation ergeben sollte, vor allem nicht, da ö und ä das Selbe wären.

Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
var
  A, B, C, D: string;
begin
  A := '';
  B := 'xo'#$0308; // o mit compose-¨
  C := 'xo'#$00A8; // o mit ¨
  if A = B then
    ShowMessage('aa'); // nö
  if AnsiSameStr(A, B) then // CompareString mit LOCALE_USER_DEFAULT
    ShowMessage('bb'); // jo
  if AnsiSameStr(A, C) then
    ShowMessage('cc'); // nö

  if StrStr(PChar(A), PChar(B)) <> nil then // PChar-Variante des Pos
    ShowMessage('dd'); // jo

  SetLength(D, 5);
  SetLength(D, NormalizeString(NormalizationC, PChar(B), 4, PChar(D), 5) - 1);
  if A = D then
    ShowMessage('ee' + sLineBreak + A.Length.ToString + ' ' + B.Length.ToString + ' ' + D.Length.ToString + ' '); // jo
end;
MSDN-Library durchsuchenCompareString oder MSDN-Library durchsuchenCompareStringEx,
im Gegensatz zu MSDN-Library durchsuchenCompareStringOrdinal.

MSDN-Library durchsuchenStrStr
MSDN-Library durchsuchenFindNLSString
MSDN-Library durchsuchenFindNLSStringEx

MSDN-Library durchsuchenNormalizeString
MSDN-Library durchsuchenFoldString
MAP_PRECOMPOSED = $20; { convert to precomposed chars }
MAP_COMPOSITE = $40; { convert to composite chars }

MSDN-Library durchsuchenWideCharToMultiByte
WC_COMPOSITECHECK = $200; { convert composite to precomposed }

MSDN-Library durchsuchenMultiByteToWideChar
MB_PRECOMPOSED = 1; { use precomposed chars }
MB_COMPOSITE = 2; { use composite chars }
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 7. Okt 2024 um 10:24 Uhr)
  Mit Zitat antworten Zitat