J
jj8431
Unregistered / Unconfirmed
GUEST, unregistred user!
我使用cport控件,从串口接受字符串数据,然后送入memo显示,因为是一个字节一个字节接收的,发现没法还原其中的汉字,请问该怎么处理呢? 我是新手,也刚刚注册,总共只有200分,怕以后还有问题,不敢一次都用了,所以分有点少,各位老师就算学个雷锋吧:)
我现在的代码是这样的:
ComPort1.Read(i,1);
Memo1.Text:=Memo1.Text+chr(i);
因为是按byte接收来的,所以显示出来只有英文字符,我曾经试着改成这样:
begin
...
ComPort1.Read(i,1);
InStr[j]:=i;
end; // 接收用的循环,j是循环变量
Memo1.Text := InStr; //全部接收到InStr字符串变量后再放入memo
但是这样编译通不过,因为数据类型不符。改成
ComPort1.Read(InStr[j],1);
也不行,编译不报错,但是一运行就出错。
请问高手,这个问题该怎么解决呢?
顺带的,我现在有了汉字的内码,比如一个integer类型的数据i的值是一个汉字的内码,比如 $b0a1(啊), 我现在想要把这个字加到一个现有的字符串 Str里面,怎么加呢?ascii的话 Str:=Str+Chr(i) 就行了,可是汉字怎么办啊?
我现在的代码是这样的:
ComPort1.Read(i,1);
Memo1.Text:=Memo1.Text+chr(i);
因为是按byte接收来的,所以显示出来只有英文字符,我曾经试着改成这样:
begin
...
ComPort1.Read(i,1);
InStr[j]:=i;
end; // 接收用的循环,j是循环变量
Memo1.Text := InStr; //全部接收到InStr字符串变量后再放入memo
但是这样编译通不过,因为数据类型不符。改成
ComPort1.Read(InStr[j],1);
也不行,编译不报错,但是一运行就出错。
请问高手,这个问题该怎么解决呢?
顺带的,我现在有了汉字的内码,比如一个integer类型的数据i的值是一个汉字的内码,比如 $b0a1(啊), 我现在想要把这个字加到一个现有的字符串 Str里面,怎么加呢?ascii的话 Str:=Str+Chr(i) 就行了,可是汉字怎么办啊?