⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u_card.pas

📁 这是一个非常使用的DELPHI源码的例子,用的是SQL数据库和DELPHI企业版
💻 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 + -