摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi网络编程
◎→ 本类最新
远程程序运行状态的简单监控
在IE上增添一个按钮
在Delphi中实现ASP编程
在Delphi程序中应用IE浏览器控件
在DELPHI程序中拨号上网
用Delphi编写ASP的ActiveX服务器
用Delphi编写CGI程序返回图象
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
为什么创建VCL for .NET? -- De
为什么创建VCL for .NET? -- De
搜索字符串在流中的位置
在Delphi7中实现停靠功能
在DELPHI中如何调用系统对话框
用Delphi来编写蠕虫病毒浅析
用Delphi编程实现清空回收站功能

使用ACTIVEX和DELPHI开发串口通讯


日期:2008-10-20 22:09:53    来源:
   
 ·运行脚本和 ActiveX 控件时注意事项 ·为什么创建VCL for .NET? -- Delphi编译器架构师撰文(2)
 ·串口与并口硬盘怎样同时使用的讨论 ·用Delphi建立通讯与数据交换服务器—Transceiver技术剖析(下)(2)

使用ACTIVEX和DELPHI开发串口通讯
  于Delphi中没有串口控件可用,所以首先需要把ActiveX控件MSCOMM加到元件选项板上。这是一个非常好的控件它不仅能对串口进行操作,而且还可以对Modem进行控制。下面结合一个具体的实例来说明如何用MSCOMM控件开发出串口通信程序。
创建一个Communication.dpr工程,把窗体的Name属性变为CommForm,将标题改为The Communication Test,选择File/Save As将新的窗体存储为CommFrm.pas。

其相应代码如下:

变量说明
var
CommForm: TCommForm;
ss :string;
savef,readf :file of char;
i,j :longint;

初始化
procedure TCommForm.FormCreate(Sender: TObject);
begin
mscomm.commport:=1;
mscomm.settings:='9600,n,8,1';
mscomm.inputlen:=1;
mscomm.inbuffercount:=0;
mscomm.portopen:=true;
ss:='';
i:=0;
j:=0;
assignfile(savef,'save1');
rewrite(savef);
assignfile(readf,'read1');
reset(readf);
end;

设置确定
procedure TCommForm.btnConfirmClick(Sender: TObject);
begin
if mscomm.portopen then
mscomm.portopen:=false;
mscomm.commport:=strtoint(edtCommport.text);
mscomm.settings:=edtCommsetting.Text;
end;

传输事件
procedure TCommForm.MSCommComm(Sender: TObject);
var
filenrc :char;
buffer :variant;
s1:string;
c :char;
begin
case mscomm.commEvent of
comEvSend:
begin
while not(eof(readf)) do
begin
read(readf,filenrc);
mscomm.output:=filenrc;
j:=j+1;
lblDisplay.caption:=inttostr(j);
if mscomm.outbuffercount>=2 then
break;
end;
end;
comEvReceive:
begin
buffer:=mscomm.Input;
s1:=buffer;
c:=s1[1];
ss:=ss+c;
i:=i+1;
lblDisplay.caption:=c+inttostr(i);
write(savef,c);
if (c=chr(10))or(c=chr(13)) then
begin
lblDisplay.caption:='cr'+inttostr(i);
memDisplay.lines.add(ss);
ss:='';
end;
end;
end;
end;

 [1]

如何在网页上使用 VB5 制作的 ActiveX 控件?

为什么创建VCL for .NET? -- Delphi编译器架构师撰文(1)

二手串口硬盘好用吗?

用Delphi建立通讯与数据交换服务器—Transceiver技术剖析(下)(1)

--->腾讯TM2007 AresCN版 V0.7.5.11┊以即时通讯为核心精简版 QQ┊纯净绿色特别版
--->腾讯QQ2006 Final AresCN Lite版┊以即时通讯为核心精简版QQ┊纯净绿色特别版
--->腾讯QQ2006 Final AresCN Lite版┊以即时通讯为核心精简版QQ┊纯净绿色特别版
--->SerialTrace 串口拦截器 V1.9
--->串口调试(AccessPort) V1.31
Tags:  ACTIVEX DELPHI 串口 通讯
{$enumber$}
芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们