📄 使用activex和delphi开发串口通讯.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0043)http://www.daima.com.cn/Info/106/Info35295/ -->
<HTML><HEAD><TITLE>使用ACTIVEX和DELPHI开发串口通讯</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content=使用ACTIVEX和DELPHI开发串口通讯 name=Keywords>
<META content=使用ACTIVEX和DELPHI开发串口通讯 name=Description><LINK
href="使用ACTIVEX和DELPHI开发串口通讯.files/infoList.css" rel=stylesheet type=text/css>
<SCRIPT language=JavaScript>
function checkinput()
{
//alert ("Bug");
var keyword=document.search.keyword.value;
var typeid=document.search.searchtype.value;
if (keyword=="")
{
window.alert("请输入搜索的关键字!");
return false;
}
document.search.action=typeid;
document.search.submit();
}
function info_show(ID){
var url;
location.href=("/trade/trade_show.asp?InfoID="+ID)
}
</SCRIPT>
<SCRIPT language=JavaScript
src="使用ACTIVEX和DELPHI开发串口通讯.files/DateTime.js"></SCRIPT>
<SCRIPT language=JavaScript
src="使用ACTIVEX和DELPHI开发串口通讯.files/function.js"></SCRIPT>
<META content="MSHTML 5.00.3700.6699" name=GENERATOR></HEAD>
<BODY topMargin=0>
<SCRIPT language=javascript
src="使用ACTIVEX和DELPHI开发串口通讯.files/in_top_jy.js"></SCRIPT>
<!-- 页面内容开始 -->
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 class=TABLEBORDER
height=20 width=760>
<FORM method=post name=search onsubmit="return checkinput();">
<TBODY>
<TR>
<TD align=middle bgColor=#efefef height=28 vAlign=center width=520>所属栏目
<SELECT name=searchtype> <OPTION selected
value=/code/code_search.asp>源码下载</OPTION> <OPTION
value=/tools/tool_search.asp>开发工具</OPTION> <OPTION
value=/control/control_search.asp>控件之家</OPTION> <OPTION
value=/book/book_search.asp>图书下载</OPTION> <OPTION
value=info_search.asp>编程经验</OPTION> <OPTION value=5>考试资源</OPTION></SELECT>
关键字: <INPUT maxLength=100 name=keyword size=15> <SELECT name=FlagID>
<OPTION selected value=0>在标题中搜索</OPTION> <OPTION
value=1>全文搜索</OPTION></SELECT> <INPUT align=absMiddle height=19
name=submit src="使用ACTIVEX和DELPHI开发串口通讯.files/index_sous.gif" type=image
width=70> </TD>
<TD align=middle bgColor=#efefef height=28 vAlign=center width=240>
<SCRIPT>
CalConv();
</SCRIPT>
</TD></TR></FORM></TBODY></TABLE>
<TABLE align=center bgColor=#ffffff border=0 cellPadding=0 cellSpacing=0
class=TABLEBORDER width=760>
<TBODY>
<TR>
<TD align=middle>
<SCRIPT type=text/javascript>
infolav_showMusic();
</SCRIPT>
</TD></TR></TBODY></TABLE>
<TABLE align=center bgColor=#ffffff border=0 cellPadding=0 cellSpacing=0
class=TABLEBORDER width=760>
<TBODY>
<TR>
<TD height=22>当前位置: <A href="http://www.daima.com.cn/">首 页</A> --> <A
href="http://www.daima.com.cn/info/">编程经验</A> --> <A
href="http://www.daima.com.cn/Info/Info2To1">Delphi</A> --> <A
href="http://www.daima.com.cn/Info/Info106To1">编程技巧</A> -->
使用ACTIVEX和DELPHI开发串口通讯</TD></TR>
<TR>
<TD background="" height=1></TD></TR>
<TR>
<TD height=2></TD></TR></TBODY></TABLE>
<TABLE align=center bgColor=#ffffff border=0 cellPadding=0 cellSpacing=0
class=TABLEBORDER width=760>
<TBODY>
<TR>
<TD align=middle>
<SCRIPT type=text/javascript>
infolav_showTop();
</SCRIPT>
</TD></TR></TBODY></TABLE>
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 class=TABLEBORDER
width=760>
<TBODY>
<TR>
<TD class=LEFTTDBG2 height=492 vAlign=top width=170>
<TABLE border=0 cellPadding=0 cellSpacing=0 width="100%">
<TBODY>
<TR>
<TD class=BORDERBG1 height=17 width="100%">分类导航</TD></TR>
<TR>
<TD class=LEFTTDBG1 height=233 vAlign=top>
<TABLE align=center border=0 width="80%">
<TBODY>
<TR>
<TD>
<SCRIPT language=JavaScript>info_listNone();</SCRIPT>
</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
<TD bgColor=#949494 width=1></TD>
<TD bgColor=#ffffff vAlign=top width=4></TD>
<TD class=list vAlign=top>
<TABLE align=center border=0 cellPadding=3 cellSpacing=0 class=showinfo
style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" width="100%">
<TBODY>
<TR>
<TD align=middle class=showTitle>使用ACTIVEX和DELPHI开发串口通讯</TD></TR>
<TR>
<TD>
<TABLE align=left border=0 cellPadding=0 cellSpacing=0>
<TBODY>
<TR>
<TD>
<SCRIPT language=javascript src=""></SCRIPT>
</TD></TR></TBODY></TABLE>于Delphi中没有串口控件可用,所以首先需要把ActiveX控件MSCOMM加到元件选项板上。这是一个非常好的控件它不仅能对串口进行操作,而且还可以对Modem进行控制。下面结合一个具体的实例来说明如何用MSCOMM控件开发出串口通信程序。<BR>创建一个Communication.dpr工程,把窗体的Name属性变为CommForm,将标题改为The
Communication Test,选择File/Save As将新的窗体存储为CommFrm.pas。
<P>其相应代码如下:</P>
<P>变量说明<BR>var<BR>CommForm: TCommForm;<BR>ss :string;<BR>savef,readf
:file of char;<BR>i,j :longint;</P>
<P>初始化<BR>procedure TCommForm.FormCreate(Sender:
TObject);<BR>begin<BR>mscomm.commport:=1;<BR>mscomm.settings:=''9600,n,8,1'';<BR>mscomm.inputlen:=1;<BR>mscomm.inbuffercount:=0;<BR>mscomm.portopen:=true;<BR>ss:='''';<BR>i:=0;<BR>j:=0;<BR>assignfile(savef,''save1'');<BR>rewrite(savef);<BR>assignfile(readf,''read1'');<BR>reset(readf);<BR>end;</P>
<P>设置确定<BR>procedure TCommForm.btnConfirmClick(Sender:
TObject);<BR>begin<BR>if mscomm.portopen
then<BR>mscomm.portopen:=false;<BR>mscomm.commport:=strtoint(edtCommport.text);<BR>mscomm.settings:=edtCommsetting.Text;<BR>end;</P>
<P>传输事件<BR>procedure TCommForm.MSCommComm(Sender:
TObject);<BR>var<BR>filenrc :char;<BR>buffer
:variant;<BR>s1:string;<BR>c :char;<BR>begin<BR>case
mscomm.commEvent of<BR>comEvSend:<BR>begin<BR>while not(eof(readf))
do<BR>begin<BR>read(readf,filenrc);<BR>mscomm.output:=filenrc;<BR>j:=j+1;<BR>lblDisplay.caption:=inttostr(j);<BR>if
mscomm.outbuffercount>=2
then<BR>break;<BR>end;<BR>end;<BR>comEvReceive:<BR>begin<BR>buffer:=mscomm.Input;<BR>s1:=buffer;<BR>c:=s1[1];<BR>ss:=ss+c;<BR>i:=i+1;<BR>lblDisplay.caption:=c+inttostr(i);<BR>write(savef,c);<BR>if
(c=chr(10))or(c=chr(13))
then<BR>begin<BR>lblDisplay.caption:=''cr''+inttostr(i);<BR>memDisplay.lines.add(ss);<BR>ss:='''';<BR>end;<BR>end;<BR>end;<BR>end;<BR></P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!-- 页面内容结束 -->
<DIV align=center>
<SCRIPT language=JavaScript
src="使用ACTIVEX和DELPHI开发串口通讯.files/in_footer.js"></SCRIPT>
<SCRIPT id=scriptcount language=JavaScript name="scriptcount"></SCRIPT>
</DIV><!--搜索:使用ACTIVEX和DELPHI开发串口通讯--></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -