📄 u_card.pas
字号:
unit U_Card;
{* 作者:肖景峰
*开发时间:2005-10-30
*模块作用:对读卡器进行处理
}
interface
{1} //打开设备,进行口令验正
function Open_Card():Boolean;
{2} // 关闭设备
function CLose_Card():boolean;
{3} // 写卡,对卡进行写操作
function Write_card(COntent:pchar):boolean;
{4}//对卡进行读操作
function Read_Card():string;
{5} //写卡时内容组织
function Content(aa:string):string;
{6}//卡片比效函数
function Card_Compare():boolean;
{7}//是否有卡片在驱动器里
function Check_card():Boolean;
{8}//系统数据库配置函数
procedure Sys_DataBase();
{9}//数据库连接测试
function Data_Test1():boolean;
implementation
uses u_public_define,dialogs,sysutils,StrUtils,u_configure_database,u_data;
{1} //打开设备,进行口令验正
function Open_Card():Boolean;
var
Status:integer;
aa:array[0..2]of char;
begin
//
g_icdev:=auto_init(g_gj_ckh-1,9600);
g_st:=setsc_md(g_icdev,1);
aa:=chr(0)+chr(0)+chr(0);
// g_icdev:=auto_init(0,9600);
G_st := cmp_dvsc(G_icdev, 3, aa);
G_st:=setsc_md(G_icdev, 0);
G_st:=get_status(G_icdev, @Status);
If G_st < 0 Then
begin
showmessage('驱动器有错误!请检查设备后继续使用!');
OPen_Card:= False;
// G_st :=ic_exit(G_icdev);
Exit;
end;
OPen_Card := True;
end;
{2} // 关闭设备
function CLose_Card():boolean;
begin
G_st := ic_exit(G_icdev);
If G_st < 0 Then
begin
showmessage('关闭设备时有误,请重新启动系统');
close_card:=false;
exit;
end;
close_card:=true;
//
end;
{3} // 写卡,对卡进行写操作
function Write_card(COntent:pchar):boolean;
begin
G_st := swr_eeprom(G_icdev, 0, 384, Content);
If G_st <> 0 Then
begin
showmessage('写卡时出错,请检查后使用!');
Write_card := False;
exit;
end;
Write_card:= True;
//
end;
{4}//对卡进行读操作
function Read_Card():string;
var
Cent:array[0..383] of char;
tent:array[0..383] of char;
I,j:integer;
DD:string;
begin
G_st:= srd_eeprom(G_icdev, 0, 383, Cent);
If G_st < 0 Then
begin
showmessage('读卡时出错,请检查后使用!');
Exit;
end;
For i := 0 To 383 do
begin
If i > 13 Then
begin
for j:=0 to 12 do
begin
dd:=dd+cent[j];
end;
Read_Card:= dd;
Exit;
end;
end;
end;
{If asc(Mid(Cent, i, 1)) = 17 Then
Read_Card = TEnt
Exit Function
End If
TEnt := TEnt & Mid(Cent, i, 1);
end;
//Read_Card := cEnt; }
//
{5} //写卡时内容组织
function Content(aa:string):string;
begin
//
end;
{6}//卡片比效函数
function Card_Compare():boolean;
begin
//
end;
{7}//
function check_card():boolean;
var
Status:integer;
aa:array[0..2]of char;
begin
status:=0;
G_st:=get_status(G_icdev, @Status);
If Status =0 Then
begin
//showmessage('请插入卡后使用!');
check_Card:=False;
// G_st := ic_exit(G_icdev);
Exit;
End;
check_Card := True;
end;
{8}//系统数据库配置函数
procedure Sys_DataBase();
var
RandomFile : file of Configrue_File;
Str:string;
{ begin
str:=path+'sys.ini';
Assign(randomfile,str);
rewrite(randomfile);
write(randomfile,g_sys_data);
closefile(randomfile);
// }
begin
Assign(randomfile,'sys.ini');
reset(randomfile);
while not eof(randomfile) do
begin
read(randomfile,g_sys_data);
end;
end;
{9}//数据库连接测试
function Data_Test1():boolean;
begin
{ data.g_con.Close;
data.G_Con.Close;
data.g_con.ConnectionString:='Provider=SQLOLEDB.1;'+
'Password='+trim(g_sys_data.System_Password)+';'+
'Persist Security Info=True;'+
'User ID='+Trim(g_sys_data.System_Num)+';'+
'Initial Catalog='+ Trim(g_sys_data.DataBase_Name)+';'+
'Data Source='+Trim(g_sys_data.Server_Name)+';';
data.G_con.ConnectionTimeout:=30;
data.g_con.Open();
data_test1:=true;
}
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -