达人,能否用C++Builder 转神思识别器Delphi代码

qq_17341897 2016-09-27 09:56:52
Function UCommand1(pCmd:PByte; parg0,parg1,parg2:Pint):integer; stdcall;far; External 'RdCard.dll'; //
Function GetAddr (buf:pchar):integer; stdcall;far;External 'RdCard.dll';
Function GetBegin (buf:pchar):integer; stdcall;far;External 'RdCard.dll';
Function GetName (buf:pchar):integer; stdcall;far;External 'RdCard.dll';
Function GetSex (buf:pchar):integer; stdcall;far;External 'RdCard.dll';
Function GetFolk (buf:pchar):integer; stdcall;far;External 'RdCard.dll';
Function GetIDNum (buf:pchar):integer; stdcall;far;External 'RdCard.dll';
Function GetDep (buf:pchar):integer; stdcall;far;External 'RdCard.dll';
Function GetBirth (buf:pchar):integer; stdcall;far;External 'RdCard.dll';
Function GetEnd (buf:pchar):integer; stdcall;far;External 'RdCard.dll';
Function GetNewAddr(buf:pchar):integer; stdcall;far;External 'RdCard.dll';
//Function GetSexGB (buf:pchar):integer; stdcall;far;External 'RdCard.dll';
//Function GetFolkGB (buf:pchar):integer; stdcall;far;External 'RdCard.dll';
Function GetSAMIDToStr(buf:pchar):integer; stdcall;far;External 'RdCard.dll';
Function GetErrString(eNum:integer;buf:pchar):integer; stdcall;far;External 'RdCard.dll';
Function GetSamID(buf:pchar):integer; stdcall;far;External 'RdCard.dll';

