[程序源码] 分享delphi 7下的SPCOMM实现的自发自收代码

[复制链接]
 楼主| 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控件

再来个学习手册





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

4596

帖子

14

粉丝
快速回复 在线客服 返回列表 返回顶部

127

主题

4596

帖子

14

粉丝
快速回复 在线客服 返回列表 返回顶部