解决方案 »

  1.   

    http://asp.6to23.com/wuqiu/mysoft/spcomm_example.rar spcomm的使用例子
    解压密码:www.lvyin.net
      

  2.   

    var  
    fcomm: TFCOMM;  
    viewstring:string;  
    i:integer;  
    rbuf,sbuf:array[16] of byte;  
    //打开串口  
    procedure TFCOMM.FormShow(Sender: TObject);  
    begin  
    comm1.StartComm;  
    end;  
    //关闭串口  
    procedure TFCOMM.FormClose(Sender: TObject; var Action: TCloseAction);  
    begin  
    comm1.StopComm;  
    end;  
    //自定义发送数据过程  
    procedure senddata;  
    var  
    i:integer;  
    commflg:boolean;  
    begin  
    viewstring:=‘’ ;  
    commflg:=true;  
    for i:=1 to 6 do  
    begin  
    if not fcomm.comm1.writecommdata(@sbuf[i],1) then  
    begin  
    commflg:=false;  
    break;  
    end;  
    //发送时字节间的延时  
    sleep(2);  
    viewstring:=viewstring+ inttohex(sbuf[i],2)+‘’ ; end;  
    viewstring:=‘发送’+ viewstring;  
    fcomm.memo1.lines.add(viewstring);  
    fcomm.memo1.lines.add(‘’ );  
    if not commflg then messagedlg(‘发送失败 !’ ,mterror,[mbyes],0);  
    end;  
    //发送按钮的点击事件  
    procedure TFCOMM.Btn_sendClick(Sender: TObject);  
    begin  
    sbuf[1]:=byte($ f0); //帧头  
    sbuf[2]:=byte($ 01); //命令号  
    sbuf[3]:=byte($ ff);  
    sbuf[4]:=byte($ ff);  
    sbuf[5]:=byte($ 01);  
    sbuf[6]:=byte($ f0); //帧尾  
    senddata;//调用发送函数  
    end;  
     //接收过程  
    procedure TFCOMM.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;BufferLength: Word);  
    var  
    i:integer;  
    begin  
    viewstring:=‘’ ;  
    move(buffer^,pchar(@rbuf^),bufferlength);  
    for i:=1 to bufferlength do  
    viewstring:=viewstring+ inttohex(rbuf[i],2)+‘’ ;  
    viewstring:=‘接收’+ viewstring;  
    memo1.lines.add(viewstring);  
    memo1.lines.add(‘’ );  
    end;上面的不能下载,这段程序是我以前看到的,未运行过,你试试吧
      

  3.   

    TO: l_xiaofeng(≈流水≈不腐≈)
    这段代码我已有,最好给我Modem拔号的。