Chapter 13 - Project MastDet |
Project Structure
| MastDet.dpr |
program Mastdet;
uses
Forms,
MastdetF in 'MastdetF.pas' ,
MdData in 'MdData.pas' ;
begin
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TDataModule1, DataModule1);
Application.Run;
end.
| MastdetF.pas |
unit MastdetF;
interface
uses
SysUtils, Windows, Messages, Classes, Graphics, Controls,
StdCtrls, Forms, DBCtrls, DB, DBGrids, DBTables, Grids, Mask, ExtCtrls;
type
TForm2 = class(TForm)
ScrollBox: TScrollBox;
Label1: TLabel;
EditCompany: TDBEdit;
Label2: TLabel;
EditAddr: TDBEdit;
Label3: TLabel;
EditAddr2: TDBEdit;
Label4: TLabel;
EditCity: TDBEdit;
Label5: TLabel;
EditState: TDBEdit;
Label6: TLabel;
EditZip: TDBEdit;
Label7: TLabel;
EditCountry: TDBEdit;
Label8: TLabel;
EditPhone: TDBEdit;
Label9: TLabel;
EditFAX: TDBEdit;
DBGrid1: TDBGrid;
DBNavigator: TDBNavigator;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
private
public
end;
var
Form2: TForm2;
implementation
uses MdData;
end.
| MdData.pas |
unit MdData;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables;
type
TDataModule1 = class(TDataModule)
TableCust: TTable;
TableOrd: TTable;
dsCust: TDataSource;
dsOrd: TDataSource;
procedure DataModule1Create(Sender: TObject);
private
public
end;
var
DataModule1: TDataModule1;
implementation
procedure TDataModule1.DataModule1Create(Sender: TObject);
begin
TableCust.Open;
TableOrd.Open;
end;
end.
| MastdetF.dfm |
object Form2: TForm2
Left = 202
Top = 122
Width = 581
Height = 335
ActiveControl = Panel1
Caption = 'Master Detail'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = True
Position = poScreenCenter
PixelsPerInch = 96
TextHeight = 13
object Panel1: TPanel
Left = 0
Top = 0
Width = 573
Height = 41
Align = alTop
TabOrder = 0
object DBNavigator: TDBNavigator
Left = 8
Top = 8
Width = 240
Height = 25
DataSource = DataModule1.DataSource1
Ctl3D = False
ParentCtl3D = False
TabOrder = 0
end
end
object Panel2: TPanel
Left = 0
Top = 41
Width = 573
Height = 112
Align = alTop
BevelInner = bvLowered
BorderWidth = 4
Caption = 'Panel2'
TabOrder = 1
object ScrollBox: TScrollBox
Left = 6
Top = 6
Width = 561
Height = 100
HorzScrollBar.Margin = 6
VertScrollBar.Margin = 6
Align = alClient
BorderStyle = bsNone
TabOrder = 0
object Label1: TLabel
Left = 6
Top = 6
Width = 44
Height = 13
Caption = 'Company'
FocusControl = EditCompany
end
object Label2: TLabel
Left = 162
Top = 6
Width = 28
Height = 13
Caption = 'Addr1'
FocusControl = EditAddr
end
object Label3: TLabel
Left = 318
Top = 6
Width = 28
Height = 13
Caption = 'Addr2'
FocusControl = EditAddr2
end
object Label4: TLabel
Left = 474
Top = 6
Width = 17
Height = 13
Caption = 'City'
FocusControl = EditCity
end
object Label5: TLabel
Left = 6
Top = 50
Width = 25
Height = 13
Caption = 'State'
FocusControl = EditState
end
object Label6: TLabel
Left = 112
Top = 50
Width = 15
Height = 13
Caption = 'Zip'
FocusControl = EditZip
end
object Label7: TLabel
Left = 168
Top = 50
Width = 36
Height = 13
Caption = 'Country'
FocusControl = EditCountry
end
object Label8: TLabel
Left = 318
Top = 50
Width = 31
Height = 13
Caption = 'Phone'
FocusControl = EditPhone
end
object Label9: TLabel
Left = 439
Top = 50
Width = 20
Height = 13
Caption = 'FAX'
FocusControl = EditFAX
end
object EditCompany: TDBEdit
Left = 6
Top = 21
Width = 150
Height = 21
Color = clWindow
DataField = 'Company'
DataSource = DataModule1.DataSource1
TabOrder = 0
end
object EditAddr: TDBEdit
Left = 162
Top = 21
Width = 150
Height = 21
Color = clWindow
DataField = 'Addr1'
DataSource = DataModule1.DataSource1
TabOrder = 1
end
object EditAddr2: TDBEdit
Left = 318
Top = 21
Width = 150
Height = 21
Color = clWindow
DataField = 'Addr2'
DataSource = DataModule1.DataSource1
TabOrder = 2
end
object EditCity: TDBEdit
Left = 474
Top = 21
Width = 75
Height = 21
Color = clWindow
DataField = 'City'
DataSource = DataModule1.DataSource1
TabOrder = 3
end
object EditState: TDBEdit
Left = 6
Top = 65
Width = 100
Height = 21
Color = clWindow
DataField = 'State'
DataSource = DataModule1.DataSource1
TabOrder = 4
end
object EditZip: TDBEdit
Left = 112
Top = 65
Width = 50
Height = 21
Color = clWindow
DataField = 'Zip'
DataSource = DataModule1.DataSource1
TabOrder = 5
end
object EditCountry: TDBEdit
Left = 168
Top = 65
Width = 145
Height = 21
Color = clWindow
DataField = 'Country'
DataSource = DataModule1.DataSource1
TabOrder = 6
end
object EditPhone: TDBEdit
Left = 318
Top = 65
Width = 115
Height = 21
Color = clWindow
DataField = 'Phone'
DataSource = DataModule1.DataSource1
TabOrder = 7
end
object EditFAX: TDBEdit
Left = 439
Top = 65
Width = 114
Height = 21
Color = clWindow
DataField = 'FAX'
DataSource = DataModule1.DataSource1
TabOrder = 8
end
end
end
object Panel3: TPanel
Left = 0
Top = 153
Width = 573
Height = 155
Align = alClient
BevelInner = bvLowered
BorderWidth = 4
Caption = 'Panel3'
TabOrder = 2
object DBGrid1: TDBGrid
Left = 6
Top = 6
Width = 561
Height = 143
Align = alClient
BorderStyle = bsNone
DataSource = DataModule1.DataSource2
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clBlack
TitleFont.Height = -11
TitleFont.Name = 'MS Sans Serif'
TitleFont.Style = []
end
end
end
| MdData.dfm |
object DataModule1: TDataModule1
OldCreateOrder = False
OnCreate = DataModule1Create
Left = 282
Top = 311
Height = 323
Width = 472
object TableCust: TTable
DatabaseName = 'DBDEMOS'
TableName = 'customer.db'
Left = 20
Top = 13
end
object TableOrd: TTable
DatabaseName = 'DBDEMOS'
IndexName = 'CustNo'
MasterFields = 'CustNo'
MasterSource = dsCust
TableName = 'orders.db'
Left = 82
Top = 13
end
object dsCust: TDataSource
DataSet = TableCust
Left = 32
Top = 64
end
object dsOrd: TDataSource
DataSet = TableOrd
Left = 93
Top = 69
end
end
|
|