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

📄 mainunit.pas

📁 仓库出单管理系统,采用SQL数据库,功能并不强大,但在操作的方便性上花了一点功夫,对新手有一定的学习作用
💻 PAS
字号:
unit MainUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ToolWin, XPMenu, Menus, PngImageList, ImgList,
  RzDBLbl, RzLabel, StdCtrls, RzStatus, ExtCtrls, RzPanel, jpeg;

type
  TFrmMain = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N26: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N6: TMenuItem;
    N9: TMenuItem;
    N8: TMenuItem;
    N7: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    XPMenu1: TXPMenu;
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    ToolButton8: TToolButton;
    ToolButton2: TToolButton;
    ToolButton1: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    Exit5: TToolButton;
    Image1: TImage;
    RzStatusBar1: TRzStatusBar;
    RzStatusPane1: TRzStatusPane;
    RzClockStatus1: TRzClockStatus;
    RzKeyStatus1: TRzKeyStatus;
    RzKeyStatus2: TRzKeyStatus;
    RzStatusPane2: TRzStatusPane;
    N4: TMenuItem;
    N12: TMenuItem;
    ImageList2: TImageList;
    ImageList1: TImageList;
    PngImageList2: TPngImageList;
    PngImageList1: TPngImageList;
    PngImageList3: TPngImageList;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    procedure Exit5Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormShow(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N26Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N14Click(Sender: TObject);
    procedure N15Click(Sender: TObject);
    procedure N17Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    LoginUser:String;     //定义登录的用户名
  end;

var
  FrmMain: TFrmMain;


implementation

uses UnitAbout,ShellAPI,IniFiles,LoginUnit, PasswordUnit, PowerSet,
  Welcome, SystemSetUnit, UnitClientPrice, UnitOrderBill,
  DMUnit, UnitOrderBill_Edit, UnitDayReport;

{$R *.dfm}
procedure OpenForm(FormClass: TFormClass; var fm; AOwner:TComponent);
{根据传递过来的参数,打开相应的窗体}
var
  i: integer;
  Child:TForm;
begin
  for i := 0 to Screen.FormCount -1 do
      if Screen.Forms[i].ClassType=FormClass then
      begin
        {检查窗体是否已经打开,如果没有打开,打开它,
        如果已经打开,让它正常显示即可}
        Child:=Screen.Forms[i];
        if Child.WindowState=wsMinimized then
           ShowWindow(Child.handle,SW_SHOWNORMAL)
        else
           ShowWindow(Child.handle,SW_SHOWNA);
        if (not Child.Visible) then Child.Visible:=True;
        Child.BringToFront;
        Child.Setfocus;
        TForm(fm):=Child;
        exit;
      end;
  Child:=TForm(FormClass.NewInstance);
  TForm(fm):=Child;
  Child.Create(AOwner);
end;

procedure TFrmMain.Exit5Click(Sender: TObject);
begin
  //FrmMain.ActiveMDIChild.Close;
   if FrmMain.ActiveMDIChild <> nil then
      FrmMain.ActiveMDIChild.Close
   Else
      Close;
end;

procedure TFrmMain.N8Click(Sender: TObject);
begin
  WelcomeForm.Show;
end;

procedure TFrmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
   if Messagebox(handle,'您确定要退出当前系统吗?','询问',MB_YESNO+MB_ICONQUESTION)=IDYES then begin
      CanClose:=true;
   end
   else CanCLose:=false;
end;

procedure TFrmMain.FormShow(Sender: TObject);
var
  FrmLogin:TFrmLogin;
begin
  FrmLogin:=TFrmLogin.Create(Self);
  FrmLogin.ShowModal;
end;

procedure TFrmMain.N9Click(Sender: TObject);
begin
  ShellExecute(Handle, 'open', PChar('notepad'), PChar(ExtractFilePath(ParamStr(0))+'\readme.txt'), nil, SW_SHOW);
end;

procedure TFrmMain.ToolButton3Click(Sender: TObject);
begin
  FrmPassword.show;
end;

procedure TFrmMain.ToolButton1Click(Sender: TObject);
begin
  if Application.MessageBox('您真的要注销本系统?','确认:',MB_IconQuestion+MB_OkCancel)=IDOK THEN
  Begin
    ShellExecute(Handle, 'open', PChar(Application.ExeName), nil, nil, SW_SHOW);
    Application.Terminate;
  end;
end;

procedure TFrmMain.ToolButton5Click(Sender: TObject);
begin

if FrmMain.ActiveMDIChild <> nil then
Begin
  if FrmMain.ActiveMDIChild.Name='FrmClientPrice' then
  Begin
     DM.ADOQueryClientPrice.Requery();
  End;
  if FrmMain.ActiveMDIChild.Name='FrmDayReport' then
  Begin
    DM.ADOQueryDayReport.Requery();
  End;
  if FrmMain.ActiveMDIChild.Name='FrmOrderBill' then
  Begin
    DM.ADOQueryOrderBill.Requery();
    DM.ADOTableBillDetail.Requery();
  End;
End;

  DM.ADOTableUser.Requery();
  DM.ADOQueryUserName.Requery();
  DM.ADOTableSystemSet.Requery();
  DM.ADOTableClientName.Requery();
  DM.ADOTableProductName.Requery();
end;



procedure TFrmMain.N4Click(Sender: TObject);
begin
  PowerSetForm.Show;
end;

procedure TFrmMain.N26Click(Sender: TObject);
begin
 OpenForm(TFrmClientPrice,  FrmClientPrice , self);
end;

procedure TFrmMain.N3Click(Sender: TObject);
begin
  FrmSystemSet.ShowModal;
end;

procedure TFrmMain.N14Click(Sender: TObject);
begin
 OpenForm(TFrmOrderBill,  FrmOrderBill , self);  
end;

procedure TFrmMain.N15Click(Sender: TObject);
begin
  DM.ADOQueryOrderBill.Append;
  DM.ADOQueryOrderBill.FieldByName('Inputor').AsString:=FrmMain.LoginUser;
  DM.ADOQueryOrderBill.FieldByName('InputDate').AsDateTime:=Date;
  DM.ADOQueryOrderBill.Post;
  FrmOrderBill_Edit.ShowModal;
end;

procedure TFrmMain.N17Click(Sender: TObject);
begin
   OpenForm(TFrmDayReport,  FrmDayReport , self);
   DM.ADOQueryDayReport.SQL.Clear;
   DM.ADOQueryDayReport.SQL.Add('SELECT ProductName, SUM(TotalWeight) AS DayTotalWeight, SUM(TotalPrice) AS DayTotalPrice FROM View_BillDetail where InputDate='''+DateToStr(date())+''' GROUP BY ProductName ');
   DM.ADOQueryDayReport.Active:=True;
   FrmDayReport.wwDBDateTimePicker1.Date:=Date();
   FrmDayReport.wwDBDateTimePicker2.Date:=Date();
end;

end.

⌨️ 快捷键说明

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