标题:读卡器如何和delphi相连
取消只看楼主
aaron52088
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-1-24
 问题点数:0 回复次数:4 
读卡器如何和delphi相连
想问下大家,我读卡器是接打印机接口的,
怎么可以和我写的delphi程序相连接啊,
帮忙了,3Q先
搜索更多相关主题的帖子: delphi 读卡器 
2007-03-13 15:49
aaron52088
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-1-24
得分:0 
以下是引用stars_chen在2007-3-14 17:17:53的发言:
首先你要知道讀卡器輸出的數據格式是什麽.
然後你可以用一種數據線把打印機接口轉換成COM口,就是一邊接頭接讀卡器的接口,另一邊接電腦的COM口.
DELPHI再通過對COM連接來獲取數據進行處理.

谢谢大家先.
已经有数据线和COM相连了,
读卡器是用科密IT-2200A的,
想问的是怎么通过对COM连接来读取数据的,
我用的是MCSCOMM控件,想读在EDIT1.TEXT中.
但是卡的存储区字段分布我不知道啊,
是自己定义的吗?


2007-03-18 10:16
aaron52088
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-1-24
得分:0 
我是这样写的,不过连接读卡器后并没有在memo1里面显示出卡的内容,
请问下是什么地方错了,谢谢啦~
procedure TForm1.MSComm1Comm(Sender: TObject);
var
SerialInput:variant;
serialdatalength,i,tmpint:integer;
begin
if mscomm1.CommEvent=2 then
begin
serialinput:=form1.MSComm1.Input ; //读取串口数据
serialdatalength:=form1.MSComm1.InBufferCount;//读取数据的长度
for i:=0 to serialdatalength-1 do
begin
tmpInt:=serialinput[i];
memo1.Text:=memo1.Text+serialinput[i];
end;
end
else showmessage('读卡器没有连接好');
end;

2007-03-20 09:31
aaron52088
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-1-24
得分:0 

procedure TForm1.FormCreate(Sender: TObject);
begin
str:='';
mscomm1.PortOpen:=true;

end;

procedure TForm1.MSComm1Comm(Sender: TObject);
begin
if MSComm1.CommEvent=ComEvReceive then
begin
str:=str+MSComm1.Input;
if copy(str,length(str),1)=chr(3) then
begin
memo1.Text:=copy(str,1,length(str)-1);
str:='';
end;
end;
end;
这样可以吗?谢谢大家乐


2007-03-22 11:18
aaron52088
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-1-24
得分:0 
只知道那个读卡器的频率是19200,其他数据位和校验位都不知道,
但是就那几位可以自己试试看的。
主要是先看看程序有没有问题的,
我暂时把MCSComm的控件设置成19200,N,8,1的。
如果程序没有问题的话,我再改改数据位和校验位的。
大家再帮帮忙得,谢谢啦。

再问问以ASCII码的方式,就应该是以字符的方式吧?

2007-03-23 10:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-124014-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.152025 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved