Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var chr1, chr2 : widechar;
str : widestring;
nr : integer;
begin
chr1:=Widechar(256);
chr2:=Widechar(257);
str:=chr1+chr2;
chr1:=str[1];
nr:=ord(chr1);
showmessage(inttostr(nr));
end;
so.
ich weise zuerst den widechars chr1, chr2 das zeichen 256 und 267 zu.
dann klemm ich die beiden in den string und lese dann die erste stelle wieder in Chr1
dann wird mittels ord der integer herausgefunden und dann das ganze angezeigt.
eigendlich sollte ich ja 256 angezeigt bekommen. aber ich bekomm 65 angezeigt.
wenn ich aber
str:=chr1+chr2;
durch
str:=chr1;
ersetze dann klapts und ich bekomm 256 raus.
gruß snow
edit:// ich hab den fehler gefunden aber es ist wohl eher ein Bugg.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var chr1, chr2 : widechar;
str, str2 : widestring;
nr : integer;
begin
chr1:=Widechar(256);
chr2:=Widechar(257);
str:=chr1;
str2:=chr2;
str:=str+str2;
chr1:=str[2];
nr:=ord(chr1);
showmessage(inttostr(nr));
end;
zuerst die widechars in widestrings umwandeln dann addieren und dann wieder auslesen.
merkwürdig und vor allem viel Tipp arbeit.
Ich werd wohl ne procedure schreiben müssen.
Gruß snow