📄 u_main.pas
字号:
unit U_main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, Buttons, ComCtrls, ToolWin,
StdActns, ActnList, ImgList, Menus, DB, ADODB, IdBaseComponent,
IdComponent, IdIPWatch, XPMenu, DBClient, Provider;
type
//按钮状态设置
TOperateState=(mAdd,mEdit,mDelete,mQuery,mGetdata,mBrowse,mUpdate,
mCancel,mFormActive,mFormClose);
TF_main = class(TForm)
ImageList1: TImageList;
ActionList1: TActionList;
FileNew1: TAction;
FileOpen1: TAction;
FileClose1: TWindowClose;
FileSave1: TAction;
FileSaveAs1: TAction;
FileExit1: TAction;
EditCut1: TEditCut;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowTileVertical1: TWindowTileVertical;
WindowMinimizeAll1: TWindowMinimizeAll;
WindowArrangeAll1: TWindowArrange;
HelpAbout1: TAction;
MainMenu1: TMainMenu;
H6: TMenuItem;
N17: TMenuItem;
N35: TMenuItem;
N38: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
H1: TMenuItem;
StatusBar1: TStatusBar;
IdIPWatch1: TIdIPWatch;
H2: TMenuItem;
H4: TMenuItem;
H5: TMenuItem;
XPMenu1: TXPMenu;
N1: TMenuItem;
N2: TMenuItem;
ADOQpub: TADOQuery;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
DBNavigator1: TDBNavigator;
ToolButton2: TToolButton;
B_add: TBitBtn;
B_edit: TBitBtn;
B_delete: TBitBtn;
ToolButton3: TToolButton;
B_query: TBitBtn;
B_getdata: TBitBtn;
B_brow: TBitBtn;
ToolButton4: TToolButton;
B_update: TBitBtn;
B_cancel: TBitBtn;
ToolButton5: TToolButton;
B_close: TBitBtn;
N24: TMenuItem;
N25: TMenuItem;
N27: TMenuItem;
N31: TMenuItem;
N33: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
B_cal: TBitBtn;
N46: TMenuItem;
N53: TMenuItem;
N54: TMenuItem;
N56: TMenuItem;
N57: TMenuItem;
N4: TMenuItem;
N3: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N8: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
procedure B_closeClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure B_addClick(Sender: TObject);
procedure B_editClick(Sender: TObject);
procedure B_deleteClick(Sender: TObject);
procedure B_queryClick(Sender: TObject);
procedure B_getdataClick(Sender: TObject);
procedure B_browClick(Sender: TObject);
procedure B_updateClick(Sender: TObject);
procedure B_cancelClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure N35Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure B_calClick(Sender: TObject);
procedure N56Click(Sender: TObject);
procedure N57Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure N33Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N54Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N46Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N31Click(Sender: TObject);
procedure N11Click(Sender: TObject);
private
Fvision : string;
FData : OleVariant;
{ Private declarations }
public
{ Public declarations }
bitmap:tbitmap;
vdate,vuser_no,vuser_nm,vprogram_no,vTodayDate,Prior_yymm,vfac_no,vadministrator:string;
published
property Vision : string read FVision;
property Data : OleVariant read FData;
end;
var
F_main: TF_main;
TodayDateTime:TDatetime;
firstfrm :boolean;
implementation
uses U_child,U_child1_1, fuct_server, UDM, U_user, U_program, U_useset,
U_login, ufrmAbout, UfrmFactory, UfrmSec, UfrmOpenAccount, UfrmDeposit,
UfrmStd_Rate, UfrmInterRest, UfrmInterRestRep, UfrmBalanceMaster,
UfrmDepositRep, UfrmCancelAccount, UfrmTryBalanceRep, UfrmLock_Deposit;
{$R *.dfm}
procedure TF_main.B_closeClick(Sender: TObject);
begin
if assigned(TF_child(ActiveMDIChild)) then
begin
if self.ActiveMDIChild is TF_child then
begin
TF_child(self.ActiveMDIChild).mlog:=mFormClose;
TF_child(self.ActiveMDIChild).setuseprg(mFormClose);
TF_child(self.ActiveMDIChild).DoCloseForm;
end;
end
else close;
end;
procedure TF_main.Button1Click(Sender: TObject);
begin
F_child1_1:=tF_child1_1.Create(application);
F_child1_1.Show;
end;
procedure TF_main.B_addClick(Sender: TObject);
begin
if assigned(TF_child(self.ActiveMDIChild)) then
if self.ActiveMDIChild is TF_child then
begin
TF_child(self.ActiveMDIChild).mlog:=madd;
TF_child(self.ActiveMDIChild).setuseprg(madd);
TF_child(self.ActiveMDIChild).DoInsert;
end;
end;
procedure TF_main.B_editClick(Sender: TObject);
begin
if assigned(TF_child(self.ActiveMDIChild)) then
if self.ActiveMDIChild is TF_child then
begin
TF_child(self.ActiveMDIChild).mlog:=medit;
TF_child(self.ActiveMDIChild).setuseprg(medit);
TF_child(self.ActiveMDIChild).DoEdit;
end;
end;
procedure TF_main.B_deleteClick(Sender: TObject);
begin
if assigned(TF_child(self.ActiveMDIChild)) then
if self.ActiveMDIChild is TF_child then
begin
TF_child(self.ActiveMDIChild).mlog:=mdelete;
TF_child(self.ActiveMDIChild).setuseprg(mdelete);
TF_child(self.ActiveMDIChild).DoDelete;
end;
end;
procedure TF_main.B_queryClick(Sender: TObject);
begin
if assigned(TF_child(self.ActiveMDIChild)) then
if self.ActiveMDIChild is TF_child then
begin
TF_child(self.ActiveMDIChild).mlog:=mquery;
TF_child(self.ActiveMDIChild).setuseprg(mquery);
TF_child(self.ActiveMDIChild).DoQuery;
end;
end;
procedure TF_main.B_getdataClick(Sender: TObject);
begin
if assigned(TF_child(self.ActiveMDIChild)) then
if self.ActiveMDIChild is TF_child then
begin
TF_child(self.ActiveMDIChild).mlog:=mgetdata;
TF_child(self.ActiveMDIChild).setuseprg(mgetdata);
TF_child(self.ActiveMDIChild).DoGetData;
end;
end;
procedure TF_main.B_browClick(Sender: TObject);
begin
if assigned(TF_child(self.ActiveMDIChild)) then
if self.ActiveMDIChild is TF_child then
begin
TF_child(self.ActiveMDIChild).mlog:=mBrowse;
TF_child(self.ActiveMDIChild).setuseprg(mBrowse);
TF_child(self.ActiveMDIChild).DoBrowse;
end;
end;
procedure TF_main.B_updateClick(Sender: TObject);
begin
if assigned(TF_child(self.ActiveMDIChild)) then
if self.ActiveMDIChild is TF_child then
begin
TF_child(self.ActiveMDIChild).setuseprg(mupdate);
TF_child(self.ActiveMDIChild).DoSave;
end;
end;
procedure TF_main.B_cancelClick(Sender: TObject);
begin
if assigned(TF_child(self.ActiveMDIChild)) then
if self.ActiveMDIChild is TF_child then
begin
//TF_child(self.ActiveMDIChild).mlog:=mcancel;
TF_child(self.ActiveMDIChild).setuseprg(mcancel);
TF_child(self.ActiveMDIChild).DoCancel;
end;
end;
procedure TF_main.FormDestroy(Sender: TObject);
begin
bitmap.free;
end;
procedure TF_main.FormCreate(Sender: TObject);
var TodayDateTime:TDatetime;
begin
dm.q_seek.CommandText:= 'select getdate() todaydatetime' ;
dm.q_seek.Active :=true;
TodayDatetime:=dm.q_seek.fieldbyName('todaydatetime').asDateTime;
vTodayDate:=FormatDatetime('YYYY-mm-dd',TodayDateTime);
dm.q_seek.Active :=false;
vdate:=vTodayDate;
firstfrm :=true;
//bitmap:=tbitmap.create;
//bitmap.loadfromfile(extractfilepath(application.exeName)+'huajian.bmp');
FVision := '1.0';
end;
procedure TF_main.FormPaint(Sender: TObject);
var x,y:integer;
begin
x:=0;
y:=0;
canvas.draw(x,y,bitmap);
{ y:=0;
while y<=self.ClientHeight do
begin
x:=0;
while x<=clientwidth do
begin
canvas.draw(x,y,bitmap);
x:=x+bitmap.width;
end;
y:=y+bitmap.height;
end;
}
end;
procedure TF_main.N35Click(Sender: TObject);
begin
if assigned(F_user) then F_user.show
else F_user:=tF_user.create(application);
end;
procedure TF_main.N1Click(Sender: TObject);
begin
if assigned(F_program) then F_program.show
else F_program:=tF_program.create(application);
end;
procedure TF_main.N2Click(Sender: TObject);
begin
if assigned(F_useset) then F_useset.show
else F_useset:=tF_useset.create(application);
end;
procedure TF_main.FormShow(Sender: TObject);
VAR SQLSTR,vfoot:STRING;
X,Y,Z:integer; //for menu's id...
XYZ:String[3];//for menu's id...
TodayDateTime:TDatetime;
ADOQpub : TAdodataSet;
begin
vfoot:='欢迎来自IP为';
vfoot:=vfoot+self.IdIPWatch1.LocalIP+'['+self.IdIPWatch1.LocalName+']';
vfoot:=vfoot+'的用户'+vuser_no;
self.StatusBar1.Panels[1].Text:= vfoot;
sqlstr := 'select * FROM userdb where sys_id=''4'' and user_no='''+ self.vuser_no +'''' ;
ADOQpub := TAdodataSet.Create(nil);
ADOQpub.Connection := DM.ADOConnection1 ;
ADOQpub.CommandText := Sqlstr;
ADOQpub.Prepared := True;
ADOQpub.Open;
vadministrator :=trim(adoqpub.fieldbyname('administrator').AsString );
ADOQpub.Free ;
if vadministrator <>'Y' then
begin
SQLstr:='select B.program_id,A.mod_rights from setprogram A INNER JOIN program B '+
' ON A.program_id=B.program_id and A.program_NO=B.program_NO WHERE A.sys_id=''4'' AND b.sys_id=''4'' AND A.user_no='''+SELF.vuser_no +'''';
ADOQpub := TAdodataSet.Create(nil);
ADOQpub.Connection := DM.ADOConnection1 ;
ADOQpub.CommandText := Sqlstr;
ADOQpub.Prepared := True;
ADOQpub.Open;
ADOQpub.First ;
WITH ADOQpub DO
begin
while not ADOQpub.Eof DO
begin
XYZ:=FieldByName('program_id').asString;
case Length(XYZ) of
1:begin
X:=FieldByName('program_id').AsInteger;
if FieldByName('mod_rights').AsString='0' THEN
f_Main.MainMenu1.Items[X].Enabled:=False;
if FieldByName('mod_rights').AsString='2' THEN
f_Main.MainMenu1.Items[X].Visible:=False;
end;
2:begin
X:=StrToInt(Copy(XYZ,1,1));
Y:=StrToInt(Copy(XYZ,2,1));
if FieldByName('mod_rights').AsString='0' THEN
f_Main.MainMenu1.Items[X][Y].Enabled:=False;
if FieldByName('mod_rights').AsString='2' THEN
f_Main.MainMenu1.Items[X][Y].Visible:=False;
end;
3:begin
X:=StrToInt(Copy(XYZ,1,1));
Y:=StrToInt(Copy(XYZ,2,1));
Z:=StrToInt(Copy(XYZ,3,1));
if FieldByName('mod_rights').AsString='0' THEN
f_Main.MainMenu1.Items[X][Y][Z].Enabled:=False;
if FieldByName('mod_rights').AsString='2' THEN
f_Main.MainMenu1.Items[X][Y][Z].Visible:=False;
end;
end; //case...do..end;
Next;
end ;
close ;
end;
ADOQpub.Free ;
end ;
end;
procedure TF_main.N18Click(Sender: TObject);
var
frmAbout : TfrmAbout;
begin
frmAbout := TfrmAbout.Create(nil);
try
frmAbout.ShowModal;
finally
frmAbout.Free;
end;
end;
procedure TF_main.B_calClick(Sender: TObject);
begin
if FindWindowEx(Self.Handle, 0, nil, '计算器') <> 0 then
SendMessage(FindWindowEx(Self.Handle, 0, nil, '计算器'), WM_SYSCOMMAND, SC_RESTORE, 0)
else
begin
WinExec(Pchar('Calc.exe'), SW_SHOW);
Windows.SetParent(FindWindow(nil, '计算器'), Self.Handle);
end;
end;
procedure TF_main.N56Click(Sender: TObject);
begin
if assigned(frmFactory) then frmFactory.show
else frmFactory :=tfrmFactory.create(application);
end;
procedure TF_main.N57Click(Sender: TObject);
begin
if assigned(frmSec) then frmSec.show
else frmSec :=tfrmSec.create(application);
end;
procedure TF_main.N25Click(Sender: TObject);
begin
if assigned(frmOpenAccount) then frmOpenAccount.show
else frmOpenAccount :=tfrmOpenAccount.create(application);
end;
procedure TF_main.N33Click(Sender: TObject);
begin
if assigned(frmDeposit) then frmDeposit.show
else frmDeposit :=tfrmDeposit.create(application);
end;
procedure TF_main.N5Click(Sender: TObject);
begin
if assigned(frmStd_Rate) then frmStd_Rate.show
else frmStd_Rate :=tfrmStd_Rate.create(application);
end;
procedure TF_main.N54Click(Sender: TObject);
var
frmInterRest : TfrmInterRest ;
begin
frmInterRest := TfrmInterRest.Create(nil);
try
frmInterRest.ShowModal;
finally
frmInterRest.Free;
end;
end;
procedure TF_main.N4Click(Sender: TObject);
var
frmInterRestRep : TfrmInterRestRep ;
begin
frmInterRestRep := TfrmInterRestRep.Create(nil);
try
frmInterRestRep.ShowModal;
finally
frmInterRestRep.Free;
end;
end;
procedure TF_main.N46Click(Sender: TObject);
begin
if assigned(frmDepositRep) then frmDepositRep.show
else frmDepositRep :=tfrmDepositRep.create(application);
end;
procedure TF_main.N10Click(Sender: TObject);
begin
if assigned(frmCancelAccount) then frmCancelAccount.show
else frmCancelAccount :=tfrmCancelAccount.create(application);
end;
procedure TF_main.N31Click(Sender: TObject);
begin
if assigned(frmTryBalanceRep) then frmTryBalanceRep.show
else frmTryBalanceRep :=tfrmTryBalanceRep.create(application);
end;
procedure TF_main.N11Click(Sender: TObject);
begin
if assigned(frmLock_Deposit) then frmLock_Deposit.show
else frmLock_Deposit :=tfrmLock_Deposit.create(application);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -