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

📄 mainunit.pas

📁 人事管理系统 人事管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit MainUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ToolWin, ImgList, Menus,EditListunit,
  ModeUnit, dataunit, browunit, barunit, viewunit, SearchUnit, MovUnit,Starunit,
  EditDWunit, printers, Aboutunit, FR_Class, FR_DSet, FR_DBSet;

type
  TMainForm = class(TForm)
    MainMenu1: TMainMenu;
    dd1: TMenuItem;
    dd2: TMenuItem;
    dd3: TMenuItem;
    dd4: TMenuItem;
    ToolBar1: TToolBar;
    ViewBtn: TToolButton;
    BrowBtn: TToolButton;
    AddBtn: TToolButton;
    SubBtn: TToolButton;
    Movbtn: TToolButton;
    HImg: TImageList;
    DImg: TImageList;
    NImg: TImageList;
    EditBtn: TToolButton;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    SearchBtn: TToolButton;
    T1: TMenuItem;
    S1: TMenuItem;
    N1: TMenuItem;
    X1: TMenuItem;
    P1: TMenuItem;
    A1: TMenuItem;
    D1: TMenuItem;
    E1: TMenuItem;
    M1: TMenuItem;
    P2: TMenuItem;
    P3: TMenuItem;
    O1: TMenuItem;
    D2: TMenuItem;
    L1: TMenuItem;
    H1: TMenuItem;
    H2: TMenuItem;
    N2: TMenuItem;
    A2: TMenuItem;
    S2: TMenuItem;
    PrinterSetupDialog1: TPrinterSetupDialog;
    S3: TMenuItem;
    C1: TMenuItem;
    E2: TMenuItem;
    Z1: TMenuItem;
    N4: TMenuItem;
    Y1: TMenuItem;
    T2: TMenuItem;
    S4: TMenuItem;
    N5: TMenuItem;
    A3: TMenuItem;
    frDBDataSet1: TfrDBDataSet;
    frReport1: TfrReport;
    Z2: TMenuItem;
    N3: TMenuItem;
    Y2: TMenuItem;
    X2: TMenuItem;
    J1: TMenuItem;
    ToolButton3: TToolButton;
    PrintBtn: TToolButton;
    HelpBtn: TToolButton;
    MenuImg: TImageList;
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ViewBtnClick(Sender: TObject);
    procedure BrowBtnClick(Sender: TObject);
    procedure EditBtnClick(Sender: TObject);
    procedure AddBtnClick(Sender: TObject);
    procedure SubBtnClick(Sender: TObject);
    procedure SearchBtnClick(Sender: TObject);
    procedure MovbtnClick(Sender: TObject);
    procedure dd2Click(Sender: TObject);
    procedure dd3Click(Sender: TObject);
    procedure dd4Click(Sender: TObject);
    procedure T1Click(Sender: TObject);
    procedure S1Click(Sender: TObject);
    procedure X1Click(Sender: TObject);
    procedure L1Click(Sender: TObject);
    procedure D2Click(Sender: TObject);
    procedure H2Click(Sender: TObject);
    procedure S2Click(Sender: TObject);
    procedure A2Click(Sender: TObject);
    procedure Z1Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure Y1Click(Sender: TObject);
    procedure T2Click(Sender: TObject);
    procedure S4Click(Sender: TObject);
    procedure A3Click(Sender: TObject);
    procedure Z2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure Y2Click(Sender: TObject);
    procedure X2Click(Sender: TObject);
    procedure J1Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure HelpBtnClick(Sender: TObject);
  private
    { Private declarations }
    procedure WMGETMINMAXINFO(var msg:TWMGetMinMaxInfo);
              Message WM_GETMINMAXINFO;
    procedure EmptyData(LB:string);
  public
    { Public declarations }
  end;

const
  MAXHEIGHT=93;
  BARFORMWIDTH=200;

var
  MainForm: TMainForm;
  filepath : string;
implementation



{$R *.dfm}

procedure tmainform.EmptyData(LB:string);
var
  WhereStr : string;
begin
  if LB <> '' then
    wherestr := 'where zt=:zt'
  else
    wherestr := '';
    
  with dataform.CMD do
    begin
      commandtext := 'delete form main '+ wherestr;
      if parameters.Count > 0  then
        parameters.ParamByName('zt').Value := LB;
        execute;
    end;    // with
end;



procedure Tmainform.WMGETMINMAXINFO(var msg:TWMGetMinMaxInfo);
var
  r : Trect;
begin
  systemparametersinfo(SPI_GETWORKAREA,0,@r,0);  {取得工作区坐标}
  with msg.MinMaxInfo^ do
  begin
    PtmaxSize.X := r.Right - r.Left;    {最大化时的宽度}
    PtMaxSize.Y := MAXHEIGHT;           {最大化时的高度}
    PtMaxposition.x := R.Left;          {最大化时左上角的横坐标}
    PtMaxPosition.Y := R.TOP;           {最大化时左上角的纵坐标}
  end;    // with
  msg.Result := 0;                      {返回消息}
  inherited;
end;

procedure TMainForm.FormShow(Sender: TObject);
var
  R:TRECT;
begin
  systemparametersinfo(SPI_GETWORKAREA,0,@R,0);  //获得工作区大小
//设置主窗口位置
  TOP := r.Top;
  left := r.Left;
  width := r.Right - r.Left;
  height := MAXHEIGHT;

//设置BARFORM状态
  with barform do
  begin
    left := r.Left;
    top := mainform.BoundsRect.Bottom;
    width := barformwidth;
    height := r.Bottom - MAXHEIGHT;
    show;
  end;    // with
  browform.Show;

  with viewform do
  begin
    left := browform.Left + 100;
    top := browform.Top + 100;
    SetPages(viewform.MainPage,false);
    show;
  end;    // with
end;

procedure TMainForm.FormCreate(Sender: TObject);
begin
  filepath := extractfilepath(paramstr(0));
end;

procedure TMainForm.ViewBtnClick(Sender: TObject);
begin
  viewform.SetPages(viewform.MainPage,false);
  if viewbtn.Down then
    begin
      viewform.Show;
      viewform.Tag := 1;
    end
  else
    viewform.Hide;
  case barform.Tag of    //
    0: viewform.ZZView;
    1: viewform.NTview;
    2: viewform.TYView;
    3: viewform.TXView;
    4: viewform.JSView;
  end;    // case
    
end;

procedure TMainForm.BrowBtnClick(Sender: TObject);
begin
  viewform.SetPages(viewform.MainPage,false);
  if browbtn.Down then
    browform.show
  else
    browform.hide;
  
end;

procedure TMainForm.EditBtnClick(Sender: TObject);
begin
if viewform.Tag = 1 then
  begin
    viewform.SetPages(viewform.MainPage,true);
    viewform.Tag := 2;
    viewform.Show;
  end
else
  begin
    messagebox(application.Handle,'记录不在浏览状态不能修改记录!','提示',MB_OK+MB_ICONQUESTION);
  end;
end;

procedure TMainForm.AddBtnClick(Sender: TObject);
begin
if viewform.Tag = 1 then
  begin
    viewform.Tag := 3;
    viewform.EmptyEdit;
    viewform.SetPages(viewform.MainPage,true);
    viewform.Show;
  end
else
  begin
    messagebox(application.Handle,'记录不在浏览状态不能添加记录!','提示',MB_OK+MB_ICONQUESTION);
  end;
end;

procedure TMainForm.SubBtnClick(Sender: TObject);
var
  mainid:integer;
begin
if viewform.Tag = 1 then
  begin
    case barform.Tag of    //
      0: begin   //zz active
           if messagebox(0,pchar('真的要删除在职职工'+dataform.ZZquy.Fields.fieldbyname('name').AsString+'吗?'),'提示',MB_OKCANCEL+MB_ICONQUESTION) = IDOK  then
             begin
               mainid:= dataform.ZZquy.Fields.fieldbyname('main_id').AsInteger;
               barform.DelNode(barform.ZZTree,mainid);
               viewform.DelRecord(dataform.ZZquy,mainid);
             end;
         end;
      1: begin   //nt active
           if messagebox(0,pchar('真的要删除内退职工'+dataform.NTquy.Fields.fieldbyname('name').AsString+'吗?'),'提示',MB_OKCANCEL+MB_ICONQUESTION) = IDOK  then
             begin
               mainid:= dataform.ntquy.Fields.fieldbyname('main_id').AsInteger;
               barform.DelNode(barform.ntTree,mainid);
               viewform.DelRecord(dataform.ntquy,mainid);
             end;
         end;
      2: begin   //ty active
           if messagebox(0,pchar('真的要删除退养职工'+dataform.tyquy.Fields.fieldbyname('name').AsString+'吗?'),'提示',MB_OKCANCEL+MB_ICONQUESTION) = IDOK  then
             begin
               mainid:= dataform.tyquy.Fields.fieldbyname('main_id').AsInteger;
               barform.DelNode(barform.tyTree,mainid);
               viewform.DelRecord(dataform.tyquy,mainid);
             end;
         end;
      3: begin   //tx active
           if messagebox(0,pchar('真的要删除退休职工'+dataform.txquy.Fields.fieldbyname('name').AsString+'吗?'),'提示',MB_OKCANCEL+MB_ICONQUESTION) = IDOK  then
             begin
               mainid:= dataform.txquy.Fields.fieldbyname('main_id').AsInteger;
               barform.DelNode(barform.txTree,mainid);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -