Files
lazarus-ccr/components/rx/trunk/demos/rxdbgrid/RxDbGridPrint/unit1.pas

181 lines
6.1 KiB
ObjectPascal
Raw Normal View History

unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, LR_Desgn, rxmemds, rxdbgrid, RxDBGridExportPdf,
RxDBGridPrintGrid, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls,
ComCtrls, Spin, db;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
CheckBox1: TCheckBox;
CheckBox10: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
CheckBox8: TCheckBox;
CheckBox9: TCheckBox;
DataSource1: TDataSource;
Edit1: TEdit;
frDesigner1: TfrDesigner;
ImageList1: TImageList;
Label1: TLabel;
Memo1: TMemo;
PageControl1: TPageControl;
Panel1: TPanel;
Panel2: TPanel;
RxDBGrid1: TRxDBGrid;
RxDBGridPrint1: TRxDBGridPrint;
RxMemoryData1: TRxMemoryData;
RxMemoryData1Country: TStringField;
RxMemoryData1FLAG: TLongintField;
RxMemoryData1ID: TAutoIncField;
RxMemoryData1NAME: TStringField;
RxMemoryData1PDATE: TDateField;
RxMemoryData1Sity: TStringField;
RxMemoryData1SUM: TCurrencyField;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
procedure Button1Click(Sender: TObject);
procedure CheckBox1Change(Sender: TObject);
procedure CheckBox2Change(Sender: TObject);
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
private
FontDirList: TStrings;
procedure ShowInfo(AText:string; AParams : array of const);
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
uses fpTTF, LazFileUtils, LR_Class;
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
ProcedureInitDesigner;
RxDBGridPrint1.ShowSetupForm:=true;
PageControl1.ActivePageIndex:=0;
RxMemoryData1.Open;
RxMemoryData1.AppendRecord([1, 'Строка с длинным текстом 1', now, 100, 'Россия', 'Москва', 0]);
RxMemoryData1.AppendRecord([2, 'Строка с длинным текстом 2', now - 1, 100, 'Россия', 'Ставрополь', 1]);
RxMemoryData1.AppendRecord([3, 'Строка с длинным текстом 3', now - 2, 110, 'Россия', 'Калининград', 2]);
RxMemoryData1.AppendRecord([4, 'Строка с длинным текстом 4', now - 3, 5000, 'Россия', 'Владивасток', 0]);
RxMemoryData1.AppendRecord([5, 'Строка с длинным текстом 5', now - 4, 123.31, 'USA', 'New-York', 0]);
RxMemoryData1.AppendRecord([6, 'Строка с длинным текстом 6', now, 100, 'Россия', 'Москва', 0]);
RxMemoryData1.AppendRecord([7, 'Строка с длинным текстом 7', now - 1, 100, 'Россия', 'Ставрополь', 2]);
RxMemoryData1.AppendRecord([8, 'Строка с длинным текстом 8', now - 2, 110, 'Россия', 'Калининград', 1]);
RxMemoryData1.AppendRecord([9, 'Строка с длинным текстом 9', now - 3, 5000, 'Россия', 'Владивасток', 0]);
RxMemoryData1.AppendRecord([10,'Строка с длинным текстом 10', now - 4, 123.31, 'USA', 'New-York', 3]);
RxMemoryData1.AppendRecord([11,'Строка с длинным текстом 11', now, 100, 'Россия', 'Москва', 2]);
RxMemoryData1.AppendRecord([12,'Строка с длинным текстом 12', now - 1, 100, 'Россия', 'Ставрополь', 1]);
RxMemoryData1.AppendRecord([13,'Строка с длинным текстом 13', now - 2, 110, 'Россия', 'Калининград', 0]);
RxMemoryData1.AppendRecord([14,'Строка с длинным текстом 14', now - 3, 5000, 'Россия', 'Владивасток', 3]);
RxMemoryData1.AppendRecord([15,'Строка с длинным текстом 15', now - 4, 123.31, 'USA', 'New-York', 2]);
RxMemoryData1.AppendRecord([16,'Строка с длинным текстом 16', now, 100, 'Россия', 'Москва', 1]);
RxMemoryData1.AppendRecord([17,'Строка с длинным текстом 17', now - 1, 100, 'Россия', 'Ставрополь', 0]);
RxMemoryData1.AppendRecord([18,'Строка с длинным текстом 18', now - 2, 110, 'Россия', 'Калининград', 3]);
RxMemoryData1.AppendRecord([19,'Строка с длинным текстом 19', now - 3, 5000, 'Россия', 'Владивасток', 2]);
RxMemoryData1.AppendRecord([20,'Строка с длинным текстом 20', now - 4, 123.31, 'USA', 'New-York', 1]);
RxMemoryData1.First;
CheckBox2Change(nil);
end;
procedure TForm1.ShowInfo(AText: string; AParams: array of const);
begin
Memo1.Lines.Add(Format(AText, AParams));
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CheckBox2Change(nil);
RxDBGridPrint1.ShowSetupForm:=false;
RxDBGridPrint1.Execute;
RxDBGridPrint1.ShowSetupForm:=true;
end;
procedure TForm1.CheckBox1Change(Sender: TObject);
begin
RxDBGridPrint1.Enabled:=CheckBox1.Checked;
end;
procedure TForm1.CheckBox2Change(Sender: TObject);
var
O: TRxDBGridPrintOptions;
begin
O:=RxDBGridPrint1.Options;
if CheckBox2.Checked then
O:=O + [rxpoShowTitle]
else
O:=O - [rxpoShowTitle];
if CheckBox3.Checked then
O:=O + [rxpoShowFooter]
else
O:=O - [rxpoShowFooter];
if CheckBox4.Checked then
O:=O + [rxpoShowGridColor]
else
O:=O - [rxpoShowGridColor];
if CheckBox5.Checked then
O:=O + [rxpoShowFooterColor]
else
O:=O - [rxpoShowFooterColor];
if CheckBox6.Checked then
O:=O + [rxpoShowReportTitle]
else
O:=O - [rxpoShowReportTitle];
if CheckBox7.Checked then
O:=O + [rxpoHideZeroValues]
else
O:=O - [rxpoHideZeroValues];
if CheckBox8.Checked then
O:=O + [rxpoColSpanning]
else
O:=O - [rxpoColSpanning];
if CheckBox9.Checked then
O:=O + [rxpoShowPreview]
else
O:=O - [rxpoShowPreview];
RxDBGridPrint1.Options:=O;
RxDBGridPrint1.ReportTitle:=Edit1.Text;
RxDBGridPrint1.ModifyPrepared:=CheckBox10.Checked;
end;
procedure TForm1.FormClose(Sender: TObject; var CloseAction: TCloseAction);
begin
FreeAndNil(FontDirList);
end;
end.