, :
v (fmMain) : , , , ³ .
v ³ (fmDBForm) auto.
v ³ (fmDBTable) ,
v (fmDBMasterDetail) --.
v (fmAbout) .
7.3.
(fmMain) , ActionList1 MainMenu1 : , , , ³ .
fmAny . Panel1-3 BitBtn1-2 . Panel1: Align -> alTop; Panel2: Align -> alClient; Panel 3: Align -> alBottom, BitBtn: Kind -> bkOk, Anchors -> akRight, BitBtn: Kind -> bkCansel, Anchors -> akRight. .
fmAny : Project-> Add to Repository.
fmDBForm , , . : File -> New -> Other -> Forms -> fmAny, Inherited OK. fmDBForm. DataSource1, Navigator1, Label1-2, Button2.
procedure TfmQForm.BitBtn1Click(Sender: TObject);
begin
if Query1.State in [dsEdit, dsInsert] then
Query1.Post;
inherited;
end;
procedure TfmQForm.BitBtn2Click(Sender: TObject);
begin
if Query1.State in [dsEdit, dsInsert] then
Query1.Cancel;
inherited;
end;
procedure TfmQForm.FormCreate(Sender: TObject);
begin
inherited;
Query1.Open;
end;
procedure TfmQForm.FormActivate(Sender: TObject);
begin
inherited;
DataSource1DataChange(Self, Query1.Fields[0]);
end;
procedure TfmQForm.DataSource1DataChange(Sender: TObject; Field: TField);
begin
inherited;
case Query1.State of
dsEdit: Label1.Caption:= 'Ðåäàãóâàííÿ';
dsInsert: Label1.Caption:= 'Âñòàâêà';
dsBrowse: Label1.Caption:= 'Ïåðåãëÿä';
end;
case Query1.State of
dsEdit, dsBrowse:
Label2.Caption:= 'Çàïèñ '+IntToStr(Query1.RecNo)
+' ³ç '+IntToStr(Query1.RecordCount);
dsInsert:
Label2.Caption:= 'Íîâèé çàïèñ';
end;
ϳ fmDBForm .
|
|
fmDBTable fmDBForm, , . : File -> New -> Other -> Forms -> fmDBForm. Inherited OK. fmDBTable.
Excel
procedure TfmDBForm.Button2Click(Sender: TObject);
var
X: Variant;
i, j: integer;
begin
inherited;
// Ole ᒺ Excel.Application ---
X:= CreateOLEObject('Excel.Application');
try
// Ole ᒺ , ---
X.Visible:= true;
X.Workbooks.Add;
// ---
// ---
for i:= 0 to (DataSource1.DataSet).FieldCount - 1 do begin
X.WorkBooks[1].ActiveSheet.Cells[1, 1 + i].Value:=
(DataSource1.DataSet).Fields[i].DisplayLabel;
X.WorkBooks[1].ActiveSheet.Cells[1, 1 + i].Font.Bold:= true;
X.WorkBooks[1].ActiveSheet.Cells[1, 1 + i].Interior.ColorIndex:= 10;
end;
// ---
// ---
(DataSource1.DataSet).First;
for i:= 0 to (DataSource1.DataSet).RecordCount - 1 do begin
for j:= 0 to (DataSource1.DataSet).FieldCount - 1 do begin
X.WorkBooks[1].ActiveSheet.Cells[2 + i,1 + j].Value:=
(DataSource1.DataSet).Fields[j].AsString;
end;
(DataSource1.DataSet).Next;
end;
// ---
for j:= 0 to (DataSource1.DataSet).FieldCount - 1 do
X.WorkBooks[1].ActiveSheet.Columns[1+j].EntireColumn.AutoFit;
// ---
// ---
X.WorkBooks[1].ActiveSheet.Name:= (DataSource1.DataSet as TQuery).DatabaseName;
// ---
// X.WorkBooks[1].SaveAs(SaveDialog1.FileName);
finally
{X.Quit;}
Screen.Cursor:= crDefault;
end;
end;
fmDBMasterDetail fmDBForm, , - . , fmDBForm, : File -> New -> Other -> Forms -> fmDBForm. Inherited OK. fmDBMasterDetail.
, , . Database Desktop. ϳ File → New → Table . Create Table . Paradox 7. ϳ , , .
:
. 7.4.1
. 7.4.2
. 7.4.3
. 7.4.4
. ϳ . SQL Explorer . Object → New, STANDART. ϳ Ok , . , . STANDART1, auto. , DEFAULT DRIVER ( ) PARADOX. PATH ( , ) .
|
|
BDE . ᒺ Apply ( ). Yes. ᒺ auto, + , SQL Explorer , , , auto . ϳ Close . ᒺ . SQL Explorer Delphi.
Database Desktop. File → Open → Table . , , . .
Borland Delphi. File → New → Data Module. , auto. Table TDataSource.
TTable. DataBaseName auto. ϳ TableName . Active True.
TDataSource. DataSet .
Object Repository. Add to Repository ( ). Title () dmPost. Description () auto. Data Module Pages Ok. Data Modules dmKyrsova .
, , , .
Borland Delphi. . File → New → Other → DataModule → dmauto ( Use). Uses , .
TDBGrid TDBNavigator, Data Controls. DataSource , ³, . DataModule2.DataSource1, DataModule2.DataSource2, DataModule2.DataSource3, DataModule2.DataSource4. , , , .
VisibleButton. True False .
Table . Fields Editor. , , Add All Fields, . ᒺ Display Label ᒺ Field . Visible False , .
|
|
.
TfmDBTableD.Button1Click , :
procedure TfmDBTableD.Button1Click(Sender: TObject);
begin
inherited;
Table1.Filtered:= False;
Table1.Filter:= 'DNazva = ''' + Edit1.Text+ '''';
Table1.Filtered:= True;
end;
.
7.5.
, .
. 7.5.1
* " (+) ";
* " (-) ", ;
* " " ;
* " ", - " ";
* " ";
, . .
. 7.5.2
.
7.6.
Windows. :
Intel Pentium M 1,7 ; 512 ; 80 ; ³ Intel 915 GL;
̳ :
400 ; 64 ;
, : , , .
, , , , , , .
. . .
1. . . Delphi .:, ; 1999.
2. . . Delphi2 . 2- . -, 1997. - 464 .
3. . Delphi . - 2- . , 1997. - 368 .
4. . Delphi. , 1996. - 600 .
5. Delphi 6: ϳ, 2002.
|
|
6. . 32- Delphi. , 1997. - 480 .
7. Delphi 7.0 Help.
˳
unit uMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdActns, ActnList, ImgList;
type
TfmMain = class(TForm)
MainMenu1: TMainMenu;
Edit1: TMenuItem;
File1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
ActionList1: TActionList;
ImageList1: TImageList;
WindowClose1: TWindowClose;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowTileVertical1: TWindowTileVertical;
WindowMinimizeAll1: TWindowMinimizeAll;
WindowArrange1: TWindowArrange;
Cascade1: TMenuItem;
MinimizeAll1: TMenuItem;
ileHorizontally1: TMenuItem;
ileVertically1: TMenuItem;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N16Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmMain: TfmMain;
implementation
uses uDBTableV, uDBTableD, uDBTableP, uDBFormD, uDBFormP, uDBFormV,
uMasterDetailV, uMasterDetailDetali, uDBFormPostavky, uDBTablePostavky,
fmAbout;
{$R *.dfm}
procedure TfmMain.N1Click(Sender: TObject);
begin
fmDBFormV:= TfmDBFormV.Create(Application);
fmDBFormV.Show;
// fmDBFormV.Free; fmDBFormV:= nil;
end;
procedure TfmMain.N2Click(Sender: TObject);
begin
fmDBFormD:= TfmDBFormD.Create(Application);
fmDBFormD.Show;
// fmDBFormD.Free; fmDBFormD:= nil;
end;
procedure TfmMain.N3Click(Sender: TObject);
begin
fmDBFormP:= TfmDBFormP.Create(Application);
fmDBFormP.Show;
// fmDBFormP.Free; fmDBFormP:= nil;
end;
procedure TfmMain.N5Click(Sender: TObject);
begin
fmDBTableV:= TfmDBTableV.Create(Application);
fmDBTableV.Show;
// fmDBTableV.Free; fmDBTableV:= nil;
end;
procedure TfmMain.N6Click(Sender: TObject);
begin
fmDBTableD:= TfmDBTableD.Create(Application);
fmDBTableD.Show;
// fmDBTableD.Free; fmDBTableD:= nil;
end;
procedure TfmMain.N7Click(Sender: TObject);
begin
fmDBTableP:= TfmDBTableP.Create(Application);
fmDBTableP.Show;
// fmDBTableP.Free; fmDBTableP:= nil;
end;
procedure TfmMain.N13Click(Sender: TObject);
begin
fmDBMasterDetailV:= TfmDBMasterDetailV.Create(Application);
fmDBMasterDetailV.Show;
// fmDBMasterDetailV.Free; fmDBMasterDetailV:= nil;
end;
procedure TfmMain.N14Click(Sender: TObject);
begin
fmDBMasterDetailDetali:= TfmDBMasterDetailDetali.Create(Application);
fmDBMasterDetailDetali.Show;
// fmDBMasterDetailDetali.Free; fmDBMasterDetailDetali:= nil;
end;
procedure TfmMain.N9Click(Sender: TObject);
begin
fmDBFormPostavky:= TfmDBFormPostavky.Create(Application);
fmDBFormPostavky.Show;
// fmDBFormPostavky.Free; fmDBFormPostavky:= nil;
end;
procedure TfmMain.N11Click(Sender: TObject);
begin
fmDBTablePostavky:= TfmDBTablePostavky.Create(Application);
fmDBTablePostavky.Show;
// fmDBTablePostavky.Free; fmDBTablePostavky:= nil;
end;
procedure TfmMain.N16Click(Sender: TObject);
begin
About:= TAbout.Create(Application);
About.Show;
end;
end.
unit uDBTableD;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uDBTable, DB, DBTables, DBCtrls, StdCtrls, Buttons, Grids,
DBGrids, ExtCtrls, jpeg;
type
TfmDBTableD = class(TfmDBTable)
Table1DNo: TStringField;
Table1DNazva: TStringField;
Table1Kolir: TStringField;
Table1Vaga: TSmallintField;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmDBTableD: TfmDBTableD;
implementation
{$R *.dfm}
procedure TfmDBTableD.Button1Click(Sender: TObject);
begin
inherited;
|
|
Table1.Filtered:= False;
Table1.Filter:= 'DNazva = ''' + Edit1.Text+ '''';
Table1.Filtered:= True;
end;
procedure TfmDBTableD.Button2Click(Sender: TObject);
begin
inherited;
Table1.Filtered:= False;
Table1.Filter:= 'Kolir = ''' + Edit2.Text+ '''';
Table1.Filtered:= True;
end;
end.
unit uDBForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uAny, DB, DBTables, DBCtrls, StdCtrls, Buttons, ExtCtrls, jpeg;
type
TfmDBForm = class(TfmAny)
DBNavigator1: TDBNavigator;
Table1: TTable;
DataSource1: TDataSource;
Label1: TLabel;
Label2: TLabel;
Image1: TImage;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmDBForm: TfmDBForm;
implementation
{$R *.dfm}
procedure TfmDBForm.BitBtn1Click(Sender: TObject);
begin
if Table1.State in [dsEdit, dsInsert] then
Table1.Post;
inherited;
end;
procedure TfmDBForm.BitBtn2Click(Sender: TObject);
begin
if Table1.State in [dsEdit, dsInsert] then
Table1.Cancel;
inherited;
end;
procedure TfmDBForm.DataSource1DataChange(Sender: TObject; Field: TField);
begin
inherited;
case Table1.State of
dsEdit: Label1.Caption:= 'Ðåäàãóâàííÿ';
dsInsert: Label1.Caption:= 'Âñòàâêà';
dsBrowse: Label1.Caption:= 'Ïåðåãëÿä';
end;
case Table1.State of
dsEdit, dsBrowse:
Label2.Caption:= 'Çàïèñ '+IntToStr(Table1.RecNo)
+' ³ç '+IntToStr(Table1.RecordCount);
dsInsert:
Label2.Caption:= 'Íîâèé çàïèñ';
end;
end;
procedure TfmDBForm.FormActivate(Sender: TObject);
begin
inherited;
DataSource1DataChange(self, Table1.Fields[0]);
end;
procedure TfmDBForm.FormCreate(Sender: TObject);
begin
inherited;
Table1.Open;
end;
procedure TfmDBForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Table1.Close;
end;
end.
unit uMasterDetail;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uDBForm, DB, DBTables, DBCtrls, StdCtrls, Buttons, ExtCtrls,
Grids, DBGrids, jpeg;
type
TfmDBMasterDetail = class(TfmDBForm)
DBGrid1: TDBGrid;
DataSource2: TDataSource;
Table2: TTable;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmDBMasterDetail: TfmDBMasterDetail;
implementation
{$R *.dfm}
procedure TfmDBMasterDetail.FormCreate(Sender: TObject);
begin
inherited;
Table2.Open;
end;
procedure TfmDBMasterDetail.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Table2.Close;
end;
procedure TfmDBMasterDetail.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
inherited;
if odd(table2.RecNo) then begin
with DBGrid1.Canvas do
begin
Brush.Color:=clGreen;
Font.Color:=clWhite;
FillRect(Rect);
TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
end;
end;
end;
end.
unit uDBTablePostavky;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uDBTable, DB, DBTables, DBCtrls, StdCtrls, Buttons, Grids,
DBGrids, ExtCtrls, jpeg;
type
TfmDBTablePostavky = class(TfmDBTable)
Table2: TTable;
Table3: TTable;
Table4: TTable;
Table1VNo: TStringField;
Table1DNo: TStringField;
Table1PNo: TStringField;
Table1Kilkist: TSmallintField;
Table1V: TStringField;
Table1D: TStringField;
Table1P: TStringField;
Table1Data: TDateField;
Table1Cina: TFloatField;
Table1Suma: TFloatField;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmDBTablePostavky: TfmDBTablePostavky;
implementation
{$R *.dfm}
procedure TfmDBTablePostavky.Button1Click(Sender: TObject);
begin
inherited;
Table1.Filtered:= False;
Table1.Filter:= 'V = ''' + Edit1.Text+ '''';
Table1.Filtered:= True;
end;
procedure TfmDBTablePostavky.Button2Click(Sender: TObject);
begin
inherited;
Table1.Filtered:= False;
Table1.Filter:= 'D = ''' + Edit2.Text+ '''';
Table1.Filtered:= True;
end;
end.