?? main_form.pas
字號:
unit Main_Form;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,DB,ADODB, Menus, ComCtrls, ActnList, StdCtrls, XPMenu, jpeg,
ExtCtrls, AES,ELAES, WinSkinStore, WinSkinData;
type
TMain_F = class(TForm)
MainMenu1: TMainMenu;
XTST_N: TMenuItem;
DL_N: TMenuItem;
ActionList1: TActionList;
XPMenu1: TXPMenu;
XPMenu2: TXPMenu;
N1: TMenuItem;
Panel1: TPanel;
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
StatusBar1: TStatusBar;
Timer1: TTimer;
Image5: TImage;
SkinData1: TSkinData;
SkinStore1: TSkinStore;
Change: TMenuItem;
Skin: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure DL_NClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure SkinClick(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
procedure CheckUser(AUserName , AUserPwd : string);
Procedure ShowIt(Sender:Tobject);
end;
var
Main_F: TMain_F;
Change_T:TADOTable;
implementation
uses share, Enter_Form, QXGL_Form, YHZGL_Form, About_Form, CZRZ_Form,
SCZRZ_Form, Enter_Form1, HTMLHelp_Decl, GNGL_Form;
{$R *.dfm}
//******************************************************************************
procedure TMain_F.FormCreate(Sender: TObject);
begin
DataPath:=ExtractFilePath(Application.ExeName);
Connect:=TADOConnection.Create(nil);
Connect.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DataPath+'\Data.mdb;Persist Security Info=False';
Connect.LoginPrompt:=false;
connect.Connected:=true;
ADOCon:=TADOConnection.Create(nil);
ADOCon.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DataPath+'\Data.mdb;Persist Security Info=False';
ADOCon.LoginPrompt:=false;
ADOCon.Connected:=true;
StatusBar1.Panels[0].Text := ' 用戶名:'+UserName;
StatusBar1.Panels[1].Text:=' 用戶權限管理模塊 ';
CZRZInit; //初始化操作日志CZRZ_Q
Change_T:= TADOTable.Create(nil);
Change_T.Connection := Connect;
Change_T.TableName:='隨機換皮膚';
Change_T.Open;
if Change_T.FieldValues['是否'] then
begin
SkinData1.Active:=true;
Skin.Checked:=true;
Randomize;
SkinData1.LoadFromCollection(skinstore1,Random(4));
end
else
begin
SkinData1.Active:=false;
Skin.Checked:=false;
N2.Visible:=false;
end;
end;
//******************************************************************************
procedure TMain_F.DL_NClick(Sender: TObject);
var
i,j:integer;
begin
if DL_N.Caption='登錄' then
begin
if not Skin.Checked then
begin
if Enter_F.ShowModal = mrok then
begin
UserName := Enter_F.ZH_E.Text;
UserPwd := Enter_F.MM_E.Text;
end;
end
else
begin
if Enter_F1.ShowModal = mrok then
begin
UserName := Enter_F1.ZH_E.Text;
UserPwd := Enter_F1.MM_E.Text;
end;
end;
CheckUser(UserName,UserPwd);
StatusBar1.Panels[0].Text := '用戶名:'+UserName;
end
else
if DL_N.Caption='注銷' then
begin
for i:=2 to 5 do
begin
j:=2;
MainMenu1.Items[j].Destroy;
end;
DL_N.Caption:='登錄' ;
DL_NClick(DL_N);
end;
end;
//******************************************************************************
procedure TMain_F.CheckUser(AUserName , AUserPwd : string);
var
YHDL_Q,YHGNB_Q,ZCD_Q: TADOQuery;
GNB_T :TADOTable;
i,s:integer;
menu:TMenuItem ;
begin
if (AUserName='') or (AUserPwd='') then
showmessage('請輸入用戶名和密碼')
else
begin
try
YHDL_Q := TADOQuery.Create(nil);
YHDL_Q.Connection := Connect;
YHDL_Q.SQL.Add('select * from 用戶表 where 帳號=:帳號');
YHDL_Q.Parameters.ParamByName('帳號').Value := AUserName;
YHDL_Q.Open;
if YHDL_Q.RecordCount = 0 then
begin
CZRZ:= ' 登錄時間:'+datetostr(date)+' '+timetostr(time)+' 帳號 :'+UserName;
CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
CZRZ:= ' 帳戶名錯誤';
CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
CZRZ_F.CZRZ_FM.Lines.Add('');
WriteCZRZ;
MessageDlg('帳戶名錯誤',mtError,[mbok],0);
Exit;
end
else
begin
if trim(DecryptString(YHDL_Q.FieldByName('密碼').AsString,'siliang')) <> AUserPwd then
begin
CZRZ:= ' 登錄時間:'+datetostr(date)+' '+timetostr(time)+' 帳號 :'+UserName;
CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
CZRZ:= ' 用戶口令錯誤';
CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
CZRZ_F.CZRZ_FM.Lines.Add('');
WriteCZRZ;
MessageDlg('用戶口令錯誤',mtError,[mbok],0);
Exit;
end
else
begin
DL_N.Caption:='注銷';
Change.Visible:=true;
GNB_T:= TADOTable.Create(nil);
GNB_T.Connection := Connect;
GNB_T.TableName:='功能表';
GNB_T.Open;
YHGNB_Q := TADOQuery.Create(nil);
YHGNB_Q.Connection := Connect;
YHGNB_Q.SQL.Add('select 功能號 from 用戶功能表 where 帳號=:帳號');
YHGNB_Q.Parameters.ParamByName('帳號').Value :=AUserName;
YHGNB_Q.Open;
ZCD_Q := TADOQuery.Create(nil);
ZCD_Q.Connection := Connect;
ZCD_Q.SQL.Add('select 功能名 from 主菜單');
ZCD_Q.Open;
while not ZCD_Q.Eof do
begin
menu:=TMenuItem.Create(self);
menu.Caption:=ZCD_Q.FieldValues['功能名'];
MainMenu1.Items.Add(menu);
ZCD_Q.Next;
end;
for i:=1 to YHGNB_Q.RecordCount do
begin
GNB_T.Locate('功能號',YHGNB_Q.FieldValues['功能號'],[]);
s:=strtoint(GNB_T.FieldValues['父菜單號']);
menu:=TMenuItem.Create(self);
menu.Caption:=GNB_T.FieldValues['功能名'];
MainMenu1.Items[s].Add(menu);
menu.OnClick:=ShowIt;
YHGNB_Q.Next;
end;
XPMenu1.Active:=true;
//DL_N.Enabled:=false;
end;
end;
CZRZ:= ' ------歡迎使用用戶權限管理系統------'; //寫入操作日志
CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
CZRZ:= ' 登錄時間:'+datetostr(date)+' '+timetostr(time)+' 帳號 :'+UserName;
CZRZ_F.CZRZ_FM.Lines.Add(CZRZ);
CZRZ_F.CZRZ_FM.Lines.Add('');
WriteCZRZ;
except
MessageDlg('連接數據庫出錯',mtError,[mbok],0);
end;
FreeAndNil(YHDL_Q);
FreeAndNil(YHGNB_Q);
FreeAndNil(ZCD_Q);
FreeAndNil(GNB_T);
end;
end;
//******************************************************************************
Procedure TMain_F.ShowIt(Sender:Tobject);
begin
With Sender as TmenuItem do
begin
if caption='用戶管理' then
with TQXGL_F.Create(nil) do
try
ShowModal;
finally
Free;
end;
if caption='用戶組管理' then
with TYHZGL_F.Create(nil) do
try
ShowModal;
finally
Free;
end;
if caption='功能管理' then
with TGNGL_F.Create(nil) do
try
ShowModal;
finally
Free;
end;
if caption='關于' then
with TAbout_F.Create(nil) do
try
ShowModal;
finally
Free;
end;
if caption='本次操作日志' then
begin
CZRZ_F.CZRZ_FM.Enabled:=false;
CZRZ_F.ShowModal;
end;
if caption='查詢操作日志' then
with TSCZRZ_F.Create(nil) do
try
ShowModal;
finally
Free;
end;
if caption='記事本' then
Winexec('notepad.EXE',sw_Normal);
if caption='畫圖工具' then
Winexec('mspaint.EXE',sw_Normal);
if caption='電子鐘' then
Winexec('Clock.EXE',sw_Normal);
if caption='聯機幫助' then
HtmlHelp(Application.handle, '.\QHelp.chm',HH_HELP_CONTEXT, DWORD_PTR(1));
end;
end;
//******************************************************************************
procedure TMain_F.FormDestroy(Sender: TObject);
begin
connect.Connected:=false;
ADOCon.Connected:=false;
end;
//******************************************************************************
procedure TMain_F.N1Click(Sender: TObject);
begin
if MessageBox(Handle,'是否真要退出?','提示',MB_ICONQUESTION or MB_YESNO) = idYes then
close;
end;
//******************************************************************************
procedure TMain_F.Timer1Timer(Sender: TObject);
begin
StatusBar1.Panels[2].Text:=' 時間:'+timetostr(time);
end;
//******************************************************************************
procedure TMain_F.SkinClick(Sender: TObject);
begin
Change_T.Edit;
if Skin.Checked then
begin
Change_T.FieldValues['是否']:=false;
Skin.Checked:=false;
end
else
begin
Change_T.FieldValues['是否']:=true;
Skin.Checked:=true;
end;
Change_T.Post;
end;
//******************************************************************************
procedure TMain_F.N3Click(Sender: TObject);
begin
SkinData1.LoadFromCollection(skinstore1,1);
end;
//******************************************************************************
procedure TMain_F.N5Click(Sender: TObject);
begin
SkinData1.LoadFromCollection(skinstore1,2);
end;
//******************************************************************************
procedure TMain_F.N6Click(Sender: TObject);
begin
SkinData1.LoadFromCollection(skinstore1,3);
end;
//******************************************************************************
procedure TMain_F.N7Click(Sender: TObject);
begin
SkinData1.LoadFromCollection(skinstore1,4);
end;
//******************************************************************************
procedure TMain_F.N8Click(Sender: TObject);
begin
SkinData1.LoadFromCollection(skinstore1,5);
end;
//******************************************************************************
procedure TMain_F.N9Click(Sender: TObject);
begin
SkinData1.LoadFromCollection(skinstore1,6);
end;
//******************************************************************************
procedure TMain_F.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
num:=self.HelpContext;
F1_Help(key);
end;
//******************************************************************************
procedure TMain_F.FormClose(Sender: TObject; var Action: TCloseAction);
begin
HtmlHelp( 0,'',HH_CLOSE_ALL,nil);
CloseHtmlHelpSystem;
end;
//******************************************************************************
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -