📄 frmmainu.pas
字号:
unit frmMainU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, Menus, ImgList, StdCtrls, Buttons, jpeg,
ExtCtrls;
type
TfrmMain = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
H1: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N18: TMenuItem;
N21: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
N26: TMenuItem;
GroupBox1: TGroupBox;
btnOperator: TBitBtn;
btnReader: TBitBtn;
btnAddBook: TBitBtn;
btnResBook: TBitBtn;
btnLoan: TBitBtn;
btnReturn: TBitBtn;
btnAddReader: TBitBtn;
edClose: TBitBtn;
N28: TMenuItem;
N19: TMenuItem;
N27: TMenuItem;
N20: TMenuItem;
N22: TMenuItem;
SaveDialog: TSaveDialog;
OpenDialog: TOpenDialog;
Timer: TTimer;
gbFrm: TPanel;
Image1: TImage;
procedure edCloseClick(Sender: TObject);
procedure btnResBookClick(Sender: TObject);
procedure btnOperatorClick(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure N26Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure N28Click(Sender: TObject);
procedure btnAddBookClick(Sender: TObject);
procedure btnReaderClick(Sender: TObject);
procedure btnAddReaderClick(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N27Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure H1Click(Sender: TObject);
procedure btnLoanClick(Sender: TObject);
procedure btnReturnClick(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure TimerTimer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure LogonEnable(enb:Boolean);
Procedure MyConnect();
Procedure OpenMyForm(frm:TForm);
end;
var
frmMain: TfrmMain;
implementation
uses frmInquireU, DMU, frmOptionsU, frmBokInformU, frmReaderU,
frmAddReaderU, frmRechargeableU, frmMoneyU, frmAboutU, frmHelpU,
frmLoanU, frmRegisterU, frmUserU;
{$R *.dfm}
var
frmMainCap:String;
procedure TfrmMain.edCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmMain.btnResBookClick(Sender: TObject);
begin
if not Dm.LP('lp4')then
exit;
Application.CreateForm(TfrmInquire, frmInquire);
openMyForm(frmInquire);
frmInquire.Visible:=True;
end;
procedure TfrmMain.MyConnect;
begin
DM.adoConConnect();
end;
procedure TfrmMain.btnOperatorClick(Sender: TObject);
var
i:integer;
begin
DM.adoLpCon(False,'');
Dm.adoCon.Close;
LogonEnable(False);
for i:=0 to frmMain.gbFrm.ControlCount -1 do
begin
if frmMain.gbFrm.Controls[i]is TForm then
TForm(frmMain.gbFrm.Controls[i]).Close;
end;
MyConnect();
Dm.adoUser.Close;
Dm.adoUser.SQL.Clear;
Dm.adoUser.SQL.Text:='select * from lpUser where Name='+QuotedStr('Admin');
DM.adoUser.Open;
if Dm.adoUser.RecordCount=0 then
begin
Dm.adoUser.Append;
Dm.adoUser.FieldByName('Name').AsString:='Admin';
for i:=1 to 9 do
Dm.adoUser.FieldByName('lp'+IntToStr(i)).AsString:='1';
Dm.adoUser.Post;
end;
Dm.adoUser.Close;
frmRegister.ShowModal;
end;
procedure TfrmMain.OpenMyForm(frm: TForm);
var
i:integer;
begin
for i:=0 to frmMain.gbFrm.ControlCount -1 do
begin
if frmMain.gbFrm.Controls[i]is TForm then
TForm(frmMain.gbFrm.Controls[i]).Close;
end;
frm.Parent:=gbFrm;
frm.Align:=alClient;
frm.Show;
end;
procedure TfrmMain.N24Click(Sender: TObject);
begin
if not Dm.LP('lp1') then
exit;
Application.CreateForm(TfrmOptions, frmOptions);
frmOptions.pagc1.ActivePageIndex:=0;
frmOptions.ShowModal;
end;
procedure TfrmMain.N25Click(Sender: TObject);
begin
if not Dm.LP('lp1') then
exit;
Application.CreateForm(TfrmOptions, frmOptions);
frmOptions.pagc1.ActivePageIndex:=1;
frmOptions.ShowModal;
end;
procedure TfrmMain.N26Click(Sender: TObject);
begin
if not Dm.LP('lp2') then
exit;
Application.CreateForm(TfrmOptions, frmOptions);
frmOptions.pagc1.ActivePageIndex:=2;
frmOptions.ShowModal;
end;
procedure TfrmMain.logonEnable(enb: Boolean);
begin
N1.Enabled:=enb;
N2.Enabled:=enb;
N3.Enabled:=enb;
N4.Enabled:=enb;
btnLoan.Enabled:=enb;
btnReturn.Enabled:=enb;
btnResBook.Enabled:=enb;
btnReader.Enabled:=enb;
btnAddReader.Enabled:=enb;
btnAddBook.Enabled:=enb;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
begin
LogonEnable(False);
frmMainCap:=frmMain.Caption;
end;
procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if MessageBox(0,Pchar('真的要退出系统吗?'),'提示',mb_okCancel+MB_ICONQUESTION+MB_DEFBUTTON2+MB_TASKMODAL)=IDOK then
CanClose:=True
else
CanClose:=False;
end;
procedure TfrmMain.N28Click(Sender: TObject);
begin
if not Dm.LP('lp1') then
exit;
Application.CreateForm(TfrmOptions, frmOptions);
frmOptions.pagc1.ActivePageIndex:=3;
frmOptions.ShowModal;
end;
procedure TfrmMain.btnAddBookClick(Sender: TObject);
begin
if not Dm.LP('lp4')then
exit;
frmMain.OpenMyForm(frmBokInform);
frmBokInform.Search(0);
frmBokInform.btnAdd.Click;
end;
procedure TfrmMain.btnReaderClick(Sender: TObject);
begin
if not Dm.LP('lp5')then
exit;
Application.CreateForm(TfrmReader, frmReader);
frmMain.OpenMyForm(frmReader);
end;
procedure TfrmMain.btnAddReaderClick(Sender: TObject);
begin
if not Dm.LP('lp5')then
exit;
frmMain.OpenMyForm(frmAddReader);
frmAddReader.Search('');
frmAddReader.btnAdd.Click;
end;
procedure TfrmMain.N10Click(Sender: TObject);
begin
Close;
end;
procedure TfrmMain.N27Click(Sender: TObject);
begin
if not Dm.LP('lp6')then
exit;
frmMoney.ShowModal;
end;
procedure TfrmMain.N13Click(Sender: TObject);
begin
btnResBook.Click;
end;
procedure TfrmMain.N14Click(Sender: TObject);
begin
btnReader.Click;
end;
procedure TfrmMain.N18Click(Sender: TObject);
begin
btnAddBook.Click;
end;
procedure TfrmMain.N21Click(Sender: TObject);
begin
btnAddReader.Click;
end;
procedure TfrmMain.N9Click(Sender: TObject);
begin
btnOperator.Click;
end;
procedure TfrmMain.N12Click(Sender: TObject);
begin
frmAbout.ShowModal;
end;
procedure TfrmMain.H1Click(Sender: TObject);
begin
frmHelp.ShowModal;
end;
procedure TfrmMain.btnLoanClick(Sender: TObject);
begin
if not DM.LP('lp3')then
exit;
frmLoan.Loan(True);
frmLoan.ShowModal;
end;
procedure TfrmMain.btnReturnClick(Sender: TObject);
begin
if not Dm.LP('lp3')then
exit;
frmLoan.Loan(False);
frmLoan.ShowModal;
end;
procedure TfrmMain.N6Click(Sender: TObject);
var
i:Integer;
begin
if not Dm.LP('lp8')then
exit;
if MessageBox(0,'数据库备份必须先断开当前所有操作,你确定这样做吗?','提示',MB_OKCANCEL+MB_TASKMODAL+MB_ICONQUESTION)=IDOK then
begin
for i:=0 to frmMain.gbFrm.ControlCount -1 do
begin
if frmMain.gbFrm.Controls[i]is TForm then
TForm(frmMain.gbFrm.Controls[i]).Close;
end;
LogonEnable(False);
Dm.adoCon.Close;
SaveDialog.FileName:=DateToStr(Date)+'.db';
SaveDialog.InitialDir:=ExtractFilePath(Application.ExeName)+'data';
if SaveDialog.Execute then
CopyFile(Pchar(ExtractFilePath(Application.ExeName)+'data\db.mdb'),Pchar(SaveDialog.FileName),true);
end;
end;
procedure TfrmMain.N7Click(Sender: TObject);
var
i:integer;
begin
if not Dm.LP('lp9')then
exit;
if MessageBox(0,'警告!恢复数据库会导致备份以后所操作的数据全部丢失,你真的要这样做吗','提示',MB_OKCANCEL+MB_TASKMODAL+MB_ICONQUESTION+MB_defbutton2)=IDOK then
if MessageBox(0,'数据库备份必须先断开当前所有操作,你确定这样做吗?','提示',MB_OKCANCEL+MB_TASKMODAL+MB_ICONQUESTION+MB_defbutton2)=IDOK then
begin
for i:=0 to frmMain.gbFrm.ControlCount -1 do
begin
if frmMain.gbFrm.Controls[i]is TForm then
TForm(frmMain.gbFrm.Controls[i]).Close;
end;
LogonEnable(False);
Dm.adoCon.Close;
OpenDialog.InitialDir:=ExtractFilePath(Application.ExeName)+'data';
if OpenDialog.Execute then
begin
DeleteFile(ExtractFilePath(Application.ExeName)+'data\db.mdb');
CopyFile(Pchar(OpenDialog.FileName),Pchar(ExtractFilePath(Application.ExeName)+'data\db.mdb'),true);
if FileExists(ExtractFilePath(Application.ExeName)+'data\db.mdb')then
MessageBox(0,'数据库恢复成功','提示',MB_OK+MB_TASKMODAL+MB_ICONEXCLAMATION);
end;
end;
end;
procedure TfrmMain.N15Click(Sender: TObject);
begin
btnLoan.Click;
end;
procedure TfrmMain.N16Click(Sender: TObject);
begin
btnReturn.Click;
end;
procedure TfrmMain.N22Click(Sender: TObject);
var
i:integer;
begin
if not Dm.LP('lp7')then
exit;
if MessageBox(0,'进行用户管理必须先关闭当前所有操作,你确定这样做吗?','提示',MB_OKCANCEL+MB_TASKMODAL+MB_ICONQUESTION+MB_defbutton2)=IDOK then
begin
for i:=0 to frmMain.gbFrm.ControlCount -1 do
begin
if frmMain.gbFrm.Controls[i]is TForm then
TForm(frmMain.gbFrm.Controls[i]).Close;
end;
frmUser.ShowModal;
end;
end;
procedure TfrmMain.TimerTimer(Sender: TObject);
begin
if Dm.adoLP.Active then
frmMain.Caption:=frmMainCap+' [当前用户:'+Dm.adoLP.FieldByName('Name').AsString+'] ['+DateTimeToStr(Now)+']'
else
frmMain.Caption:=frmMainCap+' ['+DateTimeToStr(Now)+']';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -