⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.pas

📁 地址档案管理系统
💻 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 + -