亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rm_reg.pas

?? report machine 2.3 功能強大
?? PAS
字號:

{*****************************************}
{                                         }
{         Report Machine v2.0             }
{            Registration unit            }
{                                         }
{*****************************************}


unit RM_reg;

interface

{$I RM.inc}

procedure Register;

implementation

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  DB, Dialogs, Printers,
{$IFDEF Delphi6}
  DesignIntf, DesignEditors,
{$ELSE}
  DsgnIntf,
{$ENDIF}
  RM_Prntr, RM_Pgopt, RM_Class, RM_DSet, RM_Utils, RM_Const,
  RM_DBSet, RM_OLE, RM_Rich, RM_ChBox, RM_Shape, RM_BarC, RM_Desgn, RM_View,
  RM_RRect, RM_AngLbl, RM_Cross,
  RM_e_txt, RM_e_csv, RM_e_rtf, RM_e_htm, RM_e_bmp, RM_e_emf, RM_e_pdf
{$IFDEF RXGIF}, RM_e_gif{$ENDIF}{$IFDEF JPEG}, RM_e_jpeg{$ENDIF}
  , RM_DCtrl, RMD_RptExp, RM_FormReport
{$IFDEF EHLib}, RM_PEHGrid{$ENDIF}
{$IFDEF DecisionGrid}, RM_PdcsGrid{$ENDIF}
{$IFDEF TeeChart}, RM_Chart{$ENDIF}
{$IFDEF RX}, RM_RxRTF, RM_PRxCtls{$ENDIF}
{$IFDEF InfoPower}, RM_PwwGrid, RM_wwrtf{$ENDIF}
  , RMD_BDE
{$IFDEF DM_ADO}, RMD_ADO{$ENDIF}
{$IFDEF DM_IBX}, RMD_IBX{$ENDIF}
{$IFDEF DM_DBX}, RMD_DBX{$ENDIF}
{$IFDEF DM_Diamond}, RMD_Diamond{$ENDIF}
{$IFDEF DM_HALCYON}, RMD_Halcyon{$ENDIF}
{$IFDEF DM_DBISAM}, RMD_Dbisam{$ENDIF};

{-----------------------------------------------------------------------}
type
  TRMPageLayoutProperty = class(TClassProperty)
  public
    procedure Edit; override;
    function GetAttributes: TPropertyAttributes; override;
  end;

  TRMRepEditor = class(TComponentEditor)
    procedure ExecuteVerb(Index: Integer); override;
    function GetVerb(Index: Integer): string; override;
    function GetVerbCount: Integer; override;
    procedure DoDesign;
  end;

  TRMPrintTblEditor = class(TComponentEditor)
    procedure ExecuteVerb(Index: Integer); override;
    function GetVerb(Index: Integer): string; override;
    function GetVerbCount: Integer; override;
    procedure DoShow;
  end;

{ TRMFieldProperty }

  TRMFieldProperty = class(TStringProperty)
  public
    function GetAttributes: TPropertyAttributes; override;
    procedure GetValueList(List: TStrings);
    procedure GetValues(Proc: TGetStrProc); override;
  end;

  { TRMRichEditStrings }
  TRMRichEditStrings = class(TClassProperty)
  public
    function GetAttributes: TPropertyAttributes; override;
    procedure Edit; override;
  end;

{-----------------------------------------------------------------------}
{-----------------------------------------------------------------------}
{ TRMPageLayoutProperty }

function TRMPageLayoutProperty.GetAttributes: TPropertyAttributes;
begin
  Result := [paDialog];
end;

procedure TRMPageLayoutProperty.Edit;
var
  tmpForm: TRMPageSetupForm;
  tmp: TRMPageLayout;
begin
  tmp := TRMPageLayout(GetOrdValue);
  tmpForm := TRMPageSetupForm.Create(Application);
  try
    with tmpForm do
    begin
      PageSetting.PrintToDefault := tmp.PrintToDefault;
      PageSetting.DoublePass := tmp.DoublePass;
      PageSetting.UseMargins := True;
      PageSetting.PageOr := tmp.pgOr;
      PageSetting.MarginLeft := RMRound(RMConvertFromPixels(tmp.LeftMargin, rmsuMM) / 10, 1);
      PageSetting.MarginTop := RMRound(RMConvertFromPixels(tmp.TopMargin, rmsuMM) / 10, 1);
      PageSetting.MarginRight := RMRound(RMConvertFromPixels(tmp.RightMargin, rmsuMM) / 10, 1);
      PageSetting.MarginBottom := RMRound(RMConvertFromPixels(tmp.BottomMargin, rmsuMM) / 10, 1);
      PageSetting.ColCount := tmp.Columns;
      PageSetting.ColGap := RMRound(RMConvertFromPixels(tmp.ColumnSpace, rmsuMM) / 10, 1);
      PageSetting.PageWidth := tmp.Width;
      PageSetting.PageHeight := tmp.Height;
      PageSetting.PageSize := tmp.pgSize;
      PageSetting.PageBin := tmp.pgBin;
      PageSetting.PrinterName := tmp.PrinterName;
      if ShowModal = mrOk then
      begin
        tmp.PrinterName := PageSetting.PrinterName;
        tmp.PrintToDefault := PageSetting.PrintToDefault;
        tmp.DoublePass := PageSetting.DoublePass;
        tmp.pgOr := PageSetting.PageOr;
        tmp.Columns := PageSetting.ColCount;
        tmp.ColumnSpace := Round(RMConvertToPixels(PageSetting.ColGap * 10, rmsuMM));

        tmp.LeftMargin := Round(RMConvertToPixels(PageSetting.MarginLeft * 10, rmsuMM));
        tmp.TopMargin := Round(RMConvertToPixels(PageSetting.MarginTop * 10, rmsuMM));
        tmp.RightMargin := Round(RMConvertToPixels(PageSetting.MarginRight * 10, rmsuMM));
        tmp.BottomMargin := Round(RMConvertToPixels(PageSetting.MarginBottom * 10, rmsuMM));

        tmp.Width := PageSetting.PageWidth;
        tmp.Height := PageSetting.PageHeight;
        tmp.pgBin := PageSetting.PageBin;
        tmp.pgSize := PageSetting.PageSize;
        Modified;
//        SetOrdValue(Longint(tmp));
      end;
    end;
  finally
    tmpForm.Free;
  end;
end;

{-----------------------------------------------------------------------}
{-----------------------------------------------------------------------}
{ TRMRepEditor }

procedure TRMRepEditor.ExecuteVerb(Index: Integer);
begin
  DoDesign;
end;

function TRMRepEditor.GetVerb(Index: Integer): string;
begin
  Result := RMLoadStr(SDesignReport);
end;

function TRMRepEditor.GetVerbCount: Integer;
begin
  Result := 1;
end;

procedure TRMRepEditor.DoDesign;
begin
  TRMReport(Component).DesignReport;
  if TRMReport(Component).StoreInDFM then
  begin
    if TRMReport(Component).ComponentModified then
      Designer.Modified;
  end;
end;

{----------------------------------------------------------------------------}
{----------------------------------------------------------------------------}

procedure TRMPrintTblEditor.ExecuteVerb(Index: Integer);
begin
  DoShow;
end;

function TRMPrintTblEditor.GetVerb(Index: Integer): string;
begin
  Result := RMLoadStr(SPreview);
end;

function TRMPrintTblEditor.GetVerbCount: Integer;
begin
  Result := 1;
end;

procedure TRMPrintTblEditor.DoShow;
begin
  TRMCustomGridReport(Component).PreviewReport;
end;

{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{TRMFieldProperty}

function TRMFieldProperty.GetAttributes: TPropertyAttributes;
begin
  Result := [paValueList, paSortList, paMultiSelect];
end;

procedure TRMFieldProperty.GetValueList(List: TStrings);
var
  liReport: TRMCustomGridReport;
begin
  if (GetComponent(0) = nil) then Exit;
  liReport := nil;
  if (GetComponent(0) is TRMGroupItem) then
    liReport := (GetComponent(0) as TRMGroupItem).Report;

  if liReport <> nil then
  begin
    if liReport.DataSet <> nil then
      liReport.DataSet.GetFieldNames(List)
    else if (liReport.DataSource <> nil) and (liReport.DataSource.DataSet <> nil) then
      liReport.DataSource.DataSet.GetFieldNames(List);
  end;
end;

procedure TRMFieldProperty.GetValues(Proc: TGetStrProc);
var
  i: Integer;
  Values: TStringList;
begin
  Values := TStringList.Create;
  try
    GetValueList(Values);
    for i := 0 to Values.Count - 1 do Proc(Values[i]);
  finally
    Values.Free;
  end;
end;

{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}
{TRMRichEditStrings}
type
	THackRMPageHeaderFooter = class(TRMPageHeaderFooter)
  end;

function TRMRichEditStrings.GetAttributes: TPropertyAttributes;
begin
  Result := inherited GetAttributes + [paDialog] - [paSubProperties];
end;

procedure TRMRichEditStrings.Edit;
var
  Stream: TStringStream;
begin
  if RMDesignerClass <> nil then
  begin
		CurReport := THackRMPageHeaderFooter(GetComponent(0)).ParentFormReport.Report;
    RMDesigner := TRMReportDesigner(RMDesignerClass.NewInstance);
    RMDesigner.CreateDesigner(True);
  end;

{$IFDEF InfoPower}
  with TRMwwRichForm.Create(Application) do
{$ELSE}
{$IFDEF RX}
  with TRMRxRichForm.Create(Application) do
{$ELSE}
  with TRMRichForm.Create(Application) do
{$ENDIF}
{$ENDIF}
  try
    Stream := TStringStream.Create('');
    TStrings(GetOrdValue).SaveToStream(Stream);
    Stream.Position := 0;
    Editor.Lines.LoadFromStream(Stream);
    case ShowModal of
      mrOk:
        begin
          Stream.Position := 0;
          Editor.Lines.SaveToStream(Stream);
          Stream.Position := 0;
          TStrings(GetOrdValue).LoadFromStream(Stream);
          Modified;
        end;
    end;
    Stream.Free;
  finally
    if RMDesignerClass <> nil then
    begin
      RMDesigner.Free;
      RMDesigner := nil;
    end;
    Free;
  end;
end;

{------------------------------------------------------------------------------}
{------------------------------------------------------------------------------}

procedure Register;
begin
  RegisterComponents('Report Machine',
    [TRMReport, TRMCompositeReport, TRMDBDataSet, TRMUserDataset, TRMOLEObject,
    TRMRichObject, TRMCheckBoxObject, TRMShapeObject, TRMBarCodeObject, TRMRoundRectObject,
      TRMAngledLabelObject, TRMCrossObject,
{$IFDEF TeeChart}TRMChartObject, {$ENDIF}
{$IFDEF RX}TRMRxRichObject, {$ENDIF}
{$IFDEF InfoPower}TRMwwRichObject, {$ENDIF}
    TRMPreview, TRMTextExport, TRMRTFExport, TRMCSVExport, TRMHTMExport, TRMEMFExport,
      TRMWMFExport, TRMBMPExport
{$IFDEF RXGIF}, TRMGIFExport{$ENDIF}{$IFDEF JPEG}, TRMJPEGExport{$ENDIF}, TRMPDFExport,
    TRMDialogControls]);

  RegisterComponents('RM Designer', [TRMDesigner, TRMReportExplorer
{$IFDEF DM_BDE}, TRMDBDEComponents{$ENDIF}
{$IFDEF DM_ADO}, TRMDADOComponents{$ENDIF}
{$IFDEF DM_IBX}, TRMDIBXComponents{$ENDIF}
{$IFDEF DM_DBX}, TRMDDBXComponents{$ENDIF}
{$IFDEF DM_Diamond}, TRMDDiamondComponents{$ENDIF}
{$IFDEF DM_Halcyon}, TRMDHalcyonComponents{$ENDIF}
{$IFDEF DM_DBISAM}, TRMDDBISAMComponents{$ENDIF}
//{$IFDEF DecisionGrid}, TRMDecisionGridReport{$ENDIF}
    , TRMFormReport
{$IFDEF InfoPower}, TRMwwGridReport{$ENDIF}
{$IFDEF RX}, TRMPrintRxControls{$ENDIF}
{$IFDEF EHLib}, TRMPrintEHLib{$ENDIF}
{$IFDEF DecisionGrid}, TRMPrintDecision{$ENDIF}
    ]);

  RegisterPropertyEditor(TypeInfo(TRMPageLayout), TRMCustomGridReport, 'PageLayout', TRMPageLayoutProperty);
  RegisterPropertyEditor(TypeInfo(string), TRMGroupItem, 'GroupFieldName', TRMFieldProperty);
  RegisterComponentEditor(TRMReport, TRMRepEditor);
  RegisterComponentEditor(TRMCustomGridReport, TRMPrintTblEditor);
  RegisterPropertyEditor(TypeInfo(TStrings), TRMPageHeaderFooter, 'Caption', TRMRichEditStrings);
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99国产精品久久99| 在线观看成人免费视频| 国产69精品久久久久毛片| 在线观看国产日韩| 国产日韩综合av| 亚洲成人免费观看| 成人av第一页| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲欧美欧美一区二区三区| 秋霞午夜鲁丝一区二区老狼| 91色.com| 国产亚洲精品久| 日韩高清欧美激情| 色一情一乱一乱一91av| 久久精品视频在线免费观看| 日本网站在线观看一区二区三区| 91免费视频观看| 国产亚洲精品7777| 免费看日韩精品| 欧美图片一区二区三区| 亚洲欧美日韩小说| 99视频精品免费视频| 久久毛片高清国产| 九九在线精品视频| 日韩天堂在线观看| 日本大胆欧美人术艺术动态| 欧美三片在线视频观看| 一区二区三区**美女毛片| 成人福利在线看| 日本一区二区久久| 成人做爰69片免费看网站| 国产亚洲成av人在线观看导航| 美国毛片一区二区三区| 日韩亚洲电影在线| 日韩福利视频网| 欧美一区二区三区人| 舔着乳尖日韩一区| 欧美精品电影在线播放| 日韩精品一区第一页| 555夜色666亚洲国产免| 美女在线观看视频一区二区| 日韩一区二区电影在线| 久久精品久久99精品久久| 精品美女在线播放| 国产盗摄视频一区二区三区| 欧美高清在线一区二区| 9i看片成人免费高清| 亚洲乱码中文字幕综合| 欧美性猛交xxxx黑人交| 日韩成人精品视频| 久久综合久久99| 99re视频这里只有精品| 亚洲伊人伊色伊影伊综合网| 69久久99精品久久久久婷婷| 国产aⅴ精品一区二区三区色成熟| 8x8x8国产精品| 99在线精品视频| 欧美日韩精品一区二区三区蜜桃| 国产凹凸在线观看一区二区| 国产欧美视频一区二区| 亚洲成人在线免费| 日韩精品自拍偷拍| 欧美丰满美乳xxx高潮www| 99久久伊人网影院| 国产99久久久久| 国产真实乱子伦精品视频| 日韩电影在线观看一区| 亚洲综合免费观看高清完整版| 国产亚洲欧美中文| 久久久精品tv| 国产午夜亚洲精品理论片色戒| 日韩欧美国产一区二区在线播放 | 成人一区二区三区视频在线观看| 日本不卡不码高清免费观看| 亚洲午夜在线视频| 亚洲午夜羞羞片| 亚洲一区二区精品视频| 亚洲免费三区一区二区| 亚洲免费毛片网站| 亚洲精品伦理在线| 亚洲国产婷婷综合在线精品| 亚洲一区视频在线观看视频| 一区二区成人在线| 亚洲精品视频免费看| 亚洲精品国产品国语在线app| 成人欧美一区二区三区| 国产精品传媒入口麻豆| 亚洲欧洲一区二区三区| 亚洲男帅同性gay1069| 亚洲午夜精品在线| 日本欧美一区二区三区乱码| 麻豆国产精品官网| 国产一区二区在线观看视频| 国产九色精品成人porny| 国产成+人+日韩+欧美+亚洲| 不卡一区二区中文字幕| 一本久久a久久精品亚洲| 色8久久人人97超碰香蕉987| 美女视频免费一区| 国产一区二区0| av网站免费线看精品| 在线免费不卡视频| 欧美高清一级片在线| 精品免费日韩av| 国产精品久久久久婷婷二区次| 日韩毛片在线免费观看| 亚洲国产视频网站| 精品一区二区日韩| 成人精品免费视频| 欧美天天综合网| 欧美精品一区二区三区高清aⅴ | 亚洲国产sm捆绑调教视频| 日本特黄久久久高潮| 国产成人在线视频网站| 欧美性猛交xxxx乱大交退制版| 日韩一本二本av| 国产精品久久久久久久久果冻传媒| 一区二区三区.www| 国产一区二区三区黄视频 | 欧美日韩美女一区二区| 日韩精品一区二区三区视频在线观看| 国产午夜精品美女毛片视频| 亚洲一区二区三区四区五区黄| 久久国产精品色| 91在线观看美女| 制服丝袜中文字幕一区| 欧美高清在线视频| 男男gaygay亚洲| 99免费精品在线| 精品欧美一区二区三区精品久久 | 成人精品国产福利| 欧美日韩国产小视频| 久久久电影一区二区三区| 一个色综合网站| 国产成人精品www牛牛影视| 欧美吞精做爰啪啪高潮| 国产精品剧情在线亚洲| 日本不卡的三区四区五区| 一本色道a无线码一区v| 久久色成人在线| 五月天网站亚洲| 99精品黄色片免费大全| 久久亚洲一区二区三区明星换脸| 一区二区三区久久久| 成人av免费在线播放| 精品久久久久99| 丝袜美腿成人在线| 色狠狠色噜噜噜综合网| 国产视频一区二区在线观看| 理论电影国产精品| 欧美精品日日鲁夜夜添| 亚洲欧美日韩小说| 不卡在线观看av| 亚洲国产精品精华液ab| 国产乱子轮精品视频| 91精品欧美综合在线观看最新 | 亚洲黄色免费电影| caoporm超碰国产精品| 国产欧美久久久精品影院| 捆绑调教美女网站视频一区| 欧美精品一级二级| 亚洲一区精品在线| 欧美午夜免费电影| 亚洲精品菠萝久久久久久久| 色综合天天综合在线视频| 综合久久给合久久狠狠狠97色| 国产成a人无v码亚洲福利| 久久精品在线观看| 国产一区二区三区最好精华液| 日韩欧美在线123| 麻豆精品国产传媒mv男同 | 成av人片一区二区| 国产精品久久久久久亚洲毛片 | 亚洲综合免费观看高清在线观看| 色av一区二区| 亚洲欧美激情小说另类| 在线观看日韩一区| 午夜久久久久久久久| 欧美一级一区二区| 国模套图日韩精品一区二区| 国产婷婷一区二区| a在线欧美一区| 中文字幕综合网| 色婷婷激情一区二区三区| 一区二区三区高清在线| 欧美无人高清视频在线观看| 日韩国产精品久久久久久亚洲| 日韩亚洲国产中文字幕欧美| 国产又黄又大久久| 国产精品久久久久久久久久免费看 | 日韩精品午夜视频| 日韩一区二区在线免费观看| 麻豆精品视频在线观看视频| 日本一区二区三级电影在线观看| 成人小视频免费在线观看| 亚洲黄色尤物视频| 日韩一级完整毛片| 成人免费av资源| 午夜av区久久| 国产网站一区二区|