PS/2接口的磁卡机,用什么方法可以读它刷卡的数据? 100分!(100分)

  • 主题发起人 主题发起人 psstudio
  • 开始时间 开始时间
P

psstudio

Unregistered / Unconfirmed
GUEST, unregistred user!
求源代码!或者一个例子,该卡内容不多好像只有10位数,小弟是新手,请高手写一段代码
非常感谢!
 
鄙人自费建了一个QQ群 ,号码:22037366 请大家申请加入,唯一的要求是不要谈论Delphi以外的东西,我们的目标是将Delphi进行到底
 
请大家帮帮忙吧.....小弟是新手.非常感谢
 
那是键盘仿真的,原理与键盘输入一样。

新建一个EDIT控件,聚焦该控件,然后刷卡,那卡上的数据会显示在EDIT框里,取EDIT.TEXT即可
 
PS/2接口的磁卡机,效果就是一键盘,就像红叶所说的方法去做
不过更好的方法是用Form截获KeyPress,当探测到磁卡编号时,再给Edit框赋值
 
我给我的客户做的磁卡机,开始使用的是PS/2口的,结果PS/2口的就是仿真键盘,和键盘一样,打开记事本,就能够把卡号显示在里面,字符长短取决于磁道的字符存储量。
不过写卡器都是串口的。
后来,感觉这个没有什么用处,都换成了,串口的,不过加了10块钱,这下好了写。使用SPCOMM打开串口的时候,读卡器灯就亮了,把取接收的字符就OK了。
现在一直用着呢。。
不过写卡器的开发,需要到服务商索取写入和读入指令的。。。
磁卡使用的是:SOLIC的R140.
这个是我主登录界面的读卡程序,其他例子也有不过都是SPCOMM组件的。
procedure COMSTART(COM:Integer);
procedure TFrmLogin.COMSTART(COM:Integer);
begin
if COM=1 then
Comm1.CommName:='COM1' else Comm1.CommName:='COM2';
try
Comm1.StopComm;
Comm1.StartComm;
except
Comm1.StopComm;
ErrMessage('不能通信,串口没有准备好!');
end;
end;

procedure TFrmLogin.Comm1ReceiveError(Sender: TObject;
EventMask: Cardinal);
begin
ErrMessage('读写卡错误!错误号码:'+IntToStr(EventMask));
end;

procedure TFrmLogin.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
StrReceive:string;
begin
SetLength(StrReceive,BufferLength);
Move(Buffer^,Pchar(StrReceive)^,BufferLength);
if Length(StrReceive)>8 then
begin
ed_CardID.Text:=StrReceive;
bLogin.OnClick(self);
end;
end;
 
超级牛X兄弟.能不能写一段代码,你说的最佳方法.
 
在EDIT设置焦点,PS/2自动刷的时候,绿灯亮,自动就读入了。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部