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

📄 basemodule_func.pas

📁 产品信息系统!关于产品基础信息的系统!功能强大!
💻 PAS
字号:
unit BaseModule_Func;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseInfoBase, wwDialog, wwidlg, DB, ADODB, ActnList, ComCtrls,
  ToolWin, ExtCtrls, Grids, DBGridEh, Menus;

type
  TfrmBaseModule_Func = class(TfrmBaseInfoBase)
    DBGridEh1: TDBGridEh;
    DBGridEh2: TDBGridEh;
    Splitter1: TSplitter;
    QBaseInfofID: TIntegerField;
    QBaseInfofName: TWideStringField;
    qry_tfunction: TADOQuery;
    ds_tfunction: TDataSource;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    PopupMenu1: TPopupMenu;
    m1: TMenuItem;
    qry_tfunctionfID: TIntegerField;
    qry_tfunctionfModuleID: TIntegerField;
    qry_tfunctionfActionName: TWideStringField;
    qry_tfunctionfName: TWideStringField;
    qry_tfunctionfRun: TBooleanField;
    qry_tfunctionfInsert: TBooleanField;
    qry_tfunctionfEdit: TBooleanField;
    qry_tfunctionfDelete: TBooleanField;
    qry_tfunctionfPrint: TBooleanField;
    qry_tfunctionfConfirm: TBooleanField;
    qry_tfunctionfCancel: TBooleanField;
    qry_tfunctionfFind: TBooleanField;
    qry_tfunctionfFilter: TBooleanField;
    qry_tfunctionfExport: TBooleanField;
    procedure acExitExecute(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure acModifyExecute(Sender: TObject);
    procedure acSaveExecute(Sender: TObject);
    procedure qry_tfunctionAfterPost(DataSet: TDataSet);
    procedure ds_tfunctionStateChange(Sender: TObject);
    procedure dsBaseInfoDataChange(Sender: TObject; Field: TField);
    procedure acDeleteExecute(Sender: TObject);
    procedure m1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure acNewExecute(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure dsBaseInfoStateChange(Sender: TObject);
    procedure ds_tfunctionDataChange(Sender: TObject; Field: TField);
    procedure acFirstExecute(Sender: TObject);
    procedure acPriorExecute(Sender: TObject);
    procedure acNextExecute(Sender: TObject);
    procedure acLastExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmBaseModule_Func: TfrmBaseModule_Func;

implementation

{$R *.dfm}

procedure TfrmBaseModule_Func.acExitExecute(Sender: TObject);
var
    i:Integer;
begin
    //self.QBaseInfo.UpdateBatch();

  //self.qry_tfunction.UpdateBatch();
  if self.qry_tfunction.State in [dsEdit,dsInsert] then
    self.qry_tfunction.Post;

  Self.ADOQuery2.Close;
  self.ADOQuery2.Open;
  self.ADOQuery2.First;

  //ShowMessage(self.ADOQuery2.Fields[4].FieldName);
  //exit;

  while not self.ADOQuery2.Eof do
  begin
    for i:=4 to self.ADOQuery2.Fields.Count-1 do
    begin
        if self.ADOQuery2.Fields[i].AsBoolean=True then
        begin
        end
        else
        begin
            self.ADOQuery1.Close;
            self.ADOQuery1.Parameters.ParamValues['cfFunctionID']:=self.ADOQuery2.FieldValues['fID'];
            self.ADOQuery1.Prepared:=True;
            self.ADOQuery1.Open;
            self.ADOQuery1.First;
            while not self.ADOQuery1.Eof do
            begin
                self.ADOQuery1.Edit;
                Self.ADOQuery1.FieldByName(Trim(Self.ADOQuery2.Fields[i].FieldName)).AsBoolean:=False;
                //self.ADOQuery1.Post;
                self.ADOQuery1.Next;
            end;
            //self.ADOQuery1.UpdateBatch();
        end;
    end;
    //self.ADOQuery1.UpdateBatch();
    self.ADOQuery2.Next;
  end;

  //self.ADOQuery1.UpdateBatch();

  inherited;

end;

procedure TfrmBaseModule_Func.FormCreate(Sender: TObject);
begin
  inherited;
   self.qry_tfunction.Close;
   self.qry_tfunction.Open;
end;

procedure TfrmBaseModule_Func.acModifyExecute(Sender: TObject);
begin
    //self.qry_tfunction.Edit;
  //self.qry_tfunction.UpdateBatch();
  //inherited;
    //self.ds_tfunction.AutoEdit:=True;
    //self.qry_tfunction.Edit;
    self.qry_tfunction.Edit;
    self.DBGridEh2.SetFocus;
end;

procedure TfrmBaseModule_Func.acSaveExecute(Sender: TObject);
begin
    //self.QBaseInfo.UpdateBatch();
    //if self.QBaseInfo.State in [dsEdit,dsInsert] then
        QBaseInfo.Edit;
        QBaseInfo.Post;
        QBaseInfo.Edit;
        inherited;
    //self.qry_tfunction.UpdateBatch();
    //self.ds_tfunction.AutoEdit:=False;
end;

procedure TfrmBaseModule_Func.qry_tfunctionAfterPost(DataSet: TDataSet);
begin
  inherited;
//ShowMessage('jin');
end;

procedure TfrmBaseModule_Func.ds_tfunctionStateChange(Sender: TObject);
begin
  inherited;
    //self.tbtModify.Enabled:=self.qry_tfunction.State in [dsBrowse];
    //self.tbtSave.Enabled:=self.qry_tfunction.State in [dsInsert,dsEdit];
    if self.qry_tfunction.RecNo=1 then
        self.tbtFirst.Enabled:=False
    else
        self.tbtFirst.Enabled:=True;
    if self.qry_tfunction.RecNo=self.qry_tfunction.RecordCount then
        self.tbtLast.Enabled:=False
    else
        self.tbtLast.Enabled:=True;
    self.tbtPrior.Enabled:=self.tbtFirst.Enabled;
    self.tbtNext.Enabled:=self.tbtLast.Enabled;
end;

procedure TfrmBaseModule_Func.dsBaseInfoDataChange(Sender: TObject;
  Field: TField);
begin
  //if self.qry_tfunction.Active then
    //self.qry_tfunction.UpdateBatch();
  //inherited;
  
end;

procedure TfrmBaseModule_Func.acDeleteExecute(Sender: TObject);
begin
  //inherited;
  {if QBaseInfo.RecordCount > 0 then
  if MessageDlg('您确定要删除当前记录吗?', mtWarning, [mbOk, mbCancel], 0) = mrOk then
  begin
    QBaseInfo.Delete;
  end;}
  self.qry_tfunction.First;
    while not self.qry_tfunction.Eof do
    begin
        self.qry_tfunction.Edit;
        self.qry_tfunction.FieldValues['fRun']:=True;
        self.qry_tfunction.FieldValues['fInsert']:=False;
        self.qry_tfunction.FieldValues['fEdit']:=False;
        self.qry_tfunction.FieldValues['fDelete']:=False;
        self.qry_tfunction.FieldValues['fConfirm']:=False;
        self.qry_tfunction.FieldValues['fCancel']:=False;
        self.qry_tfunction.FieldValues['fFind']:=False;
        self.qry_tfunction.FieldValues['fFilter']:=False;
        self.qry_tfunction.FieldValues['fPrint']:=False;
        self.qry_tfunction.FieldValues['fExport']:=False;
        self.qry_tfunction.Post;
        self.qry_tfunction.Next;
    end;
end;

procedure TfrmBaseModule_Func.m1Click(Sender: TObject);
begin
  if self.qry_tfunction.RecordCount > 0 then
  if MessageDlg('您确定要删除当前记录吗?', mtWarning, [mbOk, mbCancel], 0) = mrOk then
  begin
    self.qry_tfunction.Delete;
  end;

end;

procedure TfrmBaseModule_Func.FormDestroy(Sender: TObject);
begin
  inherited;
    frmBaseModule_Func:=nil;
end;

procedure TfrmBaseModule_Func.acNewExecute(Sender: TObject);
begin
  //inherited;
  //Include(self.DBGridEh2.AllowedOperations,alopUpdateEh);
    self.qry_tfunction.First;
    while not self.qry_tfunction.Eof do
    begin
        self.qry_tfunction.Edit;
        self.qry_tfunction.FieldValues['fRun']:=True;
        self.qry_tfunction.FieldValues['fInsert']:=True;
        self.qry_tfunction.FieldValues['fEdit']:=True;
        self.qry_tfunction.FieldValues['fDelete']:=True;
        self.qry_tfunction.FieldValues['fConfirm']:=True;
        self.qry_tfunction.FieldValues['fCancel']:=True;
        self.qry_tfunction.FieldValues['fFind']:=True;
        self.qry_tfunction.FieldValues['fFilter']:=True;
        self.qry_tfunction.FieldValues['fPrint']:=True;
        self.qry_tfunction.FieldValues['fExport']:=True;
        self.qry_tfunction.Post;
        self.qry_tfunction.Next;
    end;
end;

procedure TfrmBaseModule_Func.ToolButton3Click(Sender: TObject);
begin
  //inherited;
  Self.QBaseInfo.Refresh;
  self.qry_tfunction.Refresh;
end;

procedure TfrmBaseModule_Func.dsBaseInfoStateChange(Sender: TObject);
begin
  //inherited;
    
end;

procedure TfrmBaseModule_Func.ds_tfunctionDataChange(Sender: TObject;
  Field: TField);
begin
  inherited;
    self.ds_tfunctionStateChange(nil);
end;

procedure TfrmBaseModule_Func.acFirstExecute(Sender: TObject);
begin
  //inherited;
  self.qry_tfunction.First;
end;

procedure TfrmBaseModule_Func.acPriorExecute(Sender: TObject);
begin
  //inherited;
  Self.qry_tfunction.Prior;
end;

procedure TfrmBaseModule_Func.acNextExecute(Sender: TObject);
begin
  //inherited;
    self.qry_tfunction.Next;
end;

procedure TfrmBaseModule_Func.acLastExecute(Sender: TObject);
begin
  //inherited;
    self.qry_tfunction.Last;
end;

end.

⌨️ 快捷键说明

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