{procedure TForm1.Timer1Timer(Sender: TObject);
var
info:array[0..255] of BYTE;
uniData:array[1..256] of BYTE;
ss,ss1:string;
hFile:THandle; //文件句柄
nRead:DWORD; //读取字节数
i,j:integer;

rect:Trect;

cmd:BYTE;
para0,para1,para2:integer;
begin
if not bRun then
begin
//
Timer1.Enabled:=False;
Try
cmd:=$43;
para0:=1;
para1:=strtoint(Edit1.text);
para2:=strtoint(Edit2.text);
nRet:=UCommand1(@cmd,@para0,@para1,@para2);
if nRet=62171 then
begin
//清除信息显示
//验证卡成功
//读基本信息
cmd:=$44;
para0:=1;
para1:=strtoint(Edit1.text);
//para2:=strtoint(Edit2.text);
ss:=ExtractFilePath(Application.ExeName)+'tt';
//para2=@ss;
nRet:=UCommand1(@cmd,@para0,@para1,Pint(ss));
if (nRet=62171) or (nRet=62172) then
begin
bRead := True;
if nRet=62172 then
begin
zhiwen.text := '有指纹数据: '+ss+'fp.bin';
end
else
begin
zhiwen.text := '无指纹数据';
end;

begin
//Showmessage('文件读入成功!');
//========================================
j:=0;
//Name
for i:=1 to 30 do
begin
uniData[i]:=info[j+i-1];
end;
esName.Caption:=trim(WideCharLenToString(PWideChar(@uniData),15));
//Sex
j:=30;
for i:=1 to 2 do
begin
uniData[i]:=info[j+i-1];
end;
esSex.Caption:=trim(WideCharLenToString(PWideChar(@uniData),1));
if esSex.Caption='1' then
esSex.Caption:='男'
else
esSex.Caption:='女';

//Folk
j:=32;
for i:=1 to 4 do
begin
uniData[i]:=info[j+i-1];
end;
esFolk.Caption:=trim(WideCharLenToString(PWideChar(@uniData),2));
esFolk.Caption:=FOLK[strtoint(esFolk.Caption)];
//BirthDay
j:=36;
for i:=1 to 16 do
begin
uniData[i]:=info[j+i-1];
end;
esBirth.Caption:=trim(WideCharLenToString(PWideChar(@uniData),8));
//Addr
j:=52;
for i:=1 to 70 do
begin
uniData[i]:=info[j+i-1];
end;
esAddr.Caption:=trim(WideCharLenToString(PWideChar(@uniData),35));
//ID
j:=122;
for i:=1 to 36 do
begin
uniData[i]:=info[j+i-1];
end;
esID.Caption:=trim(WideCharLenToString(PWideChar(@uniData),18));
//Issue
j:=158;
for i:=1 to 30 do
begin
uniData[i]:=info[j+i-1];
end;
esIssue.Caption:=trim(WideCharLenToString(PWideChar(@uniData),15));
//IssueBegin
j:=188;
for i:=1 to 16 do
begin
uniData[i]:=info[j+i-1];
end;
esBegin.Caption:=trim(WideCharLenToString(PWideChar(@uniData),8));
//IssueEnd
j:=204;
for i:=1 to 16 do
begin
uniData[i]:=info[j+i-1];
end;
esEnd.Caption:=trim(WideCharLenToString(PWideChar(@uniData),8));
{j:=220;
for i:=1 to 70 do
begin
uniData[i]:=info[j+i-1];
end;
}
Try
ss1:=ss+'zp.bmp';
Image1.Picture.Bitmap.LoadFromFile(ss1);
except
end;
//WinExec(

end;
procedure TForm1.BitBtn2Click(Sender: TObject);
var
cmd:BYTE;
para0,para1,para2:integer;
begin
if not Timer1.Enabled then
begin
cmd:=$41; //打开串口
para0:=0; //自动搜索端口
para1:=strtoint(Edit1.text);
para2:=strtoint(Edit2.text);
nRet:=UCommand1(@cmd,@para0,@para1,@para2);
//if (nRet=62171)OR(nRet=-5)OR(nRet=-7) then
if (nRet=62171) then
begin
Timer1.Enabled:=True;
end;
if not Timer1.Enabled then
esEnd.Caption:='Return:'+inttostr(nRet);
end
else
begin
Timer1.Enabled:=False;
cmd:=$42; //关闭端口
para0:=0; //自动搜索端口
para1:=strtoint(Edit1.text);
para2:=strtoint(Edit2.text);
nRet:=UCommand1(@cmd,@para0,@para1,@para2);

end;
if Timer1.Enabled then
begin
BitBtn2.Caption:='断开连接';
end
else
begin
BitBtn2.Caption:='连 接';
end;
end;
...全文
1434 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjq2003 2016-10-03
  • 打赏
  • 举报
回复
var cmd:BYTE; para0,para1,para2:integer; begin if not Timer1.Enabled then begin 翻译如下:

byte cmd;
int  para0,para1,para2;
{// begin
  if(!Timer1.Enabled)
{// begin
}//end
}//end
xjq2003 2016-10-03
  • 打赏
  • 举报
回复
Function UCommand1(pCmd:PByte; parg0,parg1,parg2:Pint):integer; stdcall;far; External 'RdCard.dll'; // Function GetAddr (buf:pchar):integer; stdcall;far;External 'RdCard.dll'; Function GetBegin (buf:pchar):integer; stdcall;far;External 'RdCard.dll'; Function GetName (buf:pchar):integer; stdcall;far;External 'RdCard.dll'; Function GetSex (buf:pchar):integer; stdcall;far;External 'RdCard.dll'; Function GetFolk (buf:pchar):integer; stdcall;far;External 'RdCard.dll'; Function GetIDNum (buf:pchar):integer; stdcall;far;External 'RdCard.dll'; Function GetDep (buf:pchar):integer; stdcall;far;External 'RdCard.dll'; Function GetBirth (buf:pchar):integer; stdcall;far;External 'RdCard.dll'; Function GetEnd (buf:pchar):integer; stdcall;far;External 'RdCard.dll'; Function GetNewAddr(buf:pchar):integer; stdcall;far;External 'RdCard.dll'; //Function GetSexGB (buf:pchar):integer; stdcall;far;External 'RdCard.dll'; //Function GetFolkGB (buf:pchar):integer; stdcall;far;External 'RdCard.dll'; Function GetSAMIDToStr(buf:pchar):integer; stdcall;far;External 'RdCard.dll'; Function GetErrString(eNum:integer;buf:pchar):integer; stdcall;far;External 'RdCard.dll'; Function GetSamID(buf:pchar):integer; stdcall;far;External 'RdCard.dll'; 这一段是调用dll ,声明函数的,
xjq2003 2016-10-03
  • 打赏
  • 举报
回复
学习一点pascal语法,自己转c++代码就行了,很简单的啊

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