📄 main.pas
字号:
unit MAIN;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, Menus,
StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, ComCtrls, StdActns,
ActnList, ToolWin, ImgList, CustomizeDlg, frxClass, frxDBSet, ComObj,
frxADOComponents, frxDCtrl, DB, ADODB, Wwintl, wwDialog, wwfltdlg;
type
TMainForm = class(TForm)
StatusBar: TStatusBar;
ActionList1: TActionList;
EditCut1: TEditCut;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
FileNew1: TAction;
FileSave1: TAction;
FileExit1: TAction;
FileOpen1: TAction;
FileSaveAs1: TAction;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowArrangeAll1: TWindowArrange;
WindowMinimizeAll1: TWindowMinimizeAll;
HelpAbout1: TAction;
FileClose1: TWindowClose;
WindowTileVertical1: TWindowTileVertical;
ImageList1: TImageList;
UserLogin: TAction;
UserLogout: TAction;
MainMenu: TMainMenu;
Y1: TMenuItem;
N2: TMenuItem;
Y3: TMenuItem;
MM1: TMenuItem;
Y2: TMenuItem;
MM3: TMenuItem;
MM2: TMenuItem;
MM4: TMenuItem;
MM5: TMenuItem;
miDJDA: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
N26: TMenuItem;
miAbout: TMenuItem;
N27: TMenuItem;
N28: TMenuItem;
N29: TMenuItem;
N30: TMenuItem;
N31: TMenuItem;
N32: TMenuItem;
N33: TMenuItem;
N34: TMenuItem;
N35: TMenuItem;
N36: TMenuItem;
N37: TMenuItem;
N38: TMenuItem;
N39: TMenuItem;
N40: TMenuItem;
N41: TMenuItem;
N42: TMenuItem;
N43: TMenuItem;
WinMgmt: TMenuItem;
N44: TMenuItem;
N45: TMenuItem;
N46: TMenuItem;
N47: TMenuItem;
N48: TMenuItem;
Y4: TMenuItem;
frxADOComponents1: TfrxADOComponents;
frxDialogControls1: TfrxDialogControls;
qrys: TADOQuery;
fr_zml_zhcgda: TfrxReport;
fr_zml_dzcsda: TfrxReport;
fr_flml_djda: TfrxReport;
fr_flml_zhcgda: TfrxReport;
fr_flml_qkcwt: TfrxReport;
fr_flml_dzcxtscldjb: TfrxReport;
fr_flml_qkdzcxpmdjb: TfrxReport;
fr_jpml_djgltj: TfrxReport;
fr_tj_dzkjdakcl: TfrxReport;
fr_jpml_dztj: TfrxReport;
fr_tj_kcfltjb: TfrxReport;
fr_tj_djdafktjsj: TfrxReport;
fr_tj_zhcgdafktjsj: TfrxReport;
fr_tj_dzcxfktjsj: TfrxReport;
fr_tj_cwtfktjsj: TfrxReport;
fr_djztbg: TfrxReport;
fr_chd: TfrxReport;
fr_tj_jyghgzl: TfrxReport;
wwIntl1: TwwIntl;
fr_zml_djda: TfrxReport;
procedure FileNew1Execute(Sender: TObject);
procedure HelpAbout1Execute(Sender: TObject);
procedure FileExit1Execute(Sender: TObject);
procedure miAboutClick(Sender: TObject);
procedure miDJDAClick(Sender: TObject);
procedure N27Click(Sender: TObject);
procedure N28Click(Sender: TObject);
procedure N29Click(Sender: TObject);
procedure N30Click(Sender: TObject);
procedure N31Click(Sender: TObject);
procedure N32Click(Sender: TObject);
procedure N33Click(Sender: TObject);
procedure N35Click(Sender: TObject);
procedure N36Click(Sender: TObject);
procedure N37Click(Sender: TObject);
procedure N38Click(Sender: TObject);
procedure N39Click(Sender: TObject);
procedure N40Click(Sender: TObject);
procedure N41Click(Sender: TObject);
procedure N42Click(Sender: TObject);
procedure N43Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure N34Click(Sender: TObject);
procedure Y1Click(Sender: TObject);
procedure Y2Click(Sender: TObject);
procedure Y4Click(Sender: TObject);
procedure Y3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure CreateMDIChild(const Name: string);
public
{ Public declarations }
LoginName:string;
LoginPwd:string;
CurName:string;
CurPwd:string;
ChkPwd:string;
NewPwd:string;
AdminMode:Boolean;
end;
var
MainForm: TMainForm;
// procedrue ShowForm;
implementation
{$R *.dfm}
uses CHILDWIN, about, TypeCodeForm, DataModule, GSMCForm, CLFFForm,
JHLBForm, DJDAForm, CWTDAForm, DZCSDAForm, ZHCGForm, DZZLSDForm,
JYDJForm, XJDJForm, GHDJForm, PurviewForm, LoginForm, NewPasswordForm,
PasswordForm;//, ZML_DJDA_RFM;
procedure TMainForm.CreateMDIChild(const Name: string);
var
Child: TMDIChild;
begin
{ create a new MDI child window }
Child := TMDIChild.Create(Application);
Child.Caption := Name;
if FileExists(Name) then Child.Memo1.Lines.LoadFromFile(Name);
end;
procedure TMainForm.FileNew1Execute(Sender: TObject);
begin
CreateMDIChild('NONAME' + IntToStr(MDIChildCount + 1));
end;
procedure TMainForm.HelpAbout1Execute(Sender: TObject);
begin
AboutBox.ShowModal;
end;
procedure TMainForm.FileExit1Execute(Sender: TObject);
begin
Close;
end;
procedure TMainForm.miAboutClick(Sender: TObject);
begin
AboutBox:=TAboutBox.Create(nil);
AboutBox.ShowModal;
AboutBox.Free;
end;
procedure TMainForm.miDJDAClick(Sender: TObject);
var
I:Integer;
S:Boolean;
begin
// MainForm.MDIChildren[1].Name;
S:=False;
for I:=0 to MainForm.MDIChildCount-1 do
begin
if MainForm.MDIChildren[I].Tag=TMenuItem(Sender).Tag then
begin
MainForm.MDIChildren[I].WindowState:=wsNormal;
MainForm.MDIChildren[I].Show;
S:=True;
end;
end;
if S then Exit;
case TMenuItem(Sender).Tag of
1: TFormDJDA.Create(nil); //档案数据维护-->单井
2: TFormCWTDA.Create(nil); //档案数据维护-->测位图
3: TFormZHCG.Create(nil); //档案数据维护-->综合成果
4: TFormDZCSDA.Create(nil); //档案数据维护-->地震测线
15: TFormGSMC.Create(nil); //字典管理-->公司名称
16: TFormJHLB.Create(nil); //字典管理-->井号类别
17: TFormCLFF.Create(nil); //字典管理-->测线处理方法
18: TFormTypeCode.Create(nil); //字典管理-->常用类别代码
27: TFormJYDJ.Create(nil); //借阅管理-->借阅登记
28: TFormXJDJ.Create(nil); //借阅管理-->续借登记
29: TFormGHDJ.Create(nil); //借阅管理-->归还登记
31: TFormDZZLSD.Create(nil); //借阅管理-->读者资料设定
else
Exit;
end; //end case
end;
procedure TMainForm.N27Click(Sender: TObject);
begin
fr_zml_djda.ShowReport(True);
end;
procedure TMainForm.N28Click(Sender: TObject);
begin
fr_zml_zhcgda.ShowReport(True);
end;
procedure TMainForm.N29Click(Sender: TObject);
begin
fr_zml_dzcsda.ShowReport(True);
end;
procedure TMainForm.N30Click(Sender: TObject);
begin
fr_flml_djda.ShowReport(True);
end;
procedure TMainForm.N31Click(Sender: TObject);
begin
fr_flml_zhcgda.ShowReport(True);
end;
procedure TMainForm.N32Click(Sender: TObject);
begin
fr_flml_qkdzcxpmdjb.ShowReport(true);
end;
procedure TMainForm.N33Click(Sender: TObject);
begin
fr_flml_dzcxtscldjb.ShowReport(True);
end;
procedure TMainForm.N35Click(Sender: TObject);
begin
fr_jpml_djgltj.ShowReport(True);
end;
procedure TMainForm.N36Click(Sender: TObject);
begin
fr_jpml_dztj.ShowReport(True);
end;
procedure TMainForm.N37Click(Sender: TObject);
begin
fr_tj_dzkjdakcl.ShowReport(True);
end;
procedure TMainForm.N38Click(Sender: TObject);
begin
fr_tj_kcfltjb.ShowReport(True);
end;
procedure TMainForm.N39Click(Sender: TObject);
begin
fr_tj_djdafktjsj.ShowReport(True);
end;
procedure TMainForm.N40Click(Sender: TObject);
begin
fr_tj_zhcgdafktjsj.ShowReport(True);
end;
procedure TMainForm.N41Click(Sender: TObject);
begin
fr_tj_dzcxfktjsj.ShowReport(True);
end;
procedure TMainForm.N42Click(Sender: TObject);
begin
fr_tj_cwtfktjsj.ShowReport(True);
end;
procedure TMainForm.N43Click(Sender: TObject);
begin
fr_tj_jyghgzl.ShowReport(True);
end;
procedure TMainForm.N21Click(Sender: TObject);
begin
fr_djztbg.ShowReport(True);
end;
procedure TMainForm.N25Click(Sender: TObject);
begin
fr_chd.ShowReport(True);
end;
procedure TMainForm.N34Click(Sender: TObject);
begin
fr_flml_qkcwt.ShowReport(True);
end;
procedure TMainForm.Y1Click(Sender: TObject);
var
I,n:Integer;
fs:TStringList;
begin
if FormLogin.ShowModal=mrCancel then
begin
Exit;
end;
AdminMode:=False;
qrys.Close;
qrys.SQL.Clear;
qrys.SQL.Add('select p_name, functions from PurviewPerson where p_name='+QuotedStr(LoginName)+' and password='+QuotedStr(LoginPwd));
qrys.Open;
if qrys.RecordCount=0 then
begin
qrys.Close;
qrys.SQL.Clear;
qrys.SQL.Add('select p_name, '''' as functions from AdminList where p_name='+QuotedStr(LoginName)+' and password='+QuotedStr(LoginPwd));
qrys.Open;
if qrys.RecordCount=0 then
begin
qrys.Close;
ShowMessage('账号不正确,登录被拒绝!');
Exit;
end;
AdminMode:=True;
end;
CurName:=LoginName;
CurPwd:=LoginPwd;
fs:=TStringList.Create;
fs.CommaText:=qrys.FieldValues['functions'];
qrys.Close;
fs.Sort;
MM1.Enabled:=True;
MM2.Enabled:=True;
MM3.Enabled:=True;
MM4.Enabled:=True;
MM5.Enabled:=True;
for I:=0 to MM1.Count-1 do
begin
if MM1.Items[I].Tag=-1 then
MM1.Items[I].Enabled:=True;
if MM1.Items[I].Tag>0 then
MM1.Items[I].Enabled:=fs.Find(IntToStr(MM1.Items[I].Tag),n) or AdminMode;
end;
for I:=0 to MM2.Count-1 do
begin
if MM2.Items[I].Tag=-1 then
MM2.Items[I].Enabled:=True;
if MM2.Items[I].Tag>0 then
MM2.Items[I].Enabled:=fs.Find(IntToStr(MM2.Items[I].Tag),n) or AdminMode;
end;
for I:=0 to MM3.Count-1 do
begin
if MM3.Items[I].Tag=-1 then
MM3.Items[I].Enabled:=True;
if MM3.Items[I].Tag>0 then
MM3.Items[I].Enabled:=fs.Find(IntToStr(MM3.Items[I].Tag),n) or AdminMode;
end;
for I:=0 to MM4.Count-1 do
begin
if MM4.Items[I].Tag=-1 then
MM4.Items[I].Enabled:=True;
if MM4.Items[I].Tag>0 then
MM4.Items[I].Enabled:=fs.Find(IntToStr(MM4.Items[I].Tag),n) or AdminMode;
end;
for I:=0 to MM5.Count-1 do
begin
if MM5.Items[I].Tag=-1 then
MM5.Items[I].Enabled:=True;
if MM5.Items[I].Tag>0 then
MM5.Items[I].Enabled:=fs.Find(IntToStr(MM5.Items[I].Tag),n) or AdminMode;
end;
Y1.Enabled:=False;
Y2.Enabled:=True;
Y3.Enabled:=True;
Y4.Enabled:=AdminMode;
end;
procedure TMainForm.Y2Click(Sender: TObject);//注销
var
I:Integer;
begin
for I:=0 to MainForm.MDIChildCount-1 do //关闭所有的窗口
MainForm.MDIChildren[I].Close;
MM1.Enabled:=False;//关闭主要的功能
MM2.Enabled:=False;
MM3.Enabled:=False;
MM4.Enabled:=False;
MM5.Enabled:=False;
Y1.Enabled:=True;//只能登录
Y2.Enabled:=False;
Y3.Enabled:=False;
Y4.Enabled:=False;
end;
procedure TMainForm.Y4Click(Sender: TObject);//权限设置
begin
TFormPurview.Create(nil);
end;
procedure TMainForm.Y3Click(Sender: TObject);//修改密码
begin
if FormPassword.ShowModal=mrCancel then
begin
Exit;
end;
if ChkPwd<>CurPwd then
begin
ShowMessage('密码不正确!');
qrys.Close;
Exit;
end;
if FormNewPassword.ShowModal=mrCancel then Exit;
CurPwd:=NewPwd;
qrys.Close;
qrys.SQL.Clear;
if AdminMode then
qrys.SQL.Add('update AdminList set password='+QuotedStr(CurPWD)+' where p_name='+QuotedStr(CurName))
else
qrys.SQL.Add('update PurviewPerson set password='+QuotedStr(CurPWD)+' where p_name='+QuotedStr(CurName));
try
qrys.ExecSQL;
except
MessageDlg('向数据库提交密码失败!',mtError,[mbOK],0);
end;
qrys.Close;
ShowMessage('密码修改成功');
end;
procedure TMainForm.FormCreate(Sender: TObject);
var
I:Integer;
begin
//自动登录
MM1.Enabled:=True;
MM2.Enabled:=True;
MM3.Enabled:=True;
MM4.Enabled:=True;
MM5.Enabled:=True;
for I:=0 to MM1.Count-1 do
begin
if MM1.Items[I].Tag=-1 then
MM1.Items[I].Enabled:=True;
if MM1.Items[I].Tag>0 then
MM1.Items[I].Enabled:=True
end;
for I:=0 to MM2.Count-1 do
begin
MM2.Items[I].Enabled:=True
end;
for I:=0 to MM3.Count-1 do
begin
MM3.Items[I].Enabled:=True;
end;
for I:=0 to MM4.Count-1 do
begin
MM4.Items[I].Enabled:=True;
end;
for I:=0 to MM5.Count-1 do
begin
MM5.Items[I].Enabled:=True;
end;
Y1.Enabled:=False;
Y2.Enabled:=True;
Y3.Enabled:=False;
Y4.Enabled:=True;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -