如何向串口一次发送多条命令的。那位朋友教教我。对于写过串口程序的人来说很简单呀,为什么没人帮我呢。 (25分)

阿虫

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了一个通讯程序,以前第次只发送一条,现应为需要,要求可以同进发送多条命令。
我用了CHECKBOX控件,选中一个时,有一条命令发送出去,选中两个时,要依次有两个发
送出去。选中N个时,要依次有N个相对映的命令发送出去。
不知在程序中如何实现的,那位朋友做过这种通讯程序请写几句让我学学。(暂时发送对象用
RICHEDIT1。TEXT=‘ ’代替吧),我发送的命令每条都是很长的字符串。谢谢啊。
就是说:
IF CHECKBOX1 CHECKED then

RICHEDIT。TEXT:=‘AAA’//‘AAA’是指我要发送的命令。
IF CHECKBOX2 CHECKED then

RICHEDIT。TEXT:=‘BBB’//‘BBB’是指我要发送的命令。
。。。。。。。

k:=length(richedit1.text);
FillMemory(@sbuf,255,0);
for i:=0 to (k div 2)-1do
s1:=s1+chr(strtoint('$'+copy(richedit1.text,2*i+1,2)));
p:=Pchar(s1);
CopyMemory(@sbuf,p,Strlen(p));
senddata;
为什么上段程序只能发送一条命令出去呢,就是最后选中的那条。要是我选取两条或两条以上
的如何也发送成功呢。请教教我呀。
 
IF CHECKBOX1 CHECKED then

RICHEDIT。TEXT:=RICHEDIT。TEXT+‘AAA’//‘AAA’是指我要发送的命令。
IF CHECKBOX2 CHECKED then

RICHEDIT。TEXT:=RICHEDIT。TEXT+‘BBB’//‘BBB’是指我要发送的命令。
 
不对,老兄,你这样的话将三条命令合成了一条发送了,我要的是依次发送三条命令。
还有别的方法吗。
 
IF CHECKBOX1 CHECKED then

RICHEDIT。TEXT:=‘AAA’//‘AAA’是指我要发送的命令。
k:=length(richedit1.text);
FillMemory(@sbuf,255,0);
for i:=0 to (k div 2)-1do
s1:=s1+chr(strtoint('$'+copy(richedit1.text,2*i+1,2)));
p:=Pchar(s1);
CopyMemory(@sbuf,p,Strlen(p));
senddata;
IF CHECKBOX2 CHECKED then

RICHEDIT。TEXT:=‘BBB’//‘BBB’是指我要发送的命令。
k:=length(richedit1.text);
FillMemory(@sbuf,255,0);
for i:=0 to (k div 2)-1do
s1:=s1+chr(strtoint('$'+copy(richedit1.text,2*i+1,2)));
p:=Pchar(s1);
CopyMemory(@sbuf,p,Strlen(p));
senddata;
。。。。。。。

k:=length(richedit1.text);
FillMemory(@sbuf,255,0);
for i:=0 to (k div 2)-1do
s1:=s1+chr(strtoint('$'+copy(richedit1.text,2*i+1,2)));
p:=Pchar(s1);
CopyMemory(@sbuf,p,Strlen(p));
senddata;
 
我试过了,也不行么,要点一下BUTTON才发送一条,再点一下发送下一条。
 
试一下 : Sleep(1000)
发送每条命令后延时:1000 毫秒。
或者更多。
 
你又没有说要不停的发
你说要一条一条发
你把上面的话放在定时器里,就可以了
 
COOK老兄还在吗,定时器怎么用,是用一个控件吗,我没用过,给点提示呀,我用了SLEEP
了,可是不行,只能起廷时作用。
 
是一个控件
在system页上
第一个就是了
procedure TForm1.Timer1Timer(Sender: TObject);
begin
你把上面那段话放这里,就可以定时发了
时间由你自己定
end;
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
610
import
I
I
回复
0
查看
646
import
I
顶部