📄 u_child.pas
字号:
unit U_child;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGridEh, StdCtrls, ExtCtrls,U_main;
type
TF_child = class(TForm)
ScrollBox1: TScrollBox;
ScrollBox2: TScrollBox;
Splitter1: TSplitter;
Memo1: TMemo;
DBGrid1: TDBGridEh;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
//窗口移动标识
vmove:boolean;
//操作标识
mlog:TOperateState;
//程序名称
vprg_no:STRING;
//用户权限
vAdd,vEdit,vDelete,vQuery,vGetdata,vBrowse,vUpdate,vCancel:wordbool;
//按钮状态
vvAdd,vvEdit,vvDelete,vvQuery,vvGetdata,vvBrowse,vvUpdate,vvCancel:wordbool;
procedure setuseprg(vTOperateState:TOperateState);
procedure getuseprg(const vuser_no,vprogram_no:string;var vAdd,vEdit,vDelete,vQuery,vGetdata,vBrowse,vUpdate,vCancel:wordbool);
procedure DoInsert;virtual;abstract; //新增
procedure DoEdit;virtual;abstract; //修改
procedure DoDelete;virtual;abstract; //删除
procedure DoQuery;virtual;abstract; //查询
procedure DoGetData;virtual;abstract; //刷新
procedure DoBrowse;virtual;abstract; //浏览
procedure DoSave;virtual;abstract; //存档
procedure DoCancel;virtual;abstract; //取消
procedure DoCloseForm;virtual;abstract; //结束
//procedure DoDataIn;virtual;abstract;
//procedure DoDataOut;virtual;abstract;
end;
var
F_child: TF_child;
implementation
uses UDM;
{$R *.dfm}
procedure TF_child.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
F_child:=nil;
end;
procedure TF_child.FormCreate(Sender: TObject);
begin
vmove:=true;
vAdd:=true;
vEdit:=true;
vDelete:=true;
vQuery:=true;
vGetdata:=true;
vBrowse:=true;
vUpdate:=false;
vCancel:=false;
//取得用户权限
F_MAIN.vprogram_no :=self.Name;
//getuseprg(f_main.vuser_no,f_main.vprogram_no,vAdd,vEdit,vDelete,vQuery,vGetdata,vBrowse,vUpdate,vCancel);
//保存按钮状况
vvAdd:=vAdd;
vvEdit:=vEdit;
vvDelete:=vDelete;
vvQuery:=vQuery;
vvGetdata:=vGetdata;
vvBrowse:=vBrowse;
vvUpdate:=vUpdate;
vvCancel:=vCancel;
self.ScrollBox1.Enabled:=true;
self.ScrollBox2.Enabled:=false;
self.Caption:=self.Caption+'['+self.Name+']';
//判断是否有作业权限
if vAdd or vEdit or vDelete or vGetdata or vBrowse then f_main.DBNavigator1.Enabled:=true
else f_main.DBNavigator1.Enabled:=false;
end;
procedure TF_child.FormActivate(Sender: TObject);
begin
if vmove then
begin
if self.Top>10 then self.Top:=0;
vmove:=false;
end;
setuseprg(mFormActive);
end;
//用户权限设置
procedure TF_child.setuseprg(vTOperateState:TOperateState);
begin
case vTOperateState of
mAdd,medit,mdelete:
begin
f_main.B_add.Enabled:=false;
f_main.B_edit.Enabled:=false;
f_main.B_delete.Enabled:=false;
f_main.B_query.Enabled:=false;
f_main.B_getdata.Enabled:=false;
f_main.B_brow.Enabled:=false;
f_main.B_update.Enabled:=true;
f_main.B_cancel.Enabled:=true;
TF_child(f_main.ActiveMDIChild).vvAdd:=false;
TF_child(f_main.ActiveMDIChild).vvedit:=false;
TF_child(f_main.ActiveMDIChild).vvdelete:=false;
TF_child(f_main.ActiveMDIChild).vvquery:=false;
TF_child(f_main.ActiveMDIChild).vvgetdata:=false;
TF_child(f_main.ActiveMDIChild).vvBrowse:=false;
TF_child(f_main.ActiveMDIChild).vvupdate:=true;
TF_child(f_main.ActiveMDIChild).vvcancel:=true;
self.ScrollBox1.Enabled:=false;
self.ScrollBox2.Enabled:=true;
self.DBGrid1.Visible:=true;
self.Memo1.Visible:=false;
f_main.DBNavigator1.Enabled:=false;
end;
mQuery,mgetdata,mupdate,mcancel:
begin
f_main.B_add.Enabled:=tf_child(f_main.ActiveMDIChild).vAdd;
f_main.B_edit.Enabled:=tf_child(f_main.ActiveMDIChild).vEdit;
f_main.B_delete.Enabled:=tf_child(f_main.ActiveMDIChild).vDelete;
f_main.B_query.Enabled:=tf_child(f_main.ActiveMDIChild).vQuery;
f_main.B_getdata.Enabled:=tf_child(f_main.ActiveMDIChild).vGetdata;
f_main.B_brow.Enabled:=tf_child(f_main.ActiveMDIChild).vBrowse;
f_main.B_update.Enabled:=false;
f_main.B_cancel.Enabled:=false;
TF_child(f_main.ActiveMDIChild).vvadd:=TF_child(f_main.ActiveMDIChild).vadd;
TF_child(f_main.ActiveMDIChild).vvedit:=TF_child(f_main.ActiveMDIChild).vedit;
TF_child(f_main.ActiveMDIChild).vvdelete:=TF_child(f_main.ActiveMDIChild).vdelete;
TF_child(f_main.ActiveMDIChild).vvquery:=TF_child(f_main.ActiveMDIChild).vquery;
TF_child(f_main.ActiveMDIChild).vvgetdata:=TF_child(f_main.ActiveMDIChild).vgetdata;
TF_child(f_main.ActiveMDIChild).vvBrowse:=TF_child(f_main.ActiveMDIChild).vBrowse;
TF_child(f_main.ActiveMDIChild).vvupdate:=false;
TF_child(f_main.ActiveMDIChild).vvcancel:=false;
self.ScrollBox1.Enabled:=true;
self.ScrollBox2.Enabled:=false;
self.DBGrid1.Visible:=true;
self.Memo1.Visible:=false;
f_main.DBNavigator1.Enabled:=true;
end;
mbrowse:
begin
f_main.B_add.Enabled:=tf_child(f_main.ActiveMDIChild).vAdd;
f_main.B_edit.Enabled:=tf_child(f_main.ActiveMDIChild).vEdit;
f_main.B_delete.Enabled:=tf_child(f_main.ActiveMDIChild).vDelete;
f_main.B_query.Enabled:=tf_child(f_main.ActiveMDIChild).vQuery;
f_main.B_getdata.Enabled:=tf_child(f_main.ActiveMDIChild).vGetdata;
f_main.B_brow.Enabled:=tf_child(f_main.ActiveMDIChild).vBrowse;
f_main.B_update.Enabled:=false;
f_main.B_cancel.Enabled:=false;
TF_child(f_main.ActiveMDIChild).vvadd:=TF_child(f_main.ActiveMDIChild).vadd;
TF_child(f_main.ActiveMDIChild).vvedit:=TF_child(f_main.ActiveMDIChild).vedit;
TF_child(f_main.ActiveMDIChild).vvdelete:=TF_child(f_main.ActiveMDIChild).vdelete;
TF_child(f_main.ActiveMDIChild).vvquery:=TF_child(f_main.ActiveMDIChild).vquery;
TF_child(f_main.ActiveMDIChild).vvgetdata:=TF_child(f_main.ActiveMDIChild).vgetdata;
TF_child(f_main.ActiveMDIChild).vvBrowse:=TF_child(f_main.ActiveMDIChild).vBrowse;
TF_child(f_main.ActiveMDIChild).vvupdate:=false;
TF_child(f_main.ActiveMDIChild).vvcancel:=false;
self.ScrollBox1.Enabled:=true;
self.ScrollBox2.Enabled:=false;
self.DBGrid1.Visible:=not self.DBGrid1.Visible;
self.Memo1.Visible:=not self.Memo1.Visible;
f_main.DBNavigator1.Enabled:=true;
end;
mFormActive:
begin
f_main.B_add.Enabled:=tf_child(f_main.ActiveMDIChild).vvAdd;
f_main.B_edit.Enabled:=tf_child(f_main.ActiveMDIChild).vvEdit;
f_main.B_delete.Enabled:=tf_child(f_main.ActiveMDIChild).vvDelete;
f_main.B_query.Enabled:=tf_child(f_main.ActiveMDIChild).vvQuery;
f_main.B_getdata.Enabled:=tf_child(f_main.ActiveMDIChild).vvGetdata;
f_main.B_brow.Enabled:=tf_child(f_main.ActiveMDIChild).vvBrowse;
f_main.B_update.Enabled:=vvupdate;
f_main.B_cancel.Enabled:=vvcancel;
//self.DBGrid1.Visible:=false;
//self.Memo1.Visible:=true;
end;
mFormClose:
begin
f_main.B_add.Enabled:=false;
f_main.B_edit.Enabled:=false;
f_main.B_delete.Enabled:=false;
f_main.B_query.Enabled:=false;
f_main.B_getdata.Enabled:=false;
f_main.B_brow.Enabled:=false;
f_main.B_update.Enabled:=false;
f_main.B_cancel.Enabled:=false;
end;
end;
end;
//取得用户的使用权限
procedure TF_child.getuseprg(const vuser_no,vprogram_no:string;var vAdd,vEdit,vDelete,vQuery,vGetdata,vBrowse,vUpdate,vCancel:wordbool);
var vsql:string;
begin
if f_main.vadministrator ='Y' then
begin
vAdd:=true ;
vedit:=true ;
vdelete:=true ;
vquery:=true ;
vgetdata:=true ;
vbrowse:=true ;
vUpdate:=false;
vCancel:=false;
exit ;
end;
if not dm.ADOConnection1.Connected then dm.ADOConnection1.Connected:=true;
vsql:='select * from setprogram where sys_id=''4'' AND user_no=:user_no and program_no=:program_no ';
dm.q_seek.CommandText:=vsql;
dm.q_seek.Active:=false;
dm.q_seek.Parameters.ParamByName('user_no').Value:=vuser_no;
dm.q_seek.Parameters.ParamByName('program_no').Value:=vprogram_no;
dm.q_seek.Active:=true;
if dm.q_seek.Eof then
begin
vAdd:=false;
vEdit:=false;
vDelete:=false;
vQuery:=false;
vGetdata:=false;
vBrowse:=false;
vUpdate:=false;
vCancel:=false;
end
else
begin
if dm.q_seek.FieldByName('p_add').AsString='Y' then vAdd:=true
else vAdd:=false;
if dm.q_seek.FieldByName('p_edit').AsString='Y' then vedit:=true
else vEdit:=false;
if dm.q_seek.FieldByName('p_delete').AsString='Y' then vdelete:=true
else vdelete:=false;
if dm.q_seek.FieldByName('p_query').AsString='Y' then vquery:=true
else vQuery:=false;
if dm.q_seek.FieldByName('p_getdata').AsString='Y' then vgetdata:=true
else vGetdata:=false;
if dm.q_seek.FieldByName('p_browse').AsString='Y' then vbrowse:=true
else vBrowse:=false;
vUpdate:=false;
vCancel:=false;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -