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

📄 kaoqinflashfrm.pas

📁 结合读卡器使用。程序中有按迟到时间长短自动开罚单功能
💻 PAS
字号:
unit KaoqinFlashfrm;

{$IFNDEF _DEBUG_}
{$D-}
{$ENDIF}
{********************************************************************}
{*                                                                  *}
{*             Base Form for Modal Dialog                           *}
{*            Copyright Kingron 2002.10.22                          *}
{*            WEB:http://kingron.myetang.com                        *}
{*            Bug Report: Kingron@163.net                           *}
{*                                                                  *}
{********************************************************************}

interface

uses
  Windows, Messages, SysUtils, Classes, Forms, Controls, StdCtrls, Buttons,
  ExtCtrls, jpeg, RXCtrls;

type
  TCallBackProc = procedure(AForm: TForm) of object;

type
  TKaoqinFlashForm = class(TForm)
    RxLabel1: TRxLabel;
    Panel1: TPanel;
    Image2: TImage;
    RxLabel6: TRxLabel;
    RxLabel7: TRxLabel;
    RxLabel8: TRxLabel;
    RxLabel9: TRxLabel;
    Timer1: TTimer;
    RxLabel2: TRxLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    procedure GetKaoqinData;
    procedure ShowFields; 
  protected
    { Private declarations }
    procedure CreateParams(var Para: TCreateParams); override;
  public
    { Public declarations }
    class function Execute(BeforeShow: TCallBackProc = nil; AfterClose: TCallBackProc
      = nil): TModalResult; virtual;
  end;

implementation
uses DataModule1;

{$R *.DFM}

procedure TKaoqinFlashForm.FormCreate(Sender: TObject);
begin
  inherited;
  Screen.Cursors[crHandPoint] := LoadCursor(0, IDC_HAND);
  DeleteMenu(GetSystemMenu(Handle, False), SC_SIZE, MF_BYCOMMAND);
end;

procedure TKaoqinFlashForm.CreateParams(var Para: TCreateParams);
begin
  inherited;
  if Application.MainForm <> nil then Para.WndParent := GetActiveWindow;
end;

class function TKaoqinFlashForm.Execute(BeforeShow: TCallBackProc = nil; AfterClose:
  TCallBackProc = nil): TModalResult;
var
  Form: TForm;
begin
  Form := Create(Application);
  with Form do
  try
    if Assigned(BeforeShow) then BeforeShow(Form);
    Result := ShowModal;
    if Assigned(AfterClose) then AfterClose(Form);
  finally
    Free;
  end;
end;

procedure RefreshControl(Control: TControl); { Refresh Self and SubControls }
  var
    i: integer;
  begin
    Control.Invalidate;
    if Control is TWinControl then
      for i := 0 to TWinControl(Control).ControlCount - 1 do
        RefreshControl(TWinControl(Control).Controls[i]);
  end;
procedure TKaoqinFlashForm.FormShow(Sender: TObject);
begin
  if Position = poDesigned then
  begin
    AnimateWindow(Handle, 300, AW_BLEND or AW_ACTIVATE); { Animate Window }
    SetActiveWindow(Handle); { Active Window }
    RefreshControl(Self); { Update UI }
  end;

  GetKaoqinData;
  ShowFields;

end;

procedure TKaoqinFlashForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  AnimateWindow(Handle, 200, AW_HIDE or AW_BLEND or AW_SLIDE); { Animate Window }
end;

procedure TKaoqinFlashForm.GetKaoqinData;
begin
   with DM.qryKaoqin do
   begin
      Close;
      SQL.Clear;
      SQL.Add('Select * from Kaoqin');
      SQL.Add('Where (K_Date=:varDate) and (K_Penalty>:varPenalty)');
      params[0].AsDateTime :=Date;
      Params[1].AsInteger :=0;
      Open;
      First;
   end;
end;

procedure TKaoqinFlashForm.ShowFields;
begin
   with DM.qryKaoqin do

   begin
      RxLabel6.Caption :='姓    名:'+FieldByName('K_Name').AsString;
      RxLabel7.Caption :='部    门:'+FieldByName('K_Department').AsString;
      RxLabel8.Caption :='到岗时间:';
      RxLabel2.Caption :=TimeToStr(FieldByName('K_Time').AsDateTime);
      RxLabel9.Caption :='罚    金:';
   end;
end;

end.

⌨️ 快捷键说明

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