Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
var s:AnsiSTring;
w:WideString;
i:integer;
begin
s:='ä';
Writeln('Len s ',Length(s));
for i:=1 to Length(s) do writeln(Ord(s[i]));
writeln('-');
w:=s;
Writeln('Len w ',Length(w));
for i:=1 to Length(w) do writeln(Hi(Word(w[i])),' ',Lo(Word(w[i])));
end;
Also oben:
Len s 2
195
164
Und so ist das auch.
Diese werden nun Zeichenweise in den WideString kopiert, und dann kommt unten einfach das raus:
Len w 2
0 195
0 164
Denkste!
Das kommt raus:
Len w 1
0 228
(Linux de_CH.UTF-8)
Wird also doch Implizit umgewandelt?
Ich versteh langsam gar nix mehr...