为什么数组放到MEMO中出错了呢。(50分)

J

JACKKL

Unregistered / Unconfirmed
GUEST, unregistred user!
1、是这样的,我有个小和序,首先将MEMO1中的字符串赋值给数组,为了验证我赋值后的数组,
我又将数据放到了MEMO2中,可下面这段程序不对么,为什么呢?无认MEMO1中写什么,MEMO2中总是13。怎么回事。
2、我想将MEMO1中的字符串发送到串口上,如何控制能让发送时每间隔一毫秒发送一个字符(发送两个呢?)
请那位大侠帮我想想,谢谢了。
procedure TForm1.Button1Click(Sender: TObject);
var
Arrayf:array[1..255] of Byte;
p:pchar;
i:integer;
begin
FillMemory(@ArrayF,255,0);
p:=Pchar(memo1.Text);
CopyMemory(@ArrayF,p,Strlen(p));
for i := 0 To strlen(p)-1do
memo2.text:=(inttostr(Arrayf));
end;
end.
 
var
Arrayf:array[1..255] of Byte;
p:pchar;
i:integer;
begin
FillMemory(@ArrayF,255,0);
p:=Pchar(memo1.Text);
CopyMemory(@ArrayF,p,Strlen(p));
for i := 1 To strlen(p)do
// memo2.text:=Memo2.Text+inttostr(Arrayf);
<--不太明白你的要求。下面两句任选其一
// Memo2.Text:=Memo2.Text+char(Arrayf);
 
另外一个问题你可以讲讲吗,不过先谢谢你。
 
没有做过这方面的程序,不好意思。帮不了你。
 
var
Arrayf:array[1..255] of Byte;
p:pchar;
i:integer;
begin
FillMemory(@ArrayF,255,0);
p:=Pchar(memo1.Text);
CopyMemory(@ArrayF,p,Strlen(p));
for i := 0 To strlen(p)-1do
memo2.text:=Memo2.Text+chr(Arrayf);
end;
end
你的问题可以用上述方法得到MEMO1中的正确内容。
 
用sleep,当可惜无法精确到毫秒,18。2,这是windows限制,听说通过底层可以更精确,你自己想办法吧
 
不可能到1毫秒,NT好点可到10毫秒,9X到54毫秒
 
多人接受答案了。
 
顶部