sample4.dpr

来自「用来测试任何pcsc兼容读卡器」· DPR 代码 · 共 54 行

DPR
54
字号
{$APPTYPE CONSOLE}
program sample4;
uses Windows,PCSCClasses,SysUtils,VASBase,SelectReader2;
var
 rm:TResourceManager;
 new_alias,readername:string;
begin
 try
  readername:=ShowSelectReader('ppp');
  if readername<>'' then
  begin
   rm:=TResourceManager.Create(nil);
   if Assigned(rm) then
   with rm do
   try
    Connect(dsSystem);
    if Assigned(Readers[readername]) then
    with Readers[readername] do
    begin
     Connect(smDirect,prUndefined);
     writeln('Attributes of ',readername);
     writeln('Vendor name:'#9,Attribute[SCARD_ATTR_VENDOR_NAME].Str);
     writeln('IFD type:'#9,Attribute[SCARD_ATTR_VENDOR_IFD_TYPE].Str);
     writeln('IFD version:'#9,Attribute[SCARD_ATTR_VENDOR_IFD_VERSION].Str);
     writeln('IFD serial no:'#9,Attribute[SCARD_ATTR_VENDOR_IFD_SERIAL_NO].Str);
     writeln('IFD channel ID:'#9,Attribute[SCARD_ATTR_CHANNEL_ID].Byte);
     writeln('IFD protocols:'#9,Attribute[SCARD_ATTR_PROTOCOL_TYPES].Byte);
     writeln('Device unit:'#9,Attribute[SCARD_ATTR_DEVICE_UNIT].Byte);
     writeln('Device system name :'#9,Attribute[SCARD_ATTR_DEVICE_SYSTEM_NAME].Str);
     writeln('Device friendly name:'#9,Attribute[SCARD_ATTR_DEVICE_FRIENDLY_NAME].Str);
     if MessageBox(0,pchar('Do you want to introduce a new alias of '+Attribute[SCARD_ATTR_DEVICE_SYSTEM_NAME].Str+'?'),'PCSC Sample4',MB_ICONQUESTION or MB_YESNO)=IDYES then
     begin
      writeln('Supply the new alias:');
      readln(new_alias);
      IntroduceReaderName(new_alias,Attribute[SCARD_ATTR_DEVICE_SYSTEM_NAME].Str);
     end;
    end
    else
     writeln('There has been a problem with accessing the reader');
    writeln('Press any key to finish...');
    readln;
   finally
    rm.Free;
   end;
  end;
 except
  on e:ESCardError do
  begin
   writeln(e.message);
   readln;
  end;
 end;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?