frm_c_getyhzhpas.pas

来自「是一个用delphi设计的考勤系统」· PAS 代码 · 共 130 行

PAS
130
字号
unit frm_c_getyhzhpas;

interface

uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, ModalForm, Menus, StdCtrls, ExtCtrls, YLabelButton, ChangeImage, UTYhxx,
   UErrDisplay;

type
   Tfrm_c_getyhzh = class(TMyModalForm)
      GroupBox1: TGroupBox;
      Label2: TLabel;
      Label3: TLabel;
      Label4: TLabel;
      Label5: TLabel;
      lblyhbh: TLabel;
      lblyhxm: TLabel;
      lblbjmc: TLabel;
      lblsfzh: TLabel;
      GroupBox2: TGroupBox;
      Label1: TLabel;
      Edt_Yhzh: TEdit;
      BtnOk: TChangeImg;
      LBtnOk: TLabelB;
      BtnExit: TChangeImg;
      LBtnExit: TLabelB;
      procedure BtnOkClick(Sender: TObject);
      procedure BtnExitClick(Sender: TObject);
      procedure FormShow(Sender: TObject);
      procedure Edt_YhzhKeyPress(Sender: TObject; var Key: Char);
      procedure imgCloseButtonClick(Sender: TObject);
   private
    { Private declarations }
   public
    { Public declarations }
      Yhxx: TYhxx
   end;

var
   frm_c_getyhzh: Tfrm_c_getyhzh;

implementation
var
   bEnter: Boolean;

{$R *.dfm}

procedure Tfrm_c_getyhzh.BtnOkClick(Sender: TObject);
var
   tmp: string;
begin
   inherited;
   tmp := edt_yhzh.Text;
{ yhxx.Track1:= copy(tmp, 2, pos('=', tmp) - 2);
  yhxx.Track2 := copy(tmp, 2, pos('?', tmp) - 2);
  yhxx.Track3 := copy(tmp, pos('+', tmp) + 1, length(tmp) - pos('+', tmp) - 1);
  if (yhxx.Track1 = '') or (yhxx.Track2 = '') or (yhxx.Track3 = '')
     or (pos('+', tmp) = 0)or (pos('?', tmp) = 0)
     or (pos(';',tmp)=0)  then}

  //KDE刷卡器
   yhxx.Track2 := copy(tmp, pos('?', tmp) + 1, length(tmp));
   yhxx.Track1 := copy(yhxx.Track2, 1, pos('=', yhxx.Track2) - 1);
   yhxx.Track3 := copy(tmp, 2, pos('?', tmp) - 2);
   if (yhxx.Track1 = '') or (yhxx.Track2 = '') or (yhxx.Track3 = '')
      or (pos('^', tmp) = 0) or (pos('?', tmp) = 0) then
   begin
      GroupBox2.Caption := '银行帐号不正确请重新刷卡。请刷卡...';
      bEnter := False;
      edt_yhzh.Text := '';
      edt_yhzh.SetFocus;
      exit;
   end;
   close;
end;

procedure Tfrm_c_getyhzh.BtnExitClick(Sender: TObject);
begin
   inherited;
   yhxx.Track1 := '';
   yhxx.Track2 := '';
   yhxx.Track3 := '';
   close;
end;

procedure Tfrm_c_getyhzh.FormShow(Sender: TObject);
begin
   inherited;
   lblyhbh.Caption := yhxx.Yhbh;
   lblyhxm.Caption := yhxx.Yhxm;
   lblsfzh.Caption := yhxx.Sfzh;
   lblbjmc.Caption := yhxx.Bjmc;
   edt_yhzh.Text := '';
   bEnter := False;
   edt_yhzh.SetFocus;
end;

procedure Tfrm_c_getyhzh.Edt_YhzhKeyPress(Sender: TObject; var Key: Char);
begin
   inherited;
{  if key=#13 then
    BtnOkClick(self);
    }
  //KDE刷卡器专用,判断弟二个回车符才有效
   if key = #27 then
   begin
      bEnter := False;
      edt_yhzh.Text := '';
   end;
   if (key = #13) then
   begin
      if bEnter then
         BtnOkClick(self)
      else
         bEnter := True;
   end;
end;

procedure Tfrm_c_getyhzh.imgCloseButtonClick(Sender: TObject);
begin
   inherited;
   yhxx.Track1 := '';
   yhxx.Track2 := '';
   yhxx.Track3 := '';
   close;
end;

end.

⌨️ 快捷键说明

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