小弟在这里先谢过了,我的com1有一个数据输入,每100ms就会有一个integer的整数传入,我想在我的窗体的edit1之中显示这个数据(通过timer)控制每100ms读取一次,保持一致,有没有简单一点的解决方案?
电子邮件:[email protected]

解决方案 »

  1.   

    你用API?用控件吧,我用CPort给你发一个过去
      

  2.   

    串口如果有数据发送上来的话,CPort会触发事件的,你都不用定时器
      

  3.   

    procedure Tfrm_system.MSComm1Comm(Sender: TObject);
    var
            i,j:integer;
            xtemp : Olevariant;
            xScr : array of byte;
            xRecData :string;
    begin
            edit1.text:='';
            i:=mscomm1.InBufferCount;
            case mscomm1.commEvent of
            comEvReceive:                          //接收数据
            begin
            xtemp := mscomm1.Input;
            SetLength(xScr,i);
            xScr := xtemp;
            for j:=0 to i-1 do
            begin
            xRecData := xRecData +inttoHex(xScr[j],2);
            end;
      edit1.Text:=xrecdata;
            
            end;
    end;
    end;
      

  4.   

    www.kaer.com======================
    上有源码
      

  5.   

    是soft.kaer.com
    用SPCOMM来数据自己响应消息,不要用Timer,那东西不可靠