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

📄 main.pas

📁 1. 发卡服务端:Server 项目文件:autojet.prj 2. 计费客户端:Client 项目文件:internet.prj Explorer.prj 先启动Exp
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, Db, DBTables, ToolWin, ComCtrls, ExtCtrls, StdCtrls, Buttons,
  ImgList, Grids, DBGrids, ScktComp;

type
  TCustomDBGridCracker = class(TCustomDBGrid) ;

  TFrm_Main = class(TForm)
    MainMenu1: TMainMenu;
    ControlBar1: TControlBar;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ImageList1: TImageList;
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    Splitter1: TSplitter;
    Memo1: TMemo;
    DataSource1: TDataSource;
    Timer1: TTimer;
    Timer2: TTimer;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N17: TMenuItem;
    N16: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    N21: TMenuItem;
    N22: TMenuItem;
    N24: TMenuItem;
    N25: TMenuItem;
    N27: TMenuItem;
    N28: TMenuItem;
    N23: TMenuItem;
    N26: TMenuItem;
    N29: TMenuItem;
    N31: TMenuItem;
    N32: TMenuItem;
    N33: TMenuItem;
    N34: TMenuItem;
    N35: TMenuItem;
    N36: TMenuItem;
    N38: TMenuItem;
    N39: TMenuItem;
    N41: TMenuItem;
    N44: TMenuItem;
    N45: TMenuItem;
    N47: TMenuItem;
    N46: TMenuItem;
    SSocket: TServerSocket;
    CLSocket: TClientSocket;
    PopupMenu1: TPopupMenu;
    PopupMenu2: TPopupMenu;
    N4: TMenuItem;
    N8: TMenuItem;
    ListBox4: TListBox;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N30: TMenuItem;
    N37: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure N44Click(Sender: TObject);
    procedure N45Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N17Click(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure N22Click(Sender: TObject);
    procedure N24Click(Sender: TObject);
    procedure N25Click(Sender: TObject);
    procedure N27Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure N32Click(Sender: TObject);
    procedure N34Click(Sender: TObject);
    procedure N47Click(Sender: TObject);
    procedure N42Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure N36Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N29Click(Sender: TObject);
    procedure N20Click(Sender: TObject);
    procedure N39Click(Sender: TObject);
    procedure N38Click(Sender: TObject);
    procedure SSocketClientRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure CLSocketError(Sender: TObject; Socket: TCustomWinSocket;
      ErrorEvent: TErrorEvent; var ErrorCode: Integer);
    procedure N8Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure N30Click(Sender: TObject);
  private
    procedure SoleRight(Sender: TObject);  // 设定权限
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_Main: TFrm_Main;

implementation

uses sys_dm, sys_global, sys_login, DllDef, AlterPassword, ScreenProtect,
   operator, CardIssue, CardUpdate, Init, GRate, Terminal, CardDele, CardAddOn,
   CardLoss, HandIN, GrpSum, Dlg1, Dlg2, Dlg3, FMAKEXTCS, UDATASOURCE, 
   ShowCards, Fxtcs, sfmx ;

{$R *.DFM}

const
  vers='ICCARDREADER' ;
var
  RHost: string='' ;  // 远程电脑名称

procedure TFrm_Main.FormCreate(Sender: TObject);
begin
  dateseparator := '-' ;
  shortdateformat := 'yyyy-mm-dd';
end;


procedure TFrm_Main.FormShow(Sender: TObject);
begin
  timer1.Enabled := true ; //进入登录窗口
end;


procedure TFrm_Main.Timer1Timer(Sender: TObject);
var
  info: array[0..60] of char;
begin
  timer1.Enabled := false;
  frm_sys_dm.ADOCNT1.close;
  frm_sys_dm.ADOCNT1.ConnectionString:='Provider=SQLOLEDB.1;Password=ADELOK;'+
     'Persist Security Info=True;User ID=ADEL;Initial Catalog=netbar;Data Source='+READCONN+
     ';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;'+
     'Use Encryption for Data=False;Tag with column collation when possible=False';
  TRY
     frm_sys_dm.ADOCNT1.Open();
  EXCEPT
     BEEP;
     messagebox(handle,PCHAR('登录数据库不成功 '+READCONN) ,'提示',mb_ok);
     CLOSE;
     EXIT;
  END;

  if openquery(frm_sys_dm.Qxtcs,'')<0 then begin
      beep;
      messagebox(handle,'网络错误,查询数据失败','提示',16);
      close;
      exit;
  end;

  if frm_sys_dm.Qxtcs.RecordCount=0 then begin
       messagebox(handle,'初次运行,请设置系统参数','提示',64);
       Application.CreateForm(TF_MAKEXTCS, F_MAKEXTCS);
       f_makextcs.MINSTEP:=1;
       f_makextcs.maxSTEP:=3;
       if F_MAKEXTCS.showmodal<>mrok then begin
          close;
          exit;
       end;
  end;

  if openquery(frm_sys_dm.Qxtcs,'')<0 then begin
     beep;
     messagebox(handle,'网络错误,查询数据失败','提示',16);
     close;
     exit;
  end;

  {if not checklimit then BEGIN   // 检查使用权限是否到期
      CLOSE;
      exit;
  END;}

  m_syspara:=sys_dm.padl(inttostr(frm_sys_dm.QXTCS.FIELDBYNAME('ID').ASInteger mod 10000),4,'0');
  m_icpass:=trim(frm_sys_dm.QXTCS.FIELDBYNAME('ICPASS').ASSTRING);

  ps(pchar(m_syspara));   // 产生系统参数

  m_com:= readcom;        // 通过注册表打开串口

  if not OpenCom(m_com) then begin
    MessageBox(handle,'不能打开串口','提示', mb_ok);
    close;
    exit ;
  end;

  if Get_Version(m_com, info) <> 0 then
  begin
    MessageBox(handle,'电脑检测不到发行机,请检查连接 ','提示', mb_ok);
    close;
    exit;
  end;

  if uppercase(copy(info,1,12))<> Vers then begin
    MessageBox(handle,'请选用正确的发行机','提示', mb_ok);
    close;
    exit ;
  end ;

  if frm_sys_login.showmodal<>mrok then begin
     close;
     exit;
  end;

  frm_sys_login.free ;

  frm_sys_dm.Qr_tmpp.Open ;
  SoleRight(Sender);          // 设定权限
  Timer2Timer(Sender);
  timer2.Enabled:=true;
  SSocket.Active := true ;  // 打开SSocket

  with frm_sys_dm.Qr_tmp1 do
  begin
    close;
    sql.Clear ;
    sql.Text := 'select yj, sxrq from pdata' ;
    open ;
    m_YJ := fields[0].AsInteger ;        // 押金
    m_sxrq := fields[1].asinteger ;      // 失效时间
    close ;
  end;

end;


procedure TFrm_Main.Timer2Timer(Sender: TObject);
var
  TmName: string ;
begin
  timer2.Enabled := false;
  with frm_sys_dm.Qr_tmpp do
  begin
    disablecontrols;
    TmName := fieldbyname('TermName').AsString ;
    close;
    open;
    locate('TermName',TmName,[]) ;
    enablecontrols;
  end;
  timer2.Enabled := true ;
end;

// 确定权限
procedure TFrm_Main.SoleRight(Sender: TObject);
begin
  if m_system='1' then N11.Visible := true else N11.Visible := false ;
  if m_card='1' then N21.Visible := true else N21.Visible := false ;
  if m_report='1' then N31.Enabled := true else N31.Visible := true ;
end;

// 操作人员维护
procedure TFrm_Main.N12Click(Sender: TObject);
begin
  frm_operator := Tfrm_operator.create(application);
  frm_operator.showmodal;
  frm_operator.free;
end;

// 初始化
procedure TFrm_Main.N14Click(Sender: TObject);
begin
  Frm_Init := TFrm_Init.create(application);
  Frm_Init.showmodal ;

⌨️ 快捷键说明

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