STOP - die Funktion oben ist Fehlerhaft
genau gesagt ist folgendes fehlerhaft:
Delphi-Quellcode:
if Ord(txt[x]) >= 255 then
begin
txt[x] := Chr( Ord(txt[x]) - 255 );
end;
richtig ist
Delphi-Quellcode:
if Ord(txt[x]) > 255 then
begin
txt[x] := Chr( Ord(txt[x]) - 256 );
end;
Wobei der Compiler bei alten Delphiversionen da eben (wie bereits erwähnt) eine Warnung ausgeben wird weil der Wert niemals größer 255 sein kann bei AnsiStrings.
am besten also txt als AnsiString definieren und dann kann
Delphi-Quellcode:
if Ord(txt[x]) > 255 then
begin
txt[x] := Chr( Ord(txt[x]) - 256 );
end;
weg gelassen werden.