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

📄 uprint.pas

📁 人事档案管理
💻 PAS
字号:
unit uPrint;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, FR_Class, FR_Desgn, DB, ADODB, FR_DSet,
  FR_DBSet, uDlgbase, XPMenu;

type
  TfrmPrint = class(TfrmDlgBase)
    cbInfo: TCheckBox;
    cbEx: TCheckBox;
    cbFami: TCheckBox;
    cbAP: TCheckBox;
    cbTrain: TCheckBox;
    Label1: TLabel;
    btnPrint: TBitBtn;
    btnClose: TBitBtn;
    cbTrs: TCheckBox;
    fdsFami: TfrDBDataSet;
    fdsSinfo: TfrDBDataSet;
    fdsAP: TfrDBDataSet;
    fdsExper: TfrDBDataSet;
    fdsTrain: TfrDBDataSet;
    frPer: TfrReport;
    xmPrt: TXPMenu;
    procedure cbTrsClick(Sender: TObject);
    procedure btnPrintClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    FIds: string;
    procedure DataInit;
  public
    { Public declarations }
    constructor Create(AOwner: TComponent; AIds: string); reintroduce;
  end;

var
  frmPrint: TfrmPrint;

implementation

uses udata, ustainfo, uglobal;

{$R *.dfm}

constructor TfrmPrint.Create(AOwner: TComponent; AIds: string);
begin
  inherited Create(AOwner);
  FIds := AIds;
end;

procedure TfrmPrint.DataInit;
begin
  with dmPer do
  begin
    OpenStaf(FIds);
    aqStaf.FieldByName('depid').OnGetText := GetDeptText;
    aqStaf.FieldByName('sorts').OnGetText := GetOtherText;
    aqStaf.FieldByName('duty').OnGetText := GetOtherText;
    aqStaf.FieldByName('folk').OnGetText := GetOtherText;
    aqStaf.FieldByName('level').OnGetText := GetOtherText;
    aqStaf.FieldByName('special').OnGetText := GetOtherText;
    OpenExperf;
    OpenFamif;
    OpenAPf;
    aqAPf.FieldByName('dep').OnGetText := GetDeptText;
    OpenTrainf;
  end;
end;

procedure TfrmPrint.cbTrsClick(Sender: TObject);
begin
  if cbTrs.Checked then
  begin
    AlphaBlend := True;
    AlphaBlendValue := 125;
  end
  else AlphaBlend := False;
end;

procedure TfrmPrint.FormShow(Sender: TObject);
begin
  DataInit;
end;

procedure TfrmPrint.btnPrintClick(Sender: TObject);
begin
  if not (cbInfo.Checked or cbEx.Checked or cbFami.Checked or cbAP.Checked or cbTrain.Checked) then
  begin
    MessageBox(Handle, '请选择要打印的内容!', '提示', mb_IconInformation + mb_Ok);
    cbInfo.Checked := True;
  end
  else
  begin
    DataInit;
    frPer.LoadFromFile(App.Path + 'frPer.frf');

    TFrBandView(frPer.FindObject('bvSd')).Visible := cbInfo.Checked;
    TFrBandView(frPer.FindObject('bvEh')).Visible := cbEx.Checked;
    TFrBandView(frPer.FindObject('bvEd')).Visible := cbEx.Checked;
    TFrBandView(frPer.FindObject('bvFh')).Visible := cbFami.Checked;
    TFrBandView(frPer.FindObject('bvFd')).Visible := cbFami.Checked;
    TFrBandView(frPer.FindObject('bvAh')).Visible := cbAP.Checked;
    TFrBandView(frPer.FindObject('bvAh')).Visible := cbAP.Checked;
    TFrBandView(frPer.FindObject('bvTh')).Visible := cbTrain.Checked;
    TFrBandView(frPer.FindObject('bvTh')).Visible := cbTrain.Checked;

    frPer.ShowReport;
    Log.Write('进行打印员工信息操作,所取员工ID号为' + FIds);
  end;
end;

end.

⌨️ 快捷键说明

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