国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

使用ACTIVEX和DELPHI開發串口通訊

2019-11-18 18:24:29
字體:
來源:轉載
供稿:網友

于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;


上一篇:Delphi例程-應用程序級信息

下一篇:用Delphi制作DLL小結

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 通河县| 邻水| 东光县| 竹溪县| 澎湖县| 辽宁省| 衡阳县| 兖州市| 孟津县| 崇义县| 临猗县| 鸡泽县| 济宁市| 孟村| 泾源县| 新干县| 大宁县| 金堂县| 察隅县| 白玉县| 安化县| 山丹县| 临桂县| 灵璧县| 都兰县| 江津市| 东丽区| 云林县| 环江| 松潘县| 吕梁市| 常熟市| 健康| 武宁县| 漠河县| 抚远县| 武川县| 无为县| 来凤县| 辽阳县| 镇雄县|