u_form_base.pas
来自「超信人力资源管理系统,一个用Delphi编写的人事管理系统」· PAS 代码 · 共 481 行 · 第 1/2 页
PAS
481 行
F_MAIN.Caption := '超信人力资源管理系统----' + CAPTION + ' 授权於:' + COMPANY_NAME;
//================================设置权限给全局变量==========================
//MY_popedom.Is_Edit := IS_Edit;
//MY_popedom.Is_Insert := IS_Insert;
//MY_popedom.Is_Delete := IS_Delete;
//MY_popedom.Is_Find := IS_Find;
//MY_popedom.Is_Other := IS_Other;
// MY_popedom.IS_View := IS_View;
// MY_popedom.IS_Print := IS_Print;
//MY_popedom.IS_EditPrint := IS_EditPrint;
//MY_popedom.IS_Aduit := IS_Aduit;
//============================================================================
end;
procedure TF_Form_base.FormClose(Sender: TObject; var Action: TCloseAction);
var
I: INTEGER;
begin
//关闭数据集
Q_DETAIL.CLOSE;
Q_MAIN.CLOSE;
for I := Q_MAIN.FIELDCOUNT - 1 downto 0 do
if Q_MAIN.FIELDS[I].TAG = 100 then
begin
Q_MAIN.Fields.Remove(Q_MAIN.FIELDS[I]);
end;
// M_TABLE := nil;
// D_table:=nil;
//Sql_s:='Update TB_form set Width='+inttostr(self.Width)+',Height='+inttostr(self.Height)
//退出时设置权限 释放权限
Is_Edit := FALSE;
Is_Insert := FALSE;
Is_Delete := FALSE;
Is_Find := FALSE;
Is_Other := FALSE;
IS_View := FALSE;
IS_Print := FALSE;
IS_EditPrint := FALSE;
IS_Aduit := FALSE;
SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,computer,logouttime,Dotime,Title,Havedo) VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''退出'')';
INSERT_LOG(SQL_S);
//===========================================保存窗体属性=====================
SQL_S := 'Update TB_Form set width=' + inttostr(Width) + ',Height=' + inttostr(Height) + ',Formtop=' + inttostr(top) + ',FormLeft=' + inttostr(left)
+ ' where Formname=''' + name + '''';
SQL_exec(sql_s);
//============================================================================
Action := cafree;
end;
procedure TF_Form_base.Q_detailAfterInsert(DataSet: TDataSet);
var
I: INTEGER;
begin
//开始设置GUID //对从表而言将SID创建,CNID则可将主表的CNID加入
for i := 0 to q_DETAIL.FieldCount - 1 do
if q_DETAIL.Fields[i].DataType = ftGuid then
begin
if q_DETAIL.Fields[i].FieldName = 'SID' then
begin
CREATEGUID(NID);
Q_DETAIL.Fields[I].AsString := GUIDTOSTRING(NID);
end
else
if q_DETAIL.Fields[i].FieldName = 'CNID' then
begin
Q_DETAIL.Fields[I].AsString := Q_MAIN.FIELDBYNAME('SID').ASSTRING;
end;
end;
//设置完毕GUID
{ for I := 0 to Q_MAIN.FieldCount - 1 do
begin
if Q_MAIN.FIELDS[I].ConstraintErrorMessage <> '' then
begin
if Q_MAIN.FIELDS[I].ConstraintErrorMessage = '当前日期' then
begin
if Q_MAIN.Fields[I].DataType in [ftDate, ftTime, ftDateTime] then
Q_MAIN.FieldS[I].ASDATETIME := DATE();
end
else
Q_MAIN.FieldS[I].ASSTRING := Q_MAIN.FIELDS[I].ConstraintErrorMessage;
end;
end; }
SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,computer,Dotime,TITLE,Havedo)VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''新增从表记录'')';
Insert_log(sql_s);
end;
procedure TF_Form_base.Q_mainAfterInsert(DataSet: TDataSet);
var
I: INTEGER;
begin
{ for I := 0 to COMPONENTCOUNT - 1 do
if COMPONENTS[I] is TWINCONTROL then
begin
if TWINCONTROL(COMPONENTS[I]).TabOrder = 0 then
begin
if TWINCONTROL(COmPONENTS[I]).Visible then
try
TWINCONTROL(COmPONENTS[I]).SetFocus;
except
end;
break;
end;
end; }
//焦点设置完毕
//开始设置GUID
for i := 0 to q_main.FieldCount - 1 do
if q_main.Fields[i].DataType = ftGuid then
begin
CREATEGUID(NID);
Q_MAIN.Fields[I].AsString := GUIDTOSTRING(NID);
end;
SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,computer,Dotime,TITLE,Havedo)VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''新增记录'')';
Insert_log(sql_s);
end;
procedure TF_Form_base.DS_mainStateChange(Sender: TObject);
begin
//set_edit_enabled;
// STATE_FLAG := Q_MAIN.STATE in [Dsedit,DSINSERT];
end;
procedure TF_Form_base.Q_mainBeforeInsert(DataSet: TDataSet);
begin
if Uppercase(Login_code) <> 'SYSTEM' then
if not Is_Insert then
begin
MessageDlg('你没有新增记录的权限,请与管理员联系!', mtError, [mbOK], 0);
Abort;
end;
end;
procedure TF_Form_base.Q_mainBeforeDelete(DataSet: TDataSet);
begin
if Uppercase(Login_code) <> 'SYSTEM' then
if not Is_Delete then
begin
MessageDlg('你没有删除记录的权限,请与管理员联系!', mtError, [mbOK], 0);
Abort;
end;
end;
procedure TF_Form_base.Q_mainAfterDelete(DataSet: TDataSet);
begin
SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,computer,Dotime,TITLE,Havedo)VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''删除主表记录'')';
Insert_log(sql_s);
end;
procedure TF_Form_base.Q_detailAfterDelete(DataSet: TDataSet);
begin
SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,computer,Dotime,TITLE,Havedo)VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''删除从表记录'')';
Insert_log(sql_s);
end;
procedure TF_Form_base.Q_mainAfterEdit(DataSet: TDataSet);
begin
SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,computer,Dotime,TITLE,Havedo)VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''修改主表记录'')';
Insert_log(sql_s);
end;
procedure TF_Form_base.Q_detailAfterEdit(DataSet: TDataSet);
begin
SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,computer,Dotime,TITLE,Havedo)VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''修改从表记录'')';
Insert_log(sql_s);
end;
procedure TF_Form_base.Q_mainAfterPost(DataSet: TDataSet);
begin
SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,Computer,Dotime,TITLE,Havedo) VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''保存主表记录'')';
Insert_log(sql_s);
end;
procedure TF_Form_base.Q_detailAfterPost(DataSet: TDataSet);
begin
SQL_S := 'INSERT INTO TB_SYS_LOG (UCODE,Computer,Dotime,TITLE,Havedo) VALUES(''' + LOGIN_CODE + ''',''' + computer_name + ''',Convert(varchar(20),Getdate(),20),''' + CAPTION + ''',''保存从表记录'')';
Insert_log(sql_s);
end;
procedure TF_Form_base.Q_detailBeforeInsert(DataSet: TDataSet);
begin
if Uppercase(Login_code) <> 'SYSTEM' then
if not Is_Insert then
begin
MessageDlg('你没有新增记录的权限,请与管理员联系!', mtError, [mbOK], 0);
Abort;
end;
end;
procedure TF_Form_base.Q_detailBeforeDelete(DataSet: TDataSet);
begin
if Uppercase(Login_code) <> 'SYSTEM' then
if not Is_Delete then
begin
MessageDlg('你没有删除记录的权限,请与管理员联系!', mtError, [mbOK], 0);
Abort;
end;
end;
procedure TF_Form_base.Q_detailBeforeEdit(DataSet: TDataSet);
begin
if Uppercase(Login_code) <> 'SYSTEM' then
if (not IS_edit) then
begin
MessageDlg('你没有修改记录的权限,请与管理员联系!', mtError, [mbOK], 0);
Abort;
end;
end;
procedure TF_Form_base.Q_mainBeforeEdit(DataSet: TDataSet);
begin
if Uppercase(Login_code) <> 'SYSTEM' then
if (not IS_edit) then
begin
MessageDlg('你没有修改记录的权限,请与管理员联系!', mtError, [mbOK], 0);
Abort;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?