?? unit1.pas
字號(hào):
// Report Machine 1.0 demo reports.
unit Unit1;
interface
{$I RM.INC}
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, ComCtrls, ImgList, RM_class, RM_e_llPdf
{$IFDEF RM_ENTVersion},RM_CellReport, RM_DsgCellReport, RM_e_rtf, RM_e_OleXls{$ENDIF}
;
const
crHand = 12;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
RB1: TRadioButton;
RB2: TRadioButton;
Memo1: TMemo;
btnDesign: TButton;
btnPreview: TButton;
Label7: TLabel;
Label8: TLabel;
Tree1: TTreeView;
Label2: TLabel;
ImageList1: TImageList;
RadioGroup1: TRadioGroup;
procedure btnDesignClick(Sender: TObject);
procedure btnPreviewClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Tree1Change(Sender: TObject; Node: TTreeNode);
procedure Tree1DblClick(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure Tree1CustomDrawItem(Sender: TCustomTreeView; Node: TTreeNode;
State: TCustomDrawState; var DefaultDraw: Boolean);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
WPath: string;
{$IFDEF RM_ENTVersion}
lRtf: TRMRtfExport;
lOleXls: TRMOleXlsExport;
{$ENDIF}
{$IFDEF llPDFlib}
lPdf: TRMllPDFExport;
{$ENDIF}
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3;
{$R *.DFM}
{$R HAND.RES}
procedure TForm1.FormShow(Sender: TObject);
begin
WPath := ExtractFilePath(ParamStr(0)) + 'Reports\';
//Tree1.Items[0].Expand(True);
Tree1.Selected := Tree1.Items[0].Item[0].Item[0];
Tree1.TopItem := Tree1.Items[0];
Screen.Cursors[crHand] := LoadCursor(hInstance, 'FR_HAND');
RadioGroup1Click(nil);
end;
procedure TForm1.btnDesignClick(Sender: TObject);
var
Node: TTreeNode;
begin
Node := Tree1.Selected;
if (Node = nil) or (Node.StateIndex = -1) or (Node.StateIndex = 15) then Exit;
Form2.RMReport1.DesignReport;
end;
procedure TForm1.btnPreviewClick(Sender: TObject);
var
n: Integer;
Node: TTreeNode;
Report: TRMReport;
begin
Node := Tree1.Selected;
if (Node = nil) or (Node.StateIndex = -1) then Exit;
n := Node.StateIndex;
with Form2 do
begin
if n = 15 then { Composite report }
begin
Report := RMCompositeReport1;
RMReport1.LoadFromFile(WPath + '01.rmf');
RMReport2.LoadFromFile(WPath + '03.rmf');
RMCompositeReport1.DoublePass := True;
RMCompositeReport1.Reports.Clear;
RMCompositeReport1.Reports.Add(RMReport1);
RMCompositeReport1.Reports.Add(RMReport2);
end
else
begin
Report := RMReport1;
if n > 9 then
Report.LoadFromFile(WPath + IntToStr(n) + '.rls')
else
Report.LoadFromFile(WPath + '0' + IntToStr(n) + '.rls');
if n = 14 then { "Live" report }
begin
// Report.OnObjectClick := RMReport1ObjectClick;
// Report.OnMouseOverObject := RMReport1MouseOverObject;
end
else
begin
// Report.OnObjectClick := nil;
// Report.OnMouseOverObject := nil;
end;
end;
end;
if RB1.Checked then
Report.Preview := nil
else
Report.Preview := Form3.RMPreview1;
// Report.ThreadPrepareReport := False;
Report.ShowReport;
if RB2.Checked then
Form3.ShowModal;
end;
procedure TForm1.Tree1Change(Sender: TObject; Node: TTreeNode);
var
n: Integer;
begin
n := Node.StateIndex;
if n = -1 then
begin
Memo1.Text := '';
btnDesign.Enabled := False;
btnPreview.Enabled := False;
Exit;
end
else if n = 15 then
begin
Memo1.Text := 'Demostrates now to join several reports into one. To do this, fill ' +
'TRMCompositeReport.Reports property by references to the other ' +
'reports and call its ShowReport method. Reports can have different ' +
'page sizes and orientation.';
btnDesign.Enabled := False;
btnPreview.Enabled := True;
Exit;
end;
with Form2.RMReport1 do
begin
if n > 9 then
LoadFromFile(WPath + IntToStr(n) + '.rmf')
else
LoadFromFile(WPath + '0' + IntToStr(n) + '.rmf');
if Dictionary.Variables.IndexOf('Description') <> -1 then
Memo1.Text := Dictionary.Variables['Description']
else
Memo1.Text := '';
btnDesign.Enabled := True;
btnPreview.Enabled := True;
end;
end;
procedure TForm1.Tree1DblClick(Sender: TObject);
begin
btnDesign.Click;
end;
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: RMResourceManager.LoadResourceModule('rm_eng.dll');
1: RMResourceManager.LoadResourceModule('rm_ChiGB.dll');
2: RMResourceManager.LoadResourceModule('rm_chibig5.dll');
end;
end;
procedure TForm1.Tree1CustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Node.Count <> 0 then
Tree1.Canvas.Font.Style := [fsBold];
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
{$IFDEF RM_ENTVersion}
lRtf := TRMRtfExport.Create(Self);
lOleXls := TRMOleXlsExport.Create(Self);
{$ENDIF}
{$IFDEF llPDFlib}
lPdf := TRMllPDFExport.Create(Self);
{$ENDIF}
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -