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

📄 mainform.pas

📁 Delphi面向对象编程思想附书源码 好用哦!
💻 PAS
字号:
unit MainForm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Buttons, Menus, ToolWin, ComCtrls, Grids, DBGrids, ExtCtrls, StdCtrls,
  DBTables, Db, ActnList, ImgList, StdActns, DBActns;

type
  TfrmMain = class(TForm)
    mnuMain: TMainMenu;
    mnuFile: TMenuItem;
    mnuExit: TMenuItem;
    mnuDisplay: TMenuItem;
    pnlMain: TPanel;
    grdMain: TDBGrid;
    qryEntity: TQuery;
    dtsEntity: TDataSource;
    ActionList1: TActionList;
    ImageList1: TImageList;
    actCustomer: TAction;
    actFinancial: TAction;
    actOrder: TAction;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    N1: TMenuItem;
    N2: TMenuItem;
    ToolButton13: TToolButton;
    actExit: TAction;
    StatusBar1: TStatusBar;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure actCustomerExecute(Sender: TObject);
    procedure actFinancialExecute(Sender: TObject);
    procedure actOrderExecute(Sender: TObject);
    procedure actExitExecute(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation

uses Customer, Financial, Order;

{$R *.DFM}

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  qryEntity.open;
end;

procedure TfrmMain.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  qryEntity.close;
end;

procedure TfrmMain.actCustomerExecute(Sender: TObject);
var
  vfrmCustomer: tfrmCustomer;
begin
{客户窗体需要用到客户和地址表。
创建窗体后,动态创建一个该窗体实例专用的datamodule。
当前客户编号通过参数传送给datamodule,以定位客户记录。}
  vfrmCustomer := tfrmCustomer.Create(self);
  vfrmCustomer.FdtmDynamicDatamod.SetUpDatamodule(vfrmCustomer,
                vfrmCustomer.FdtmDynamicDatamod,
                qryEntity['CustomerNumber']);
  vfrmCustomer.Show;
end;

procedure TfrmMain.actFinancialExecute(Sender: TObject);
var vfrmFinancial: tfrmFinancial;
begin
  {账户窗体需要用到客户和账户表。
  动态创建一个该窗体实例专用的datamodule。}
  vfrmFinancial:= tfrmFinancial.Create(self);
  vfrmFinancial.FdtmDynamicDatamod.SetUpDatamodule(vfrmFinancial,
                vfrmFinancial.FdtmDynamicDatamod,
                qryEntity['CustomerNumber']);
  vfrmFinancial.Show;
end;

procedure TfrmMain.actOrderExecute(Sender: TObject);
var
  vfrmOrder: tfrmOrder;
begin
{订单窗体还包含了查询}
  vfrmOrder := tfrmOrder.Create(self);
  vfrmOrder.FdtmDynamicDatamod.SetUpDatamodule(vfrmOrder,
                vfrmOrder.FdtmDynamicDatamod,
                qryEntity['CustomerNumber']);
  vfrmOrder.Show;
end;

procedure TfrmMain.actExitExecute(Sender: TObject);
begin
  Close;
end;

end.

⌨️ 快捷键说明

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