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

📄 kq_bzdye.pas

📁 感应IC卡电脑考勤、门禁、售饭一卡通管理系统是基于我公司开发生产的ESW型智能卡记录器所具有的对持卡人刷卡卡号、时间、次数进行读取贮存等功能
💻 PAS
字号:
unit Kq_BzdyE;

interface

uses Variants,
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Mask, DBCtrls, ExtCtrls, Db, ObeyTable, Buttons,
  CodeEd, OleCtnrs, ComCtrls, TimeIntField, Grids, DBGrids, dbcgrids, ADODB,
  ADOQry;

type
  TfrmKq_BzdyE = class(TForm)
    qryEdit: TADOQuery;
    DataSource1: TDataSource;
    qryEditCode: TStringField;
    qryEditName: TStringField;
    qryEditD: TADOQuery;
    DataSource2: TDataSource;
    qryEditDID: TIntegerField;
    qryEditDRptColXh: TSmallintField;
    qryEditDSbMinTime: TTimeIntField;
    qryEditDSbTime: TTimeIntField;
    qryEditDXbTime: TTimeIntField;
    qryEditDXbMaxTime: TTimeIntField;
    qryEditDIfTqjb: TSmallintField;
    qryEditDIfChiDao: TSmallintField;
    qryEditDIfZaoTui: TSmallintField;
    qryEditDIfKg: TSmallintField;
    qryEditDIfJbkq: TSmallintField;
    qryEditDIfTcjb: TSmallintField;
    qryEditIfFdJcsj: TBooleanField;
    qryEditDSbMaxTime: TTimeIntField;
    qryEditDXbMinTime: TTimeIntField;
    qryEditDIfXbbdk: TSmallintField;
    oPages: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    Label1: TLabel;
    Label2: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBCheckBox1: TDBCheckBox;
    qryEditID: TIntegerField;
    qryEditSessionID: TIntegerField;
    qryEditBcCount: TSmallintField;
    qryEditNote: TStringField;
    Label16: TLabel;
    DBEdit9: TDBEdit;
    panCmd: TPanel;
    Bevel2: TBevel;
    cmdBack: TBitBtn;
    cmdNext: TBitBtn;
    cmdCancel: TBitBtn;
    qryEditDBzID: TIntegerField;
    qryEditDFdXbTime: TTimeIntField;
    qryEditDFdSbTime: TTimeIntField;
    qryEditDIfSbbdk: TSmallintField;
    panBanCi: TPanel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label31: TLabel;
    Label4: TLabel;
    panIfTqjb: TPanel;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    panIfZaoTui: TPanel;
    RadioButton25: TRadioButton;
    RadioButton26: TRadioButton;
    panIfTcjb: TPanel;
    RadioButton11: TRadioButton;
    RadioButton12: TRadioButton;
    panIfChiDao: TPanel;
    RadioButton5: TRadioButton;
    RadioButton6: TRadioButton;
    panIfJbKq: TPanel;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    panJbSjPos: TPanel;
    RadioButton9: TRadioButton;
    RadioButton10: TRadioButton;
    RadioButton13: TRadioButton;
    panIfKg: TPanel;
    RadioButton7: TRadioButton;
    RadioButton8: TRadioButton;
    chkIfXbbdk: TCheckBox;
    lblBanCi: TStaticText;
    DBGrid1: TDBGrid;
    DBCtrlGrid1: TDBCtrlGrid;
    qryEditDsRptColXh: TStringField;
    Bevel1: TBevel;
    chkIfSbbdk: TCheckBox;
    chkIfFdJcsj1: TGroupBox;
    chkIfFdJcsj2: TGroupBox;
    chkIfFdJcsj3: TGroupBox;
    Label3: TLabel;
    Label12: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    DBText1: TDBText;
    Label40: TLabel;
    Label41: TLabel;
    Label42: TLabel;
    DBEdit29: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    DBEdit5: TDBEdit;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    DBEdit11: TDBEdit;
    Label17: TLabel;
    Label18: TLabel;
    qryEditDFdSbSj: TIntegerField;
    qryEditDFdXbSj: TIntegerField;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label24: TLabel;
    edFdJcsj1: TEdit;
    edFdXbTime1: TEdit;
    edFdSbTime1: TEdit;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label33: TLabel;
    edFdJcsj2: TEdit;
    edFdXbTime2: TEdit;
    edFdSbTime2: TEdit;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    Label37: TLabel;
    edFdJcsj3: TEdit;
    edFdXbTime3: TEdit;
    edFdSbTime3: TEdit;
    qryEditNoteUser: TStringField;
    qryEditNoteGen: TStringField;
    qryCodeChk: TADOQry;
    qryNew: TADOQry;
    qryNewID: TIntegerField;
    qryBzdy: TADOQry;
    qryBzdyD: TADOQry;
    qryBzdyDRptColXh: TSmallintField;
    qryBzdyDFdSbSj: TIntegerField;
    qryBzdyDFdXbTime: TTimeIntField;
    qryBzdyDFdXbSj: TIntegerField;
    qryBzdyDFdSbTime: TTimeIntField;
    qryBzdyDSbMinTime: TTimeIntField;
    qryBzdyDSbTime: TTimeIntField;
    qryBzdyDSbMaxTime: TTimeIntField;
    qryBzdyDIfSbbdk: TSmallintField;
    qryBzdyDXbMinTime: TTimeIntField;
    qryBzdyDXbTime: TTimeIntField;
    qryBzdyDXbMaxTime: TTimeIntField;
    qryBzdyDIfXbbdk: TSmallintField;
    qryBzdyDIfTqjb: TSmallintField;
    qryBzdyDIfChiDao: TSmallintField;
    qryBzdyDIfTcjb: TSmallintField;
    qryBzdyDIfZaoTui: TSmallintField;
    qryBzdyDIfKg: TSmallintField;
    qryBzdyDIfJbkq: TSmallintField;
    qryBzdySessionID: TIntegerField;
    qryBzdyCode: TStringField;
    qryBzdyName: TStringField;
    qryBzdyBcCount: TSmallintField;
    qryBzdyIfFdJcsj: TBooleanField;
    qryBzdyNote: TStringField;
    qryBzdyNoteUser: TStringField;
    qryBzdyNoteGen: TStringField;
    cmdOK: TBitBtn;
    qryEditZbSj: TFloatField;
    qryEditJbSj: TFloatField;
    qryEditDXxSj: TIntegerField;
    qryEditDZbSj: TFloatField;
    qryEditDJbSj: TFloatField;
    Label47: TLabel;
    DBEdit18: TDBEdit;
    DBEdit19: TDBEdit;
    Label53: TLabel;
    Bevel3: TBevel;
    Label49: TLabel;
    Label13: TLabel;
    Bevel4: TBevel;
    Shape1: TShape;
    Label38: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label43: TLabel;
    Label45: TLabel;
    DBEdit6: TDBEdit;
    DBEdit13: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    Label11: TLabel;
    Label32: TLabel;
    qryBzdyZbSj: TFloatField;
    qryBzdyJbSj: TFloatField;
    qryBzdyDXxSj: TIntegerField;
    qryBzdyDZbSj: TFloatField;
    qryBzdyDJbSj: TFloatField;
    qryEditIfJb6: TBooleanField;
    qryEditIfJb7: TBooleanField;
    qryEditIfJb9: TBooleanField;
    DBCheckBox2: TDBCheckBox;
    DBCheckBox3: TDBCheckBox;
    DBCheckBox4: TDBCheckBox;
    qryBzdyIfJb6: TBooleanField;
    qryBzdyIfJb7: TBooleanField;
    qryBzdyIfJb9: TBooleanField;
    qryEditDJbSjPos: TSmallintField;
    RadioButton14: TRadioButton;
    qryBzdyDJbSjPos: TSmallintField;
    qryEditIfBzz: TBooleanField;
    qryEditCrms1Time: TTimeIntField;
    Label21: TLabel;
    DBEdit10: TDBEdit;
    Label22: TLabel;
    qryBzdyCrms1Time: TTimeIntField;
    qryEditCrms9Time: TTimeIntField;
    Label23: TLabel;
    DBEdit12: TDBEdit;
    Label39: TLabel;
    qryBzdyCrms9Time: TTimeIntField;
    procedure qryEditPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure RadioButton8Click(Sender: TObject);
    procedure qryEditDAfterScroll(DataSet: TDataSet);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure panBanCiExit(Sender: TObject);
    procedure chkIfXbbdkClick(Sender: TObject);
    procedure oPagesChanging(Sender: TObject; var AllowChange: Boolean);
    procedure cmdNextClick(Sender: TObject);
    procedure oPagesChange(Sender: TObject);
    procedure cmdBackClick(Sender: TObject);
    procedure qryEditDCalcFields(DataSet: TDataSet);
    procedure cmdOKClick(Sender: TObject);
    procedure qryEditDXxSjChange(Sender: TField);
    procedure qryEditNewRecord(DataSet: TDataSet);
    procedure edFdXbTime1Exit(Sender: TObject);
  private
    { Private declarations }
  	lIsNew :Boolean;
    nID :integer;
  public
	{ Public declarations }
	Function Add(tnSession:integer):Boolean;
	Function Edit(tnID:integer):Boolean;
	Function CopyAdd(tnID:integer; lIfTemp:Boolean=False):integer;
  end;

var
  frmKq_BzdyE: TfrmKq_BzdyE;

implementation

uses SelfFunc;

{$R *.DFM}

Function TfrmKq_BzdyE.Add(tnSession:integer):Boolean;
begin
	lIsNew :=True;
    nID :=0;

    Self.SelectFirst;
    with qryEdit do
    begin
    	Close;
        Parameters[0].Value :=Null();
        Open;
        Append;
	end;
	NewRecDefa(qryEdit, ['Name', '', 'IfFdJcsj',False
    	,'SessionID',tnSession
        ,'IfJb6',False, 'IfJb7',False, 'IfJb9',False]);
    with qryEditD do
    begin
    	Close;
        Parameters[0].Value :=Null();
        Open;
	end;

	oPages.ActivePageIndex :=0;
    oPages.OnChange(nil);
    Result :=(Self.ShowModal() =mrOK);
end;

Function TfrmKq_BzdyE.CopyAdd(tnID:integer; lIfTemp:Boolean=False):integer;
var i :integer;
begin
	lIsNew :=True;
    nID :=0;

	oPages.ActivePageIndex :=0;
    oPages.OnChange(nil);
    if tnID >0 then
    begin
      with qryBzdy do
      begin
    	Close;
        Parameters[0].Value :=tnID;
        Open;
	  end;
      with qryBzdyD do
      begin
    	Close;
        Parameters[0].Value :=tnID;
        Open;
	  end;
    end;

    Self.SelectFirst;
    with qryEdit do
    begin
    	Close;
        Parameters[0].Value :=Null();
        Open;
	end;
    qryEdit.Append;
    if tnID =0 then
 	  NewRecDefa(qryEdit, ['Name', '', 'IfFdJcsj',False
        ,'IfJb6',False, 'IfJb7',False, 'IfJb9',False])
    else begin
      for i :=0 to qryBzdy.FieldCount -1 do
        qryEdit.FieldByName(qryBzdy.Fields[i].FieldName).Value
            := qryBzdy.Fields[i].Value;
    end;
    if lIfTemp then qryEditSessionID.Value :=0
    else qryEditCode.Value :='';
    
    with qryEditD do
    begin
    	Close;
        Parameters[0].Value :=Null();
        Open;
	end;
    if tnID >0 then
    while not qryBzdyD.Eof do
    begin
        qryEditD.Append;
	    for i :=0 to qryBzdyD.FieldCount -1 do
    		qryEditD.FieldByName(qryBzdyD.Fields[i].FieldName).Value
            	:= qryBzdyD.Fields[i].Value;
        qryEditD.Post;
        qryBzdyD.Next;
    end;

    if ShowModal() =mrOK then Result :=nID
    else Result :=0;
end;

Function TfrmKq_BzdyE.Edit(tnID:integer):Boolean;
begin
	lIsNew :=False;
    nID :=tnID;

    Self.ActiveControl :=cmdCancel;
    with qryEdit do
    begin
    	Close;
        Parameters[0].Value :=tnID;
        Open;
	end;
    with qryEditD do
    begin
    	Close;
        Parameters[0].Value :=tnID;
        Open;
	end;

	oPages.ActivePageIndex :=0;
    oPages.OnChange(nil);
    Result :=(Self.ShowModal() =mrOK);
end;

procedure TfrmKq_BzdyE.qryEditPostError(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
begin
	if ErrPost(E, qryEditCode) then Action :=daAbort;
end;

procedure TfrmKq_BzdyE.RadioButton8Click(Sender: TObject);
begin
	if not TRadioButton(Sender).Focused then Exit;

	if not (qryEditD.State in [dsEdit,dsInsert])
    	then qryEditD.Edit;
end;

procedure TfrmKq_BzdyE.qryEditDAfterScroll(DataSet: TDataSet);
var i :integer;
	ts :string;
begin
  if DataSet <>nil then
  if not DBGrid1.Focused then Exit;

  lblBanCi.Caption :=qryEditDSRptColXh.Value +'ㄤ

⌨️ 快捷键说明

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