Comport4 CPort for delphi2010串口应用程序

原创 2013年12月17日 22:15:33

comport4操作很简单

ComPort1.Open;//打开串口

ComPort1.close;//关闭串口

comport1.WriteStr('a');//发送字符a

ComPort1.ReadStr(Str,Count);//读取字符

使用comport4做串口调试程序

comport4的安装见:http://blog.csdn.net/yorkworlddream/article/details/17382039

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, CPort, CPortCtl, StdCtrls;

type
  TForm1 = class(TForm)
    ComPort1: TComPort;
    btnFs: TButton;
    Edit2: TEdit;
    Memo1: TMemo;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Memo2: TMemo;
    procedure FormCreate(Sender: TObject);
    procedure btnFsClick(Sender: TObject);
    procedure ComPRxChar(Sender: TObject; Count: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{16进制字符串转换成字符串}
function HexStrToStr(const S:string):string;
//16进制字符串转换成字符串
var
  t:Integer;
  ts:string;
  M,Code:Integer;
begin
  t:=1;
  Result:='';
  while t<=Length(S) do
  begin
    while not (S[t] in ['0'..'9','A'..'F','a'..'f']) do
      inc(t);
    if (t+1>Length(S))or(not (S[t+1] in ['0'..'9','A'..'F','a'..'f'])) then
      ts:='$'+S[t]
    else
      ts:='$'+S[t]+S[t+1];
    Val(ts,M,Code);
    if Code=0 then
      Result:=Result+Chr(M);
    inc(t,2);
  end;
end;

{字符串转换成16进制字符串}
function StrToHexStr(const S:string):string;
//字符串转换成16进制字符串
var
  I:Integer;
begin
  for I:=1 to Length(S) do
  begin
    if I=1 then
      Result:=IntToHex(Ord(S[1]),2)
    else Result:=Result+' '+IntToHex(Ord(S[I]),2);
  end;
end;

//点击发送按钮
procedure TForm1.btnFsClick(Sender: TObject);
var
  Str: String;
begin
  comport1.WriteStr(Hexstrtostr(edit2.Text));//调用Hexstrtostr函数
end;

//初始化窗口
procedure TForm1.FormCreate(Sender: TObject);
begin
  ComPort1.Open;
end;

//相当于串口中断 (要与comport1的OnRxChar进行连接)
procedure TForm1.ComPRxChar(Sender: TObject; Count: Integer);
var
  Str: String;
begin
  ComPort1.ReadStr(Str, Count);
  memo1.Text:=StrToHexStr(Str);//显示成16进制形式
  memo2.Text:={StrToHexStr}(Str);//显示成字符串形式
end;



end.
注意:ComPort1.ComPRxChar要与comport1的OnRxChar进行连接



源文件下载地址:http://pan.baidu.com/s/1Dy1Us


其中35-72行的程序是为了

将输入的16进制的字符型数据转换成真实的16进制数

将16进制数,转成字符串进行显示用的程序


{16进制字符串转换成字符串}
function HexStrToStr(const S:string):string;
//16进制字符串转换成字符串
var
  t:Integer;
  ts:string;
  M,Code:Integer;
begin
  t:=1;
  Result:='';
  while t<=Length(S) do
  begin
    while not (S[t] in ['0'..'9','A'..'F','a'..'f']) do
      inc(t);
    if (t+1>Length(S))or(not (S[t+1] in ['0'..'9','A'..'F','a'..'f'])) then
      ts:='$'+S[t]
    else
      ts:='$'+S[t]+S[t+1];
    Val(ts,M,Code);
    if Code=0 then
      Result:=Result+Chr(M);
    inc(t,2);
  end;
end;

{字符串转换成16进制字符串}
function StrToHexStr(const S:string):string;
//字符串转换成16进制字符串
var
  I:Integer;
begin
  for I:=1 to Length(S) do
  begin
    if I=1 then
      Result:=IntToHex(Ord(S[1]),2)
    else Result:=Result+' '+IntToHex(Ord(S[I]),2);
  end;
end;



相关文章推荐

Delphi 2010 串口控件TComPort(可替代使用SPComm2010)

最近一个项目从Delphi 7 升级到Delphi 2010,项目中需使用串口通信,之前在Delphi 7中使用的串口控件为Spcomm,后来网上找到适用于Delphi2010版本的SPComm201...

comport4.11 delphi2010安装教程

源码包内容如下: 安装步骤如下: 1.将源码包放到某个位置,如G:\AllDesign\delphi下 2.在delphi的tools->options->library win32->l...

Delphi for iOS开发指南(16):在iOS客户端应用程序中连接企业级数据库

Delphi for iOS开发指南(16):在iOS客户端应用程序中连接企业级数据库   在开始这篇教程之前,你应该阅读并执行下面教程: •iOS开发指南(9):在iOS应用程序中使用Li...

Delphi编的串口应用程序

  • 2008年08月04日 09:55
  • 202KB
  • 下载

Delphi for iOS开发指南(14):在iOS应用程序中使用InterBase ToGo

在开始这篇教程之前,你应该预先阅读并按下面教程实际操作过:   •iOS开发指南(9):在iOS应用程序中使用ListBox组件来显示TableView   这篇教程描述了在iOS Dev...

Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox组件来从列表中选择某一项

在FireMonkey iOS应用程序中实现一个选择器   在iOS平台上,FireMonkey使用TComboBox组件来封装选择器组件:   要定义一个选择器并且列出可以选择的项目: ...

Delphi for iOS开发指南(15):在iOS应用程序中使用SQLite

Delphi for iOS开发指南(15):在iOS应用程序中使用SQLite   在开始这篇教程之前,你应该阅读并执行下面教程: iOS开发指南(9):在iOS应用程序中使用ListBo...

Delphi for iOS开发指南(11):在iOS应用程序中拍照并共享照片

在开始这篇教程之前,你应该预先阅读并按下面的这篇教程实际操作过:   iOS开发指南(4)::在iOS应用程序中使用不同风格的Button组件   这篇教程涵盖了下面常用的任务:在iOS应...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Comport4 CPort for delphi2010串口应用程序
举报原因:
原因补充:

(最多只允许输入30个字)