倾家荡产在所不惜,200分全给了,这是我第一次在大富翁提问题,请各位编程老大,帮帮拖...(200分)

  • 主题发起人 主题发起人 Decade_hai
  • 开始时间 开始时间
D

Decade_hai

Unregistered / Unconfirmed
GUEST, unregistred user!
1.我现在要搞一个门禁类似的系统.也可以说是考勤系统,我要在门口放四个考勤机,而每个入口
又要实现指纹考验,另外又要配上液晶显示器进行相关显示.就是说,一共有12个接口与计算机
的一个RS232串口相连,我初步设想是用RS485转换器连接,请问这样可行否?
2.如果可行,那么程序在处理信息时,可能有同时处理4条验证进程.怎样可以提高速度.客户要求
在15分钟内完成500人的验证.
3,请给出可行方案,拜托!如果答复方案可行.200分必定全送!
 
可以采用智能卡(多用户卡),一个卡可以增加8-16个串口,
要及时完成验证,注意减少验证的数据通讯量,
另外,如果实在不行,增加一台机器通过局域网同步,应该就没有什么问题了
 
请问wangzz:客户要求用的指纹验证身份,我是先用非接触IC先锁定验证数据.然后用指纹进行
身份验证.如果仅用智能卡,不能验证身份.请详细描述一下智能卡,和一般的IC卡区别,好吗?
 
你可以采用台湾产的MOXA多功能的串口扩展卡,你可以任意多的扩充串口,之后你在你的程序中使用
线程,进行从起始串口到终止串口的循环即可.我的程序就是这样的,客户处有24台手持机进行同时
采集.
肯定是可以的!!!
 
Nport Server比较好,速度快,去moxa网站看看,应该没问题[:D]
 
对线程编程我不太熟,是否短期内可掌握.并可解决此问题?:
 
你想问什么问题啊?我不知道你问什么?
 
一个考勤系统,四个进入口,每个进入口要放一个打卡机(非接触IC卡),一个指纹仪,
一个液晶显示器,用以显示相关信息.就是说门口要用到12个接口,它们要和一个RS232计算机
串口相连,在15分钟左右完成500人的出入验证,请问有什么好的解决方案?
 
1人/3秒时间,也就是说每样要进行1秒,其实可以减去打卡这一项(机器内记录即可)。
 
但我是用打卡来保证速度的(先锁定需要验证的记录),就是2000人速度也不会相差太远.
 
排除法验证指纹,先检查没检查过的后检查已经检验过的!!
这样15分钟500人不成问题!!
 
[blue][/blue][yellow]zhaowei7804,yansh,谢谢你们的宝贵意见.我已查过相关网站,两位能否提供相关的一些源
代码(希望是DELPHI),的不胜感激!我的QQ号码是:2653384,看见请与我联系.确实很需要你们
的帮忙,谢谢![/yellow][:)]
 
[blue]zhaowei7804,yansh,谢谢你们的宝贵意见.我已查过相关网站,两位能否提供相关的一些源
代码(希望是DELPHI),的不胜感激!我的QQ号码是:2653384,看见请与我联系.确实很需要你们
的帮忙,谢谢![/blue]
 
constructor pos_cj.create(COM_232:string);
unit pos_thread;

interface

uses
Classes,Graphics,Qforms,sysutils,variants,windows,Dialogs;

type
pos_cj = class(TThread)
private
COM:string;
//flag_true:boolean;
pos_handle:integer;
sys_232:string;
{ Private declarations }
protected
procedure sjcj;
procedure Execute; override;
public
constructor create(COM_232:string);
end;

implementation

uses Pos, Urfdll, fun, datamodulefrm, report, datamoduledic_frm;

{ Important: Methods and properties of objects in VCL or CLX can only be used
in a method called using Synchronize, for example,

Synchronize(UpdateCaption);

and UpdateCaption could look like,

procedure pos.UpdateCaption;
begin
Form1.Caption := 'Updated in a thread';
end; }

{ pos }
constructor pos_cj.create(COM_232:string);
begin
COM:=COM_232;
inherited create(true);
freeonterminate:=true;
end;

procedure pos_cj.sjcj;
begin
try
finally
freeonterminate:=true;
//showmessage('上传数据失败!!!');
code:=link_close(pos_handle);
end; //try

end; //begin //--pos_cj.sjcj--//

procedure pos_cj.Execute;
var
i : integer;
begin
freeonterminate:=true;
//entercriticalsection(cs);
for i:=1 to 2 do
begin
Com:='COM'+inttostr(i);
synchronize(sjcj);
end;
//leavecriticalsection(cs);
end;
end.

我只是将结构传给你,希望你能解决你的问题.
我想你对我的实际内容是不会感兴趣的.
 
如果你的终端( 一个打卡机(非接触IC卡),一个指纹仪,一个液晶显示器)的通讯协议中
有地址的差别,就可以用485接口进行联结,--当然,如果终端上不带485接口,你得
加上一个232/485转换器。
 
多人接受答案了。
 
谢谢各位的热情相助,特别是zhaowei7804的帮忙,谢谢!
积分如下分配:
zhaowei7804: 115
D影子D: 10
GORDONJIE: 5
jack.shi: 10
wangzz: 20
yansh: 30
竹竿: 10

 

Similar threads

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