关于MSCOMM控件(100分)

  • 主题发起人 主题发起人 pop11
  • 开始时间 开始时间
P

pop11

Unregistered / Unconfirmed
GUEST, unregistred user!

请问如何在用MSCOMM控件实现实时的对串口数据进行读取,我知道有两个办法,
一是设定时钟,另一个是用onlde事件,但具体怎么做,能不能举几个例子看看?
 
在timer的事件中,发送你的命令即可,即MScomm.output:=……
它自然就会接收数据了。
 
既不用时钟也不用onidle,只要在oncomm里写代码就可以了。
例如:
 procedure TForm1.MSComm1Comm(Sender: TObject);
  var
  recstr:Olevariant;
  begin
   if Mscomm1.CommEvent = 2 then//commevent=2说明是接收到字符
    begin
  recstr := Mscomm1.Input ;//读出input
  Memo1.text := Memo1.Text + recstr;
  end;
 

如果用onidle怎么实现呢?
 
你应当注意注册问题
 
能说的再详细点吗?
 
注册问题,指哪方面,明确一下好吗?
 
如果你没有装VB的话,用DELPHI写MSCOMM32.OCX存在许可证的问题,安装时
会说你的LICENSE。我就碰到这个问题。现在我不知道用VB编好程序发布,会不会
存在这个问题。
 
我装了VB,mscomm是从VB中倒过来的,
发布的时候只要用户那里也装上VB是不是就可以了吧。
 
怎么没人回答呀,下午头儿就要代码的,谁知道ONIDLE呀,怎么用呀,救!!!
 
你这个人没法帮。[:(!]
我不是给你写代码了吗?
非得要用onidle,不懂。
 
头儿死活要我用onidle,我也没办法呀!
 
把下面几句放到Application.Ondile里
if Mscomm1.CommEvent = 2 then//commevent=2说明是接收到字符
    begin
  recstr := Mscomm1.Input ;//读出input
  Memo1.text := Memo1.Text + recstr;
但是不能保证所有的数据都能接受到。
 
我把答案发到你的信箱里去了,你看看吧
 
接受答案了.
 
后退
顶部