在delphi7中利用mscomm控件编程

2016-02-19 18:51 61 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文件。

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

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

延伸阅读
SQL语言作为关系数据库管理系统中的一种通用的结构查询语言,已经被众多的数据库管理系统所采用,如ORACLE、Sybase、Informix等数据库管理系统,它们都支持SQL 语言。Delphi与使用SQL语言的数据库管理系统兼容,在使用Delphi开发数据库应用程序时,我们可以使用SQL语言编程,支持SQL编程是Delphi的一个重要特征,这也是体现Delphi作为一个...
标签: Delphi
  打开Delphi的安装目录,如C:\Program Files\Borland\Delphi7,你将会看到目录下包含了一些文件和文件夹: Source:存放的是Delpi提供的所有源码,包括VCL、WEBSNAP、IntraWeb、ToolsAPI等的源码,我们平时要查找delphi的源码就可以到这里查找。还有一些Delphi提供的工具的源码也放在其下,如borland socket server(ScktSrv...
delphi 开发的应用中,每一个窗体都有一个对应的窗体文件(.dfm),用来记录该窗体的属性以及窗体上所有控件的属性,以便在窗体关闭后能准确地重新生成窗体。几乎所有的DELPHI参考书都没有提到过该文件的具体情况,偶尔提到,也都泛泛而谈,因为窗体文件是二进制文件,只有在DELPHI提供的编辑环境中才能看到它的本来面目,对其进行操作可能...
标签: Delphi
  接发E-mail是许多“网虫”必修的功课,E-mail工具软件也很多,国外 的有Microsoft的OutlookExpress、TheBat等,国内则有FoxMail这样的精品。 其实,利用可视化编程工具Delphi4.0也能够制作出自己的E-mail软件。 Delphi4.0有关E-mail的组件有两个:NmPOP3和NmSTMP,它们都位于Internet 选项卡上,其中,NmPOP3组件封装并实现P...
标签: Delphi
  ----Windows95是Microsoft公司的第一个真正的多任务操作系统。在每一时刻可以有多个进程同时工作,而每一个进程又包含有多个线程。但只有一个处理器的计算机不可能真正地“同时”执行多个线程,而是操作系统把时间分成若干个时间片,然后把一个个时间片分配给每一个线程。 ----一个执行了的程序就是一个进程,一个进程则至少有一个...

经验教程

533

收藏

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