📄 umainf.pas
字号:
unit uMainF;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ToolWin, ComCtrls, ExtCtrls, jpeg, ActnList, Buttons, AppEvnts,
DB, DBTables;
type
TMainF = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N8: TMenuItem;
N5: TMenuItem;
N7: TMenuItem;
jh: TMenuItem;
N10: TMenuItem;
cx: TMenuItem;
N12: TMenuItem;
ybyh: TMenuItem;
tsyh: TMenuItem;
N15: TMenuItem;
rk: TMenuItem;
ql: TMenuItem;
xg: TMenuItem;
StatusBar1: TStatusBar;
N6: TMenuItem;
sjlj: TMenuItem;
ActionList1: TActionList;
Action1: TAction;
CoolBar1: TCoolBar;
Panel4: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Panel5: TPanel;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
Panel1: TPanel;
Image1: TImage;
Image2: TImage;
Panel3: TPanel;
Panel2: TPanel;
Panel6: TPanel;
SpeedButton8: TSpeedButton;
SpeedButton9: TSpeedButton;
SpeedButton10: TSpeedButton;
Panel7: TPanel;
SpeedButton11: TSpeedButton;
N9: TMenuItem;
N11: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
ApplicationEvents1: TApplicationEvents;
Query1: TQuery;
N19: TMenuItem;
N20: TMenuItem;
procedure N4Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Panel1Resize(Sender: TObject);
procedure jhClick(Sender: TObject);
procedure Panel2Resize(Sender: TObject);
procedure cxClick(Sender: TObject);
procedure xgClick(Sender: TObject);
procedure rkClick(Sender: TObject);
procedure qlClick(Sender: TObject);
procedure ybyhClick(Sender: TObject);
procedure tsyhClick(Sender: TObject);
procedure sjljClick(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure Action1Execute(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure SpeedButton10Click(Sender: TObject);
procedure SpeedButton11Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
procedure ApplicationEvents1Deactivate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
Loged : integer;
UserName , UserPwd : string;
function CheckUser(AUserName , AUserPwd : string):integer;
procedure Init(P : integer);
procedure InitView;
end;
var
MainF: TMainF;
implementation
uses uLogF, uGloabVar,uLandF, uQueryF, uEditF, uNewF, uReEditF,
uUesrMgrF, uShowBookF, uMgrUserF, uDataPathF, uAboutF, uControlsViewF;
{$R *.DFM}
//procedure ShowWinHookF;stdcall;external 'D:\Borland\Delphi6\Projects\lib\WinHook\WinHook.dll' name 'ShowWinHookF';
procedure TMainF.N4Click(Sender: TObject);
begin
Close;
end;
function TMainF.CheckUser(AUserName , AUserPwd : string):integer;
var
Query : TQuery;
begin
try
Query := TQuery.Create(nil);
Query.DatabaseName := DBName;
Query.SQL.Add('select * from tsyhb where UserName=:UserName');
Query.ParamByName('UserName').AsString := AUserName;
Query.Open;
if Query.RecordCount = 0 then
begin
MessageDlg('用户名错误',mtError,[mbok],0);
Result := -1;
Exit;
end else begin
if Query.FieldByName('UserPwd').AsString <> AUserPwd then
begin
MessageDlg('用户名或口令错误',mtError,[mbok],0);
Result := -1;
Exit;
end
else Result := Query.FieldByName('Class').AsInteger;
end;
Query.Close;
Query.Free;
except
Result := -1;
MessageDlg('连接数据库出错',mtError,[mbok],0);
end;
end;
procedure TMainF.Init(P: integer);
begin
case P of
-1 : begin
N5.Enabled := True;
N12.Enabled := True;
rk.Enabled := False;
SpeedButton3.Enabled := False;
ql.Enabled := False;
SpeedButton4.Enabled := False;
xg.Enabled := False;
SpeedButton5.Enabled := False;
jh.Enabled := False;
SpeedButton6.Enabled := False;
cx.Enabled := False;
SpeedButton7.Enabled := False;
ybyh.Enabled := False;
SpeedButton8.Enabled := False;
tsyh.Enabled := False;
SpeedButton9.Enabled := False;
sjlj.Enabled := True;
SpeedButton10.Enabled := True;
StatusBar1.Panels[0].Text := '没有用户登录';
StatusBar1.Panels[1].Text := '';
UserName := '';
UserPwd := '';
InitView;
end;
0 : begin
N5.Enabled := True;
N12.Enabled := True;
rk.Enabled := True;
SpeedButton3.Enabled := True;
ql.Enabled := True;
SpeedButton4.Enabled := True;
xg.Enabled := True;
SpeedButton5.Enabled := True;
jh.Enabled := True;
SpeedButton6.Enabled := True;
cx.Enabled := True;
SpeedButton7.Enabled := True;
ybyh.Enabled := True;
SpeedButton8.Enabled := True;
tsyh.Enabled := True;
SpeedButton9.Enabled := True;
sjlj.Enabled := True;
SpeedButton10.Enabled := True;
StatusBar1.Panels[0].Text := '用户名:'+UserName;
StatusBar1.Panels[1].Text := '用户描述:超级用户';
end;
1 : begin
N5.Enabled := True;
N12.Enabled := True;
rk.Enabled := True;
SpeedButton3.Enabled := True;
ql.Enabled := True;
SpeedButton4.Enabled := True;
xg.Enabled := True;
SpeedButton5.Enabled := True;
jh.Enabled := True;
SpeedButton6.Enabled := True;
cx.Enabled := True;
SpeedButton7.Enabled := True;
sjlj.Enabled := True;
SpeedButton10.Enabled := True;
ybyh.Enabled := True;
SpeedButton8.Enabled := True;
tsyh.Enabled := False;
SpeedButton9.Enabled := False;
StatusBar1.Panels[0].Text := '用户名:'+UserName;
StatusBar1.Panels[1].Text := '用户描述:一般管理员';
end;
2 : begin
N5.Enabled := True;
N12.Enabled := True;
rk.Enabled := False;
SpeedButton3.Enabled := False;
ql.Enabled := False;
SpeedButton4.Enabled := False;
xg.Enabled := False;
SpeedButton5.Enabled := False;
jh.Enabled := True;
SpeedButton6.Enabled := True;
cx.Enabled := True;
SpeedButton7.Enabled := True;
sjlj.Enabled := True;
SpeedButton10.Enabled := True;
ybyh.Enabled := False;
SpeedButton8.Enabled := False;
tsyh.Enabled := False;
SpeedButton9.Enabled := False;
StatusBar1.Panels[0].Text := '用户名:'+UserName;
StatusBar1.Panels[1].Text := '用户描述:操作员';
end;
end;
end;
procedure TMainF.N2Click(Sender: TObject);
begin
if Loged = -1 then
begin
if LogF.ShowModal = mrok then
begin
UserName := LogF.Edit1.Text;
UserPwd := LogF.Edit2.Text;
Loged := CheckUser(UserName,UserPwd);
end
else Loged := -1;
if Loged <> -1 then
begin
Init(Loged);
N2.Caption := '注销';
SpeedButton1.Caption := '注销';
ShowBookF := TShowBookF.Create(nil);
end;
end
else begin
if MessageBox(0,PChar('确实要注销用户:'+UserName+'?'),'注销',MB_ICONQUESTION or MB_YESNO)=IDNO then
Exit;
Loged := -1;
Init(-1);
N2.Caption := '登录';
SpeedButton1.Caption := '登录';
ShowBookF.Free;
end;
end;
procedure TMainF.FormCreate(Sender: TObject);
begin
N11.Checked := ViewOper;
CoolBar1.Bands[0].Visible := N11.Checked;
N13.Checked := ViewBookMgr;
CoolBar1.Bands[1].Visible := N13.Checked;
N14.Checked := ViewSettingMgr;
CoolBar1.Bands[2].Visible := N14.Checked;
N16.Checked := ViewAbout;
CoolBar1.Bands[3].Visible := N16.Checked;
N18.Checked := ViewBack;
//N19.Enabled := N18.Checked;
Image2.Free;
Image2 := nil;
Loged := -1;
Init(Loged);
end;
procedure TMainF.Panel1Resize(Sender: TObject);
begin
Panel2.Top := (Panel1.Height - Panel2.Height)div 2;
Panel2.Left := (Panel1.Width - Panel2.Width)div 2;
Panel3.Width := Panel2.Width;
Panel3.Height := Panel2.Height;
Panel3.Top := Panel2.Top +5;
Panel3.Left := Panel2.Left + 5;
end;
procedure TMainF.jhClick(Sender: TObject);
begin
if LandF <> nil then
if LandF.Parent <> nil then
LandF.Parent := Panel2
else InitView
else InitView;
if LandF = nil then
begin
LandF := TLandF.Create(nil);
LandF.Parent := nil;
Caption := '图书管理系统-图书借还';
LandF.Parent := Panel2;
Panel1Resize(Sender);
LandF.Init;
end;
end;
procedure TMainF.InitView;
begin
try
MainF.Caption := '图书管理系统';
if QueryF <> nil then
begin
QueryF.Free;
QueryF := nil;
end;
if LandF <> nil then
begin
LandF.Free;
LandF := nil;
end;
if EditF <> nil then
begin
EditF.Free;
EditF := nil;
end;
if NewF <> nil then
begin
NewF.Free;
NewF := nil;
end;
if ReEditF <> nil then
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -