Wie Detlev schon erwähnte ist
AnsiLowerCase
die bevorzugte Methode, da sie sich auf das aktuelle Betriebssystem stützt und auch andere als nur Deutsche Umlaute berücksichtigt.
Wenn es dir aber nur um das Konstrukt mit dem Inc geht, daß kannst du auch ohne IFDEF erledigen. Der Cast auf Byte oder Word ist gar nicht notwendig:
Delphi-Quellcode:
function LowerCaseEx(const S: string): string;
var
I: integer;
begin
Result := S;
for I := 1 to Length(Result) do
if Result[I] in ['A'..'Z', 'Ä', 'Ö', 'Ü'] then
Inc(Result[I], 32);
end;
Du bekommst dann zwar eine
deprecated
Warnung, aber die kommt aktuell auch bei
CharInSet
, was intern übrigens (außer bei NEXTGEN) exakt dasselbe tut.