Marco Web Center |
Home: Code Repository: Mastering Delphi 5Project MDIVIEW
Project Structure
GRIDVIEW.PAS DATAM.PAS FORMVIEW.PAS MAIN.PAS GRIDVIEW.DFM DATAM.DFM FORMVIEW.DFM MAIN.DFM MDIVIEW.DPRprogram MdiView; uses Forms, GridView in 'GridView.pas' {GridForm}, DataM in 'DataM.pas' {CustomerDM}, FormView in 'FormView.pas' {RecordForm}, Main in 'Main.pas' {FrameForm}; {$R *.RES} begin Application.CreateForm(TFrameForm, FrameForm); Application.Run; end. GRIDVIEW.PASunit GridView; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, Buttons, DBCtrls, DataM, ExtCtrls; type TGridForm = class(TForm) DBGrid1: TDBGrid; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); private DM: TCustomerDM; public { Public declarations } end; implementation {$R *.DFM} procedure TGridForm.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TGridForm.FormCreate(Sender: TObject); begin DM := TCustomerDM.Create (Self); DBGrid1.DataSource := DM.DataSource1; end; end. DATAM.PASunit DataM; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, DBTables, DB; type TCustomerDM = class(TDataModule) Table1: TTable; DataSource1: TDataSource; Table1CustNo: TFloatField; Table1Company: TStringField; Table1Addr1: TStringField; Table1Addr2: TStringField; Table1City: TStringField; Table1State: TStringField; Table1Zip: TStringField; Table1Country: TStringField; Table1Phone: TStringField; Table1FAX: TStringField; Table1TaxRate: TFloatField; Table1Contact: TStringField; Table1LastInvoiceDate: TDateTimeField; procedure DataSource1DataChange(Sender: TObject; Field: TField); end; implementation {$R *.DFM} procedure TCustomerDM.DataSource1DataChange(Sender: TObject; Field: TField); begin (Owner as TForm).Caption := (Owner as TForm).Hint + ' - ' + Table1Company.AsString; end; end. FORMVIEW.PASunit FormView; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, DBCtrls, StdCtrls, Mask, DataM; type TRecordForm = class(TForm) DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; DBEdit6: TDBEdit; DBEdit7: TDBEdit; DBEdit8: TDBEdit; DBEdit9: TDBEdit; DBEdit10: TDBEdit; DBEdit11: TDBEdit; DBEdit12: TDBEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; DBNavigator1: TDBNavigator; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); private DM: TCustomerDM; public { Public declarations } end; implementation {$R *.DFM} procedure TRecordForm.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TRecordForm.FormCreate(Sender: TObject); var I: Integer; begin DM := TCustomerDM.Create (Self); // connect the navigator DBNavigator1.DataSource := DM.DataSource1; // connect all DBEdit controls for I := 0 to ControlCount - 1 do if Controls [i] is TDBEdit then TDBEdit (Controls [I]).DataSource := DM.DataSource1; end; end. MAIN.PASunit Main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus; type TFrameForm = class(TForm) MainMenu1: TMainMenu; File1: TMenuItem; NewRecordView1: TMenuItem; NewGridView1: TMenuItem; Close1: TMenuItem; N1: TMenuItem; Windows1: TMenuItem; Tile1: TMenuItem; Cascade1: TMenuItem; Help1: TMenuItem; About1: TMenuItem; procedure NewRecordView1Click(Sender: TObject); procedure NewGridView1Click(Sender: TObject); procedure Tile1Click(Sender: TObject); procedure Cascade1Click(Sender: TObject); procedure About1Click(Sender: TObject); procedure Close1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var FrameForm: TFrameForm; implementation uses FormView, GridView; {$R *.DFM} procedure TFrameForm.NewRecordView1Click(Sender: TObject); begin with TRecordForm.Create (Application) do Show; end; procedure TFrameForm.NewGridView1Click(Sender: TObject); begin with TGridForm.Create (Application) do Show; end; procedure TFrameForm.Tile1Click(Sender: TObject); begin Tile; end; procedure TFrameForm.Cascade1Click(Sender: TObject); begin Cascade; end; procedure TFrameForm.About1Click(Sender: TObject); begin ShowMessage ('MDI datamodule based demo'#13 + 'from the book "Mastering Delphi 4"'); end; procedure TFrameForm.Close1Click(Sender: TObject); begin Close; end; end. GRIDVIEW.DFMobject GridForm: TGridForm Left = 286 Top = 234 Width = 479 Height = 300 Hint = 'Grid View' Caption = 'Grid View' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] FormStyle = fsMDIChild OldCreateOrder = True Position = poDefault Visible = True OnClose = FormClose OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object DBGrid1: TDBGrid Left = 0 Top = 0 Width = 471 Height = 273 Align = alClient DataSource = CustomerDM.DataSource1 TabOrder = 0 TitleFont.Charset = DEFAULT_CHARSET TitleFont.Color = clWindowText TitleFont.Height = -11 TitleFont.Name = 'MS Sans Serif' TitleFont.Style = [] end end DATAM.DFMobject CustomerDM: TCustomerDM OldCreateOrder = True Left = 268 Top = 373 Height = 159 Width = 196 object Table1: TTable Active = True DatabaseName = 'DBDEMOS' IndexName = 'ByCompany' TableName = 'CUSTOMER.DB' Left = 24 Top = 16 object Table1CustNo: TFloatField Alignment = taLeftJustify DisplayWidth = 7 FieldName = 'CustNo' DisplayFormat = 'CN 0000' MaxValue = 9999 MinValue = 1000 end object Table1Company: TStringField DisplayWidth = 25 FieldName = 'Company' Size = 30 end object Table1Addr1: TStringField DisplayWidth = 21 FieldName = 'Addr1' Size = 30 end object Table1Addr2: TStringField DisplayWidth = 28 FieldName = 'Addr2' Size = 30 end object Table1City: TStringField DisplayWidth = 15 FieldName = 'City' Size = 15 end object Table1State: TStringField DisplayWidth = 20 FieldName = 'State' end object Table1Country: TStringField DisplayWidth = 20 FieldName = 'Country' end object Table1Zip: TStringField DisplayWidth = 10 FieldName = 'Zip' Size = 10 AttributeSet = 'ZipCode' end object Table1Phone: TStringField DisplayWidth = 15 FieldName = 'Phone' EditMask = '!999-000-0000;1;_' Size = 15 end object Table1FAX: TStringField DisplayWidth = 15 FieldName = 'FAX' EditMask = '!999-000-0000;1;_' Size = 15 AttributeSet = 'USPhone' end object Table1TaxRate: TFloatField DisplayWidth = 10 FieldName = 'TaxRate' DisplayFormat = '0.00%' AttributeSet = 'TaxRate' end object Table1Contact: TStringField DisplayWidth = 20 FieldName = 'Contact' end object Table1LastInvoiceDate: TDateTimeField DisplayWidth = 13 FieldName = 'LastInvoiceDate' end end object DataSource1: TDataSource DataSet = Table1 OnDataChange = DataSource1DataChange Left = 88 Top = 16 end end FORMVIEW.DFMobject RecordForm: TRecordForm Left = 506 Top = 209 Hint = 'Form View' BorderStyle = bsSingle Caption = 'Form View' ClientHeight = 333 ClientWidth = 281 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] FormStyle = fsMDIChild OldCreateOrder = True Position = poDefault Visible = True OnClose = FormClose OnCreate = FormCreate PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 16 Top = 44 Width = 64 Height = 13 Caption = 'Customer No.' end object Label2: TLabel Left = 16 Top = 68 Width = 44 Height = 13 Caption = 'Company' end object Label3: TLabel Left = 16 Top = 92 Width = 53 Height = 13 Caption = 'Address (1)' end object Label4: TLabel Left = 16 Top = 116 Width = 53 Height = 13 Caption = 'Address (2)' end object Label5: TLabel Left = 16 Top = 140 Width = 17 Height = 13 Caption = 'City' end object Label6: TLabel Left = 16 Top = 164 Width = 25 Height = 13 Caption = 'State' end object Label7: TLabel Left = 16 Top = 188 Width = 17 Height = 13 Caption = 'ZIP' end object Label8: TLabel Left = 16 Top = 212 Width = 36 Height = 13 Caption = 'Country' end object Label9: TLabel Left = 16 Top = 236 Width = 31 Height = 13 Caption = 'Phone' end object Label10: TLabel Left = 16 Top = 260 Width = 20 Height = 13 Caption = 'FAX' end object Label11: TLabel Left = 16 Top = 284 Width = 44 Height = 13 Caption = 'Tax Rate' end object Label12: TLabel Left = 16 Top = 308 Width = 37 Height = 13 Caption = 'Contact' end object DBEdit1: TDBEdit Left = 88 Top = 40 Width = 89 Height = 21 DataField = 'CustNo' DataSource = CustomerDM.DataSource1 TabOrder = 0 end object DBEdit2: TDBEdit Left = 88 Top = 64 Width = 177 Height = 21 DataField = 'Company' DataSource = CustomerDM.DataSource1 TabOrder = 1 end object DBEdit3: TDBEdit Left = 88 Top = 88 Width = 177 Height = 21 DataField = 'Addr1' DataSource = CustomerDM.DataSource1 TabOrder = 2 end object DBEdit4: TDBEdit Left = 88 Top = 112 Width = 177 Height = 21 DataField = 'Addr2' DataSource = CustomerDM.DataSource1 TabOrder = 3 end object DBEdit5: TDBEdit Left = 88 Top = 136 Width = 97 Height = 21 DataField = 'City' DataSource = CustomerDM.DataSource1 TabOrder = 4 end object DBEdit6: TDBEdit Left = 88 Top = 160 Width = 97 Height = 21 DataField = 'State' DataSource = CustomerDM.DataSource1 TabOrder = 5 end object DBEdit7: TDBEdit Left = 88 Top = 184 Width = 97 Height = 21 DataField = 'Zip' DataSource = CustomerDM.DataSource1 TabOrder = 6 end object DBEdit8: TDBEdit Left = 88 Top = 208 Width = 97 Height = 21 DataField = 'Country' DataSource = CustomerDM.DataSource1 TabOrder = 7 end object DBEdit9: TDBEdit Left = 88 Top = 232 Width = 97 Height = 21 DataField = 'Phone' DataSource = CustomerDM.DataSource1 MaxLength = 12 TabOrder = 8 end object DBEdit10: TDBEdit Left = 88 Top = 256 Width = 97 Height = 21 DataField = 'FAX' DataSource = CustomerDM.DataSource1 MaxLength = 12 TabOrder = 9 end object DBEdit11: TDBEdit Left = 88 Top = 280 Width = 97 Height = 21 DataField = 'TaxRate' DataSource = CustomerDM.DataSource1 TabOrder = 10 end object DBEdit12: TDBEdit Left = 88 Top = 304 Width = 177 Height = 21 DataField = 'Contact' DataSource = CustomerDM.DataSource1 TabOrder = 11 end object DBNavigator1: TDBNavigator Left = 16 Top = 8 Width = 250 Height = 25 DataSource = CustomerDM.DataSource1 TabOrder = 12 end end MAIN.DFMobject FrameForm: TFrameForm Left = 227 Top = 187 Width = 696 Height = 480 Caption = 'Mdi View' Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] FormStyle = fsMDIForm Menu = MainMenu1 OldCreateOrder = False WindowMenu = Windows1 PixelsPerInch = 96 TextHeight = 13 object MainMenu1: TMainMenu Left = 40 Top = 24 object File1: TMenuItem Caption = '&File' object NewRecordView1: TMenuItem Caption = 'New Record View' OnClick = NewRecordView1Click end object NewGridView1: TMenuItem Caption = 'New Grid View' OnClick = NewGridView1Click end object N1: TMenuItem Caption = '-' end object Close1: TMenuItem Caption = 'Close' OnClick = Close1Click end end object Windows1: TMenuItem Caption = 'Windows' object Tile1: TMenuItem Caption = '&Tile' OnClick = Tile1Click end object Cascade1: TMenuItem Caption = '&Cascade' OnClick = Cascade1Click end end object Help1: TMenuItem Caption = '&Help' object About1: TMenuItem Caption = '&About...' OnClick = About1Click end end end end
|
||
© Copyright Marco Cantù, 1995-2020, All rights reserved |