Hallo,
in meinem Delphi 2009 (alle Updates installiert) beachten die Funktion LowerCase & UpperCase aus der
Unit SysUtils nicht die deutschen Umlaute (ÖÄÜ). Könnt ihr das reproduzieren?
Ich habe mir eigene Funktionen geschrieben, die den Rückgabewert der SysUtils-Funktionen auf Umlaute prüft und ggf. in Groß- bzw. Klein-Buchstaben umwandelt:
Delphi-Quellcode:
CHARACTERS_PRINTABLE_GERMAN_UPPERCASE: Array[0..2] of String = (
'Ä', 'Ö', 'Ü'
);
CHARACTERS_PRINTABLE_GERMAN_LOWERCASE: Array[0..2] of String = (
'ä', 'ö', 'ü'
);
...
...
class function TCsString.UpperCase(Str: string): String;
var
CharIndex: Integer;
begin
Result := SysUtils.UpperCase(Str);
for CharIndex := Low(Self.CHARACTERS_PRINTABLE_GERMAN_LOWERCASE) to High(Self.CHARACTERS_PRINTABLE_GERMAN_LOWERCASE) do
Result := Self.Replace(Result, self.CHARACTERS_PRINTABLE_GERMAN_LOWERCASE[CharIndex], self.CHARACTERS_PRINTABLE_GERMAN_UPPERCASE[CharIndex], [rfReplaceAll]);
end;
class function TCsString.LowerCase(Str: string): String;
var
CharIndex: Integer;
begin
Result := SysUtils.LowerCase(Str);
for CharIndex := Low(Self.CHARACTERS_PRINTABLE_GERMAN_UPPERCASE) to High(Self.CHARACTERS_PRINTABLE_GERMAN_UPPERCASE) do
Result := Self.Replace(Result, self.CHARACTERS_PRINTABLE_GERMAN_UPPERCASE[CharIndex], self.CHARACTERS_PRINTABLE_GERMAN_LOWERCASE[CharIndex], [rfReplaceAll]);
end;