loginmanagerfm.~pas
来自「一个电力企业的后台管理程序」· ~PAS 代码 · 共 255 行
~PAS
255 行
unit LoginManagerFM;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
wenActionPass, Menus, ActnList, Grids, DBGrids, {RXDBCtrl,}
ExtCtrls, ComCtrls, StdCtrls, DBCtrls, Mask, Db, DBTables, ImgList,
TB97Tlbr, TB97Ctls, TB97, pubBillFM, Buttons, RXCtrls, Animate, RXDBCtrl;
type
Tfrm_LoginManager = class(Tfrm_pubBill)
Qr_Login: TQuery;
Us_Login: TUpdateSQL;
Ds_Login: TDataSource;
Qr_Role: TQuery;
Ds_Role: TDataSource;
Label1: TLabel;
DBEd_WorkID: TDBEdit;
Label4: TLabel;
DBEd_WorkName: TDBEdit;
DBEd_Birthday: TDBEdit;
Label8: TLabel;
Label5: TLabel;
Label6: TLabel;
Label3: TLabel;
Dbcb_Role: TDBLookupComboBox;
DBComboBox1: TDBComboBox;
DBEd_Department: TDBEdit;
Label7: TLabel;
Label2: TLabel;
DBEd_Pwd: TDBEdit;
DBEd_Peoples: TDBEdit;
Panel3: TPanel;
RxLabel2: TRxLabel;
Image1: TImage;
Table1: TTable;
Panel1: TPanel;
RxLabel1: TRxLabel;
procedure FormCreate(Sender: TObject);
procedure Actn_Const_RefreshExecute(Sender: TObject);
procedure Actn_Const_UserControlExecute(Sender: TObject);
procedure DBEd_WorkIDKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBEd_WorkIDExit(Sender: TObject);
procedure Dbcb_RoleKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Actn_Const_SaveExecute(Sender: TObject);
procedure Actn_Const_CancelExecute(Sender: TObject);
procedure Actn_Const_NewExecute(Sender: TObject);
procedure Actn_Const_DeleteExecute(Sender: TObject);
procedure DBComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
CanSave:boolean;
procedure RefreshTable;
public
{ Public declarations }
end;
var
frm_LoginManager: Tfrm_LoginManager;
implementation
uses systemDM;
{$R *.DFM}
///////////////////////////////////////////////////////////////////
//私有函数
///////////////////////////////////////////////////////////////////
procedure Tfrm_LoginManager.RefreshTable;
begin
with Qr_Login do
begin
DisableControls;
Close; DatabaseName:=sysDM.DBName; SQL.Clear;
SQL.Text:=' select * from ECSC_SA.sysLogin ';
EnableControls;
Prepare; Open;
end;
with Qr_Role do
begin
DisableControls;
Close; DatabaseName:=sysDM.DBName; SQL.Clear;
SQL.Text:=' select * from ECSC_SA.sysRole';
EnableControls;
Prepare; Open;
end;
end;
///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
procedure Tfrm_LoginManager.FormCreate(Sender: TObject);
begin
inherited;
RefreshTable;
CanSave:=true;
stb_Main.Panels[0].Text:='共有'
+inttostr(Qr_Login.RecordCount)
+'条记录.';
end;
procedure Tfrm_LoginManager.Actn_Const_RefreshExecute(Sender: TObject);
begin
inherited;
RefreshTable;
stb_Main.Panels[0].Text:='共有'
+inttostr(Qr_Login.RecordCount)
+'条记录.';
end;
procedure Tfrm_LoginManager.Actn_Const_UserControlExecute(
Sender: TObject);
begin
inherited;
stb_Main.Panels[0].Text:='共有'
+inttostr(Qr_Login.RecordCount)
+'条记录.';
end;
procedure Tfrm_LoginManager.DBEd_WorkIDKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
if (ssCtrl in Shift) or (ssAlt in Shift) then exit;
if Key=13 then exit;
if not FormEditStatus then
Actn_Const_Edit.Execute;
end;
procedure Tfrm_LoginManager.DBEd_WorkIDExit(Sender: TObject);
var
SQL_Str:string;
begin
inherited;
if not FormEditStatus then exit;
SQL_Str:=' select workID from syslogin '
+' where workID='''+DBEd_WorkID.Text+''''
+' and APPNAME = ''' + sysDM.AppName + '''';
if sysDM.SQL_Querys(sysDM.Qr_Temp,SQL_Str) then
begin
if Qr_Login.FieldByName('workId').OldValue=Qr_Login.FieldByName('workId').NewValue then
begin
Cansave:=true;
exit;
end;
Application.MessageBox('该操作员工号已存在,请选择一个新的工号。','提示',MB_OK);
DBEd_WorkID.SetFocus;
CanSave:=false;
end else
Cansave:=true;
end;
procedure Tfrm_LoginManager.Dbcb_RoleKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
if (ssCtrl in Shift) or (ssAlt in Shift) then exit;
if Key=13 then exit;
if not FormEditStatus then
Actn_Const_Edit.Execute;
end;
procedure Tfrm_LoginManager.Actn_Const_SaveExecute(Sender: TObject);
begin
SelectNext(ActiveControl,true,true);
if not CanSave then exit;
if trim(Qr_Login.FieldByName('WorkID').AsString)='' then
begin
ShowMessage('请填写操作员工号!');
exit;
end;
if trim(Qr_Login.FieldByName('RoleName').AsString)='' then
begin
ShowMessage('请选择操作员角色!');
exit;
end;
if trim(Qr_Login.FieldByName('WorkName').AsString)='' then
begin
ShowMessage('请填写操作员姓名!');
exit;
end;
sysDM.DBMain.StartTransaction;
try
if Qr_Login.FieldByName('Pwd').IsNull then
Qr_Login.FieldByName('Pwd').AsString:='';
Qr_Login.FieldByName('ISRECORD').asinteger:=1;
if Qr_Login.Modified then
Qr_Login.ApplyUpdates;
sysDM.DBMain.Commit;
except
Qr_Login.CommitUpdates;
sysDM.DBMain.Rollback;
exit;
end;
Qr_Login.CommitUpdates;
CanSave:=true;
inherited;
end;
procedure Tfrm_LoginManager.Actn_Const_CancelExecute(Sender: TObject);
begin
inherited;
Qr_Login.Cancel;
CanSave:=true;
end;
procedure Tfrm_LoginManager.Actn_Const_NewExecute(Sender: TObject);
begin
inherited;
with Qr_Login do
begin
Qr_login.Edit;
Append;
FieldByName('AppName').AsString:=sysDM.AppName;
end;
DBEd_WorkID.SetFocus;
end;
procedure Tfrm_LoginManager.Actn_Const_DeleteExecute(Sender: TObject);
begin
if Application.MessageBox('确认删除数据吗?','提示',MB_YESNO+MB_ICONQUESTION)=ID_NO then exit;
sysDM.DBMain.StartTransaction;
try
Qr_Login.Delete;
Qr_Login.ApplyUpdates;
sysDM.DBMain.Commit;
except
Qr_Login.CommitUpdates;
sysDM.DBMain.Rollback;
exit;
end;
Qr_Login.CommitUpdates;
inherited;
end;
procedure Tfrm_LoginManager.DBComboBox1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
if Key=13 then DBEd_WorkName.SetFocus;
end;
procedure Tfrm_LoginManager.FormActivate(Sender: TObject);
begin
inherited;
tbtn97_Const_Edit.Visible:=True;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?