📄 operinfounit.pas
字号:
unit OperInfoUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, ComCtrls, Grids, DBGrids, ToolWin, ExtCtrls;
type
TOperInfoForm = class(TForm)
PanelBkGnd: TPanel;
ControlBar1: TControlBar;
ToolBar1: TToolBar;
TB_add: TToolButton;
TB_EDIT: TToolButton;
TB_DEL: TToolButton;
ToolButton5: TToolButton;
TB_refresh: TToolButton;
TB_EXIT: TToolButton;
DBG_BASSMESS: TDBGrid;
StatusBar: TStatusBar;
DataSource: TDataSource;
Query_data: TQuery;
Query_del: TQuery;
procedure TB_addClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TB_EDITClick(Sender: TObject);
procedure TB_DELClick(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure TB_EXITClick(Sender: TObject);
procedure TB_refreshClick(Sender: TObject);
private
B_create: boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
OperInfoForm: TOperInfoForm;
implementation
uses EditUserUnit, FunctionUnit, MainUnit;
{$R *.dfm}
procedure TOperInfoForm.TB_addClick(Sender: TObject);
begin
if Checkrights(USERRIGHTS, '增加') then
begin
Application.CreateForm(TEditUserForm, EditUserForm);
EditUserForm.Caption := '操作员信息(增加)';
EditUserForm.P_state := 0;
EditUserForm.C_rights.ItemIndex := 1;
EditUserForm.showmodal;
EditUserForm.free;
tb_refresh.Click;
query_data.Last;
end
else
begin
messagedlg(Errormsg0006 + '0007', mterror, [mbok], 0);
exit;
end;
end;
procedure TOperInfoForm.FormCreate(Sender: TObject);
begin
B_create := false;
query_data.DatabaseName := 'CPXSGL';
query_del.DatabaseName := 'CPXSGL';
self.Caption := Application.Title + ' - 操作员信息设置';
with query_data do
begin
close;
sql.Clear;
sql.Text := 'SELECT * from Sysuser';
try
open;
B_create := true;
except
messagedlg(Errormsg0001 + '0001', mtError, [mbok], 0);
close;
B_create := false;
end;
end;
end;
procedure TOperInfoForm.TB_EDITClick(Sender: TObject);
begin
if (Checkrights(USERRIGHTS, '编辑')) and
((query_data.fieldbyname('name').asstring = USERNAME) or (USERRIGHTSNAME = '管理员')) then
begin
Application.CreateForm(TEditUserForm, EditUserForm);
EditUserForm.P_state := 1;
EditUserForm.Caption := '操作员信息(编辑)';
with query_data do
begin
EditUserForm.E_name.Text := fieldbyname('name').asstring;
EditUserForm.E_id.Text := fieldbyname('id').asstring;
EditUserForm.E_sex.Text := fieldbyname('sex').asstring;
EditUserForm.E_password.Text := fieldbyname('pass').asstring;
if fieldbyname('rights').asstring = '管理员' then
EditUserForm.C_rights.ItemIndex := 0
else if fieldbyname('rights').asstring = '一级' then
EditUserForm.C_rights.ItemIndex := 1
else if fieldbyname('rights').asstring = '二级' then
EditUserForm.C_rights.ItemIndex := 2
else if fieldbyname('rights').asstring = '三级' then
EditUserForm.C_rights.ItemIndex := 3
else if fieldbyname('rights').asstring = '四级' then
EditUserForm.C_rights.ItemIndex := 4
else
EditUserForm.C_rights.ItemIndex := 5;
EditUserForm.E_memo.Text := fieldbyname('memo').asstring;
end;
EditUserForm.showmodal;
EditUserForm.free;
tb_refresh.Click;
end
else
begin
messagedlg(Errormsg0006 + '0007', mterror, [mbok], 0);
exit;
end;
end;
procedure TOperInfoForm.TB_DELClick(Sender: TObject);
begin
if not Checkrights(USERRIGHTS, '删除') then
begin
messagedlg(Errormsg0006 + '0007', mterror, [mbok], 0);
exit;
end;
if messagedlg('警告:删除操作员信息数据可能产生严重数据丢失现象,请不要在此删除操作员信息数据' + chr(13) + chr(13)
+ '删除数据操作将不可恢复,确定要删除本记录吗?', mtWarning, [mbyes, mbno], 0) = mryes then
if messagedlg('再次警告:为了保证数据库内数据信息的完整性,请不要在此删除操作员信息数据' + chr(13) + chr(13)
+ '删除数据操作将不可恢复,确定要删除本记录吗?', mtWarning, [mbyes, mbno], 0) = mryes then
begin
if query_data.FieldByName('rights').AsString = '管理员' then
begin
messagedlg(Errormsg0007 + '0005', mtError, [mbok], 0);
exit;
end;
with query_del do
begin
close;
sql.Clear;
sql.Text := 'delete from Sysuser where id=''' + query_data.fieldbyname('ID').asstring + '''';
try
execsql;
except
messagedlg(Errormsg0005 + '0005', mtError, [mbok], 0);
close;
exit;
end;
messagedlg(Infmsg0002, mtInformation, [mbok], 0);
close;
tb_refresh.Click;
end;
end;
end;
procedure TOperInfoForm.FormPaint(Sender: TObject);
begin
if not B_create then
self.Close;
end;
procedure TOperInfoForm.TB_EXITClick(Sender: TObject);
begin
Self.Close;
end;
procedure TOperInfoForm.TB_refreshClick(Sender: TObject);
begin
OperInfoForm.Query_data.Close;
OperInfoForm.Query_data.Open;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -