在delphi7中利用mscomm控件编程

2016-02-19 18:51 57 1 收藏

下面图老师小编跟大家分享在delphi7中利用mscomm控件编程,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - 编程语言 】

Mscomm是微软一个强大的串口通讯的控件,其强大,简单的特点今我们不舍,在delphi中我们也可以使用它。下面这些代码是针对发送和接收为16进制处理的。
  var
    senddata:array[1..10] of char;
    reData:array of Variant;
    sendstr:string;
    restr:string;
    i:longint;
  begin
    mscomm1.CommPort := 1;                    //指定端口
    mscomm1.Settings := '9600,N,8,1';        //其它参数
    mscomm1.InBufferSize := 1024;             //接收缓冲区
    mscomm1.OutBufferSize := 1024;            //发送缓冲区
    mscomm1.InputMode := comInputModeBinary;  //接收模式
    mscomm1.InputLen := 0;                    //一次读取所有数据
    mscomm1.SThreshold := 0;                  //一次发送所有数据
    mscomm1.InBufferCount := 0;               //清空读取缓冲区
    mscomm1.OutBufferCount := 0;              //清空发送缓冲区
    mscomm1.PortOpen:=true;                     //打开端口
    MSComm1.RThreshold := 16;               //设置接收多少字节开产生oncomm事件
    senddata[1]:=chr($06);                          //要发送的数据
    senddata[2]:=chr($03);
    senddata[3]:=chr($00);
    senddata[4]:=chr($03);
    senddata[5]:=chr($10);
    sendstr:='';
    for i:=1 to 5 do
    sendstr:=sendstr + senddata[i];
    mscomm1.output:=sendstr;                       //发送数据
    i:=0;
    bzw:=false;
  
    repeat
       sleep(10);
      Application.ProcessMessages;
      i := i + 1;
      If i 30000 Then
        begin
          showmessage('发送超时!');
          break;
        end;
    Until bzw = true;
    redata:=mscomm1.Input;       接收数据
    restr:='';
    for i:=0 to vararrayhighbound(redata,1) do
        restr:=restr + inttohex(redata[i],2)+' ';
    mscomm1.PortOpen:=false;
    flatmemo1.Text:=restr;
  end;
  //oncomm事件
  procedure TForm1.MSComm1Comm(Sender: TObject);
  begin
    case mscomm1.CommEvent of
      comEvReceive: bzw := true;
    end;
  end;

  最后,记事发布软件时要带上Mscomm32.ocx文件。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1619247.html

延伸阅读
标签: Delphi
  Server 端: SoapDataModule中加入 ADOConnection1、ADODataSet1、DataSetProvider1;DataSetProvider1的DataSet设置为ADODataSet1;ADODataSet1的CommandText设置为空,Connection设置为ADOConnection1。 DataSetProvider1的DataRequest事件: function TDataMod.DataSetProvider1DataRequest(Sender: TObje...
delphi 开发的应用中,每一个窗体都有一个对应的窗体文件(.dfm),用来记录该窗体的属性以及窗体上所有控件的属性,以便在窗体关闭后能准确地重新生成窗体。几乎所有的DELPHI参考书都没有提到过该文件的具体情况,偶尔提到,也都泛泛而谈,因为窗体文件是二进制文件,只有在DELPHI提供的编辑环境中才能看到它的本来面目,对其进行操作可能...
标签: Delphi
  打开Delphi的安装目录,如C:\Program Files\Borland\Delphi7,你将会看到目录下包含了一些文件和文件夹: Source:存放的是Delpi提供的所有源码,包括VCL、WEBSNAP、IntraWeb、ToolsAPI等的源码,我们平时要查找delphi的源码就可以到这里查找。还有一些Delphi提供的工具的源码也放在其下,如borland socket server(ScktSrv...
标签: Delphi
  接发E-mail是许多“网虫”必修的功课,E-mail工具软件也很多,国外 的有Microsoft的OutlookExpress、TheBat等,国内则有FoxMail这样的精品。 其实,利用可视化编程工具Delphi4.0也能够制作出自己的E-mail软件。 Delphi4.0有关E-mail的组件有两个:NmPOP3和NmSTMP,它们都位于Internet 选项卡上,其中,NmPOP3组件封装并实现P...
标签: Delphi
   Delphi 编辑器   在表面上,对IDE的第7个版本来说Delphi的编辑器看来似乎没有改变许多。 然而,在幕后,它是一个全新的工具。 除了用它来处理Object Pascal 语言(或者Delphi语言,Borland   现在喜欢如此称呼它)的文件之外,你现在能使用它来处理其它用于Delphi开发(诸如SQL,XML,HTML,和XSL文件)的文件...

经验教程

377

收藏

35
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部