关于 动态字符 数组 显示 问题
var
buf: array of char;
begin setlength( buf, 30) ; 开始赋值数组: buf[0] := chr(5) ;
buf[1] := chr(245) ;
buf[2] := chr(12) ;
buf[3] := chr(228) ;
buf[4] := chr(61) ;
buf[5] := chr(25) ;
buf[6] := chr(174) ;
buf[7] := chr(203) ;
buf[8] := chr(45) ;
....
....
....
buf[29] := chr(255) ;
使用下面的方法显示, 可以看到很多的乱码 . : for I := 0 to 29 do
begin
send_Memo.Text := send_Memo.Text + buf[i]
end;
------------------------------如果用下面的方法, 看不到任何字符: var str:string; for I := 0 to 29 do
begin
str := str + buf[i]
end;
//放到 memo 显示
send_Memo.Text := str;为什么用 第2种 方法看不到任何字符 但用 length(str)显示字符个数是正确的,为什么会这样?
var
buf: array of char;
begin setlength( buf, 30) ; 开始赋值数组: buf[0] := chr(5) ;
buf[1] := chr(245) ;
buf[2] := chr(12) ;
buf[3] := chr(228) ;
buf[4] := chr(61) ;
buf[5] := chr(25) ;
buf[6] := chr(174) ;
buf[7] := chr(203) ;
buf[8] := chr(45) ;
....
....
....
buf[29] := chr(255) ;
使用下面的方法显示, 可以看到很多的乱码 . : for I := 0 to 29 do
begin
send_Memo.Text := send_Memo.Text + buf[i]
end;
------------------------------如果用下面的方法, 看不到任何字符: var str:string; for I := 0 to 29 do
begin
str := str + buf[i]
end;
//放到 memo 显示
send_Memo.Text := str;为什么用 第2种 方法看不到任何字符 但用 length(str)显示字符个数是正确的,为什么会这样?
chr()返回的是ASCII码,这两种应该一样吧