打印
[程序源码]

分享delphi 7下的SPCOMM实现的自发自收代码

[复制链接]
1228|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
springvirus|  楼主 | 2017-1-19 16:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 springvirus 于 2017-1-19 16:24 编辑

先看下SPCOMM控件的安装
component->install component->unit file name... 选择spcomm.pas
安装后,可以在system选项卡下就可以看到spcomm控件了。
tools->environment options->library->library path... $(DELPHI)\\Lib,即delphi的安装目录下,把spcomm.dcr 和 spcomm.dcu 放到该目录下
就可以正常使用了

//初始化部分

    Comm1.CommName := 'COM'+comno_str;
    Comm1.BaudRate := 9600;
    Comm1.Parity := None;
    Comm1.ByteSize := _8;
    Comm1.StopBits := _1;

    //这里判断串口是否已打开 SPCOMM没有MSCOMM方便
    if(flag_spcomm = SPCOMM_CLOSE) then
    begin

       Comm1.StartComm;
       flag_spcomm := SPCOMM_OPEN;

       Button1.Caption := '关闭';

       Label1.Caption := comstr + '已打开 9600,8,n,1 !!';

    end
    else if flag_spcomm = SPCOMM_OPEN then
    begin

       Comm1.StopComm;
       flag_spcomm := SPCOMM_CLOSE;

       Button1.Caption := '打开';

       Label1.Caption := '';

    end;


//发送部分

sbuf: Array of byte;
len_afterzhuanma: integer;

Comm1.WriteCommData(PAnsichar(sbuf), len_afterzhuanma);

//接收部分

rbuf: Array of byte;

在接收过程
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
  BufferLength: Word);

中,加入

setLength(rbuf, BufferLength);

move(Buffer^, PAnsichar(rbuf)^, BufferLength);


以下是SPCOMM控件
SPCOMM原.zip (26.79 KB)
再来个学习手册
3473_Delphi2010语法手册.rar (2.38 MB)




相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

4403

帖子

13

粉丝