Wenn ich auf einen Text, der als erstes Zeichen das Zeichen 55357 enthält (siehe Screenshot), folgenden Codeschnipsel anwende, um den String einfach nur zu invertieren, dann wird das Sonderzeichen gekillt. Wie muss ich das richtig machen, um auch das Sonderzeichen zu behalten?
Delphi-Quellcode:
procedure TForm15.bnInvertClick(Sender: TObject);
var
L, Len: Integer; N, S: string;
begin
Len := Length (edIn.Text);
S := edIn.Text;
for L := Len downto 1 do begin
N := N + S[L];
end;
edout.Text := N;
end;
In der
DFM-Datei ist der Edit.Text übrigens so abgelegt:
Delphi-Quellcode:
Text =
#55357#56555' Gute Nachricht '#8211' gro'#223'er Sommerspa'#223' zu kleinen Preisen bei eBa' +
'y'
Das Sonderzeichen dürfte also in Wahrheit aus 2 16-bit Werten bestehen, so dass die Umkehrung der Reihenfolge beiden Werte das Zeichen kaputt macht?