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

📄 kq_banzhie.pas

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

interface

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

type
  TfrmKq_BanZhiE = class(TForm)
    qryEdit: TADOQry;
    DataSource1: TDataSource;
    qryEditCode: TStringField;
    qryEditName: TStringField;
    qryEditZsj: TIntegerField;
    qryEditD: TADOQry;
    DataSource2: TDataSource;
    panBanCi: TPanel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label23: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label22: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    Label50: TLabel;
    DBEdit19: TDBEdit;
    DBEdit20: TDBEdit;
    DBEdit21: TDBEdit;
    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;
    panIfJbKh: TPanel;
    RadioButton9: TRadioButton;
    RadioButton10: TRadioButton;
    panIfKg: TPanel;
    RadioButton7: TRadioButton;
    RadioButton8: TRadioButton;
    DBEdit14: TDBEdit;
    DBEdit29: TDBEdit;
    DBGrid1: TDBGrid;
    Label1: TLabel;
    Label2: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    cmdOK: TBitBtn;
    cmdCancel: TBitBtn;
    Label51: TLabel;
    DBEdit51: TDBEdit;
    Label52: TLabel;
    Label11: TLabel;
    qryEditDID: TIntegerField;
    qryEditDCode: TStringField;
    qryEditDRptColXh: TSmallintField;
    qryEditDSbMinTime: TTimeIntField;
    qryEditDSbTime: TTimeIntField;
    qryEditDXbTime: TTimeIntField;
    qryEditDXbMaxTime: TTimeIntField;
    qryEditDIfTqjb: TSmallintField;
    qryEditDIfChiDao: TSmallintField;
    qryEditDIfZaoTui: TSmallintField;
    qryEditDIfKg: TSmallintField;
    qryEditDZsj: TIntegerField;
    qryEditDXiuXi: TIntegerField;
    qryEditDJiaBan: TIntegerField;
    qryEditDSjSj: TIntegerField;
    qryEditDIfJbkh: TSmallintField;
    qryEditDIfJbkq: TSmallintField;
    Label3: TLabel;
    DBEdit3: TDBEdit;
    Label4: TLabel;
    StaticText1: TStaticText;
    Bevel1: TBevel;
    cmdAdd: TBitBtn;
    cmdDel: TBitBtn;
    qryEditDIfTcjb: TSmallintField;
    qryEditBanCiCount: TSmallintField;
    Label12: TLabel;
    DBEdit4: TDBEdit;
    Label13: TLabel;
    DBEdit5: TDBEdit;
    DBEdit6: TDBEdit;
    qryEditDBanCiXh: TSmallintField;
    qryEditIfFdJcsj: TBooleanField;
    DBCheckBox1: TDBCheckBox;
    qryEditDSbMaxTime: TTimeIntField;
    qryEditDXbMinTime: TTimeIntField;
    DBEdit7: TDBEdit;
    DBEdit8: TDBEdit;
    Label14: TLabel;
    Label15: TLabel;
    RadioButton13: TRadioButton;
    chkIfXbbdk: TCheckBox;
    qryEditDIfXbbdk: TSmallintField;
    procedure cmdOKClick(Sender: TObject);
    procedure qryEditPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure qryEditDBeforePost(DataSet: TDataSet);
    procedure RadioButton8Click(Sender: TObject);
    procedure qryEditDAfterScroll(DataSet: TDataSet);
    procedure cmdAddClick(Sender: TObject);
    procedure cmdDelClick(Sender: TObject);
    procedure qryEditDSbTimeChange(Sender: TField);
    procedure qryEditDZsjChange(Sender: TField);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure panBanCiExit(Sender: TObject);
    procedure qryEditDJiaBanChange(Sender: TField);
    procedure chkIfXbbdkClick(Sender: TObject);
  private
  	lIsNew :Boolean;
    { Private declarations }
  public
	Function Add():Boolean;
	Function CopyAdd():Boolean;
	Function Edit(tsCode:string):Boolean;
	{ Public declarations }
  end;

var
  frmKq_BanZhiE: TfrmKq_BanZhiE;

implementation

uses SelfFunc, Kq_BanZhi;

{$R *.DFM}

Function TfrmKq_BanZhiE.Add():Boolean;
begin
	lIsNew :=True;

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

    Result :=(Self.ShowModal() =mrOK);
end;

Function TfrmKq_BanZhiE.CopyAdd():Boolean;
var i :integer;
begin
	lIsNew :=True;

    Self.SelectFirst;
    with qryEdit do
    begin
    	Close;
        Parameters[0].Value :=Null;
        Open;
        Append;
	end;
    with qryEditD do
    begin
    	Close;
        Parameters[0].Value :=Null;
        Open;
        Append;
	end;
  with TfrmKq_BanZhi(Owner) do
  begin
    for i :=2 to qryEdit.FieldCount -1 do
    	qryEdit.Fields[i].Value := qryBrowse.FieldByName
        			(qryEdit.Fields[i].FieldName).Value;

    if not qryBrowseD.IsEmpty then
    begin
    	qryBrowseD.First;
        while not qryBrowseD.Eof do
        begin
        	qryEditD.Append;
		    for i :=2 to qryEditD.FieldCount -1 do
    			qryEditD.Fields[i].Value := qryBrowseD.FieldByName
        			(qryEditD.Fields[i].FieldName).Value;
            qryEditD.Post;
            
        	qryBrowseD.Next;
        end;
    end;
  end;
  qryEditD.AfterScroll(nil);

    Result :=(Self.ShowModal() =mrOK);
end;

Function TfrmKq_BanZhiE.Edit(tsCode:string):Boolean;
begin
	lIsNew :=False;

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

    Result :=(Self.ShowModal() =mrOK);
end;

procedure TfrmKq_BanZhiE.cmdOKClick(Sender: TObject);
var nSumZsj, i,n :integer;
	lBanCi :Array[1..4] of Boolean;
	nSbTime,nXbTime,nBanCiCol :Array[1..4] of integer;
begin
    if qryEditD.State in [dsEdit,dsInsert] then qryEditD.Post;
    if not ValidRecord(qryEdit, ['Code',vrvEmpty
    			,'Name',vrvEmpty])
    	then Exit;

    if qryEditD.RecordCount >4 then
    begin
    	MsgBox('セ╰参羆痁Ω计

⌨️ 快捷键说明

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