home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 December / Chip_2001-12_cd1.bin / zkuste / delphi / kolekce / d456 / VOLGAPAK.ZIP / Demo / MainBook.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2001-09-20  |  3.6 KB  |  132 lines

  1. unit MainBook;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  7.   Db, VolgaTbl, StdCtrls, Mask, VolDBEdit, Grids, VolDBGrid, ComCtrls,
  8.   VolPeriod, ExtCtrls, DBCtrls;
  9.  
  10. type
  11.   TForm1 = class(TForm)
  12.     PageControl1: TPageControl;
  13.     TabSheet1: TTabSheet;
  14.     TabSheet2: TTabSheet;
  15.     VolgaDBGrid1: TVolgaDBGrid;
  16.     VolgaDBEdit1: TVolgaDBEdit;
  17.     VolgaDBEdit2: TVolgaDBEdit;
  18.     VolgaDBEdit3: TVolgaDBEdit;
  19.     Book: TVolgaTable;
  20.     DataBook: TDataSource;
  21.     BookBookID: TStringField;
  22.     BookAuthor: TStringField;
  23.     BookBookName: TStringField;
  24.     BookCategory: TStringField;
  25.     Label1: TLabel;
  26.     Label2: TLabel;
  27.     Label3: TLabel;
  28.     Cat: TVolgaTable;
  29.     DataCat: TDataSource;
  30.     Period: TVolgaPeriod;
  31.     Label4: TLabel;
  32.     ReadB: TVolgaTable;
  33.     DataReadB: TDataSource;
  34.     VolgaDBGrid2: TVolgaDBGrid;
  35.     ReadBDataStart: TDateField;
  36.     ReadBDataEnd: TDateField;
  37.     ReadBBookID: TStringField;
  38.     CatIndex: TIntegerField;
  39.     CatLevel: TIntegerField;
  40.     CatCategory: TStringField;
  41.     CatCatName: TStringField;
  42.     DBNavigator1: TDBNavigator;
  43.     ReadBMyBook: TStringField;
  44.     ReadBBall: TIntegerField;
  45.     DBNavigator2: TDBNavigator;
  46.     procedure BookAfterPost(DataSet: TDataSet);
  47.     procedure PeriodChange(Sender: TObject);
  48.     procedure VolgaDBGrid1TitleClick(Sender: TObject;
  49.       Column: TVolgaColumn);
  50.     procedure VolgaDBGrid1DrawTitleAttr(Sender: TObject;
  51.       Column: TVolgaColumn; AFont: TFont; var AColor: TColor);
  52.     procedure VolgaDBGrid2DrawCellAttr(Sender: TObject;
  53.       Column: TVolgaColumn; AFont: TFont; var AColor: TColor;
  54.       State: TGridDrawState);
  55.     procedure FormShow(Sender: TObject);
  56.     procedure BookNewRecord(DataSet: TDataSet);
  57.     procedure ReadBNewRecord(DataSet: TDataSet);
  58.   private
  59.     { Private declarations }
  60.   public
  61.     { Public declarations }
  62.   end;
  63.  
  64. var
  65.   Form1: TForm1;
  66.  
  67. implementation
  68.  
  69. {$R *.DFM}
  70.  
  71. procedure TForm1.BookAfterPost(DataSet: TDataSet);
  72. begin
  73.   with TVolgaTable(DataSet) do
  74.     SaveToFile(TableName);
  75. end;
  76.  
  77. procedure TForm1.PeriodChange(Sender: TObject);
  78. begin
  79.   ReadB.SetRange([Period.StartDate],[Period.EndDate]);
  80. end;
  81.  
  82. procedure TForm1.VolgaDBGrid1TitleClick(Sender: TObject;
  83.   Column: TVolgaColumn);
  84. begin
  85.   with TVolgaTable(TVolgaDBGrid(Sender).DataSource.DataSet) do
  86.     IndexFieldNames := Column.FieldName;
  87. end;
  88.  
  89. procedure TForm1.VolgaDBGrid1DrawTitleAttr(Sender: TObject;
  90.   Column: TVolgaColumn; AFont: TFont; var AColor: TColor);
  91. begin
  92.   with TVolgaDBGrid(Sender),TVolgaTable(TVolgaDBGrid(Sender).DataSource.DataSet) do begin
  93.     if Column.FieldName=IndexFieldNames then
  94.       AFont.Color:=clBlue
  95.     else AFont.Color := clBlack;
  96.   end;
  97. end;
  98.  
  99. procedure TForm1.VolgaDBGrid2DrawCellAttr(Sender: TObject;
  100.   Column: TVolgaColumn; AFont: TFont; var AColor: TColor;
  101.   State: TGridDrawState);
  102. begin
  103.   if Column.FieldName='BookID' then
  104.   case ReadBBall.AsInteger of
  105.   1: begin AFont.Color := clRed; AFont.Style :=[]; end;
  106.   2: begin AFont.Color := clBlack; AFont.Style :=[]; end;
  107.   3: begin AFont.Color := clBlue; AFont.Style :=[]; end;
  108.   4: begin AFont.Color := clBlue; AFont.Style :=[fsBold]; end;
  109.   5: begin AFont.Color := clNavy; AFont.Style :=[fsBold]; AColor := clYellow; end;
  110.   end;
  111. end;
  112.  
  113. procedure TForm1.FormShow(Sender: TObject);
  114. begin
  115.   PageControl1.ActivePage := TabSheet1;
  116.   PeriodChange(Period);
  117. end;
  118.  
  119. procedure TForm1.BookNewRecord(DataSet: TDataSet);
  120. begin
  121.   VolgaDBEdit1.SetFocus;
  122. end;
  123.  
  124. procedure TForm1.ReadBNewRecord(DataSet: TDataSet);
  125. begin
  126.   VolgaDBGrid2.SelectedField := ReadBDataStart;
  127.   ReadBBall.Value := 4;
  128.   ReadBMyBook.Value := '1';
  129. end;
  130.  
  131. end.
  132.