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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rvproj.pas

?? 本系統為病歷管理系統
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
{*************************************************************************}
{ Rave Reports version 5.0                                                }
{ Copyright (c), 1995-2002, Nevrona Designs, all rights reserved          }
{*************************************************************************}

unit RvProj;

interface

{$I RpVer.inc}

uses
  Windows, Controls, ComCtrls, Forms, Dialogs, Graphics,
  TypInfo, SysUtils, Classes, RvDefine, RvUtil, RvClass, RvData,
  RpDefine, RpBase, RpSystem, RpDevice, RvSecurity;

type
  TTagKind = (tkProject,tkExport,tkDataView,tkPage,tkReport,tkReportPage,tkDataObject);

  TImportConflictEvent = procedure(CurrentItem: TRaveProjectItem;
                                   var ImportName: string) of object;

  TRaveProjectManager = class;

  TRaveReport = class(TRaveProjectItem)
  protected
    FCategory: string;
    FLastActivePage: string;
    SaveOnPrint: TNotifyEvent;
    SaveBeforePrint: TNotifyEvent;
    SaveAfterPrint: TNotifyEvent;
    LoadedList: TList; { Loaded pages for this report }
    FixUpList: TStrings; { List of loaded modules that may not be ready until
                           after all report items are loaded }
    FFirstPage: TRavePage; { Page to begin execution for }
    FCopies: integer;
    FPageList: TRaveComponentList; { List of pages to print }
    FAlwaysGenerate: boolean;
    FCollate: TRavePrinterCollate;
    FDuplex: TRavePrinterDuplex;
    FPrinter: string;
    FResolution: TRavePrinterResolution;
    FMaxPages: integer; { Max number of pages to print }
    FSecurityControl: TRaveBaseSecurity;
    FExecProject: TRaveProjectManager;

    procedure SetPageList(Value: TRaveComponentList);
    function GetLoadedCount: integer;
    function GetLoaded(Index: integer): TRavePage;
    procedure RSPrint(Sender: TObject);
    procedure RSBeforePrint(Sender: TObject);
    procedure RSAfterPrint(Sender: TObject);
    procedure Changing(OldItem: TRaveComponent;
                       NewItem: TRaveComponent); override;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure SaveToStreamHelper(StreamHelper: TStreamHelper); override;
    procedure LoadFromStreamHelper(StreamHelper: TStreamHelper); override;
    procedure Open; override;
    procedure Close; override;
    procedure Compile; override;
    function NewPage: TRavePage;
    procedure LoadPage(Page: TRavePage);
    procedure UnloadPage(Page: TRavePage);
    procedure ProcessLoaded;
    procedure Execute(Engine: TRPComponent);
    procedure InternalExecute(Engine: TRPComponent);

    property LoadedPageCount: integer read GetLoadedCount;
    property LoadedPage[Index: integer]: TRavePage read GetLoaded;
    property LastActivePage: string read FLastActivePage write FLastActivePage;
    property ExecProject: TRaveProjectManager read FExecProject;
  published
    property AlwaysGenerate: boolean read FAlwaysGenerate write FAlwaysGenerate default false;
    property Category: string read FCategory write FCategory;
    property Copies: integer read FCopies write FCopies default 0;
    property FirstPage: TRavePage read FFirstPage write FFirstPage default nil;
    property PageList: TRaveComponentList read FPageList write SetPageList;
    property Collate: TRavePrinterCollate read FCollate write FCollate
     default pcDefault;
    property Duplex: TRavePrinterDuplex read FDuplex write FDuplex
     default pdDefault;
    property MaxPages: integer read FMaxPages write FMaxPages default 0;
    property Parameters;
    property PIVars;
    property Printer: string read FPrinter write FPrinter;
    property Resolution: TRavePrinterResolution read FResolution
     write FResolution default prDefault;
    property SecurityControl: TRaveBaseSecurity read FSecurityControl write
     FSecurityControl;
  end; { TRaveReport }

  TRaveModuleManager = class
  protected
    ModuleList: TList;
    FProjectManager: TRaveProjectManager;
    //
    function ModuleIndex(ModuleName: string): integer;
    function LoadModule(ModuleName: string): integer;
  public
    constructor Create(AProjectManager: TRaveProjectManager);
    destructor Destroy; override;
    function GetModule(ModuleName: string): TRaveModule;
    function FindModule(ModuleName: string): TRaveModule;
    procedure LoadModules(StreamHelper: TStreamHelper);
    procedure SaveModules(StreamHelper: TStreamHelper);
    procedure ReleaseModule(AModule: TRaveModule);
    //
    property ProjectManager: TRaveProjectManager read FProjectManager;
  end; { TRaveModuleManager }

  TRaveProjectManager = class(TRaveProjectItem)
  protected
    ForwardRefList: TStringList;
    RenameRefList: TStringList;
    LastActiveReport: string;
    FReportList: TList; { List of all reports }
    FGlobalPageList: TList; { List of all global pages }
    FDataObjectList: TList; { List of all data objects }
    FActiveReport: TRaveReport;
    FSaved: boolean; { Has this project ever been saved }
    FFileName: string; { Filename of this project }
    Signature: string;
    FDataChanged: boolean;
    FPrinting: boolean;
    ExportList: TList;
    Importing: boolean;
    ImportReplace: boolean;
    FOnImportConflict: TImportConflictEvent;
    FVersion: integer;
    FCategories: TStrings;
    Params: TStringList;
    FUnits: TPrintUnits; { Units type }
    FUnitsFactor: TRaveFloat; { Units factor }
    FStreamParamValues: boolean; { Put parameter values in save stream? }
    IsLoading: boolean;
    FMasterProject: TRaveProjectManager;
    FNoDesigner: boolean;
    FSecurityControl: TRaveBaseSecurity;
    FAdminPassword: string;
    FBaseReport: TBaseReport;
    FModuleManager: TRaveModuleManager;

    procedure SetDepth(Control: TRaveComponent;
                       Adjustment: integer); override;
    procedure SetCategories(Value: TStrings);
    procedure SetUnits(Value: TPrintUnits);
    procedure SetUnitsFactor(Value: double);
    procedure SetDataChanged(Value: boolean);
    procedure DefineProperties(Filer: TFiler); override;
    procedure ReadParamValues(Reader: TReader);
    procedure WriteParamValues(Writer: TWriter);
    procedure Changing(OldItem: TRaveComponent;
                       NewItem: TRaveComponent); override;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure ReportToStream(AReport: TRaveReport;
                             AStream: TStream);
    function FindReport(const AName: string; const AIsFullName: boolean): TRaveReport;
    procedure AddForwardRef(AName: string; AOwner: TRaveComponent; AInstance: TPersistent;
     APropInfo: PPropInfo; AParam: longint);
    procedure AddRenameRef(OrigName: string; NewInstance: TRaveComponent);
    procedure FreeForwardRefs;
    procedure New;
    procedure RemoveForwardRefs(Target: TRaveComponent);
    procedure Save;
    procedure Load;
    procedure Unload;
    procedure Clear;
    procedure LoadFromStreamHelper(StreamHelper: TStreamHelper); override;
    procedure SaveToStreamHelper(StreamHelper: TStreamHelper); override;
    procedure LoadFromStream(Stream: TStream);
    procedure SaveToStream(Stream: TStream);
    procedure ExportProject(ExportFileName: string;
                            Items: TList);
    function ImportProject(ImportFileName: string;
                           AutoReplace: boolean): boolean;
    procedure DeactivateReport;
    procedure ActivateReport(Report: TRaveReport);
    function FindRaveComponent(Name: string;
                               DefRoot: TRaveComponent): TRaveComponent;
    function GetUniqueName(BaseName: string;
                           NameOwner: TRaveComponent;
                           UseCurrent: boolean): string;

    function NewReport: TRaveReport;
    function NewGlobalPage: TRavePage;
    function NewDataObject(DataObjectClass: TRaveDataObjectClass): TRaveDataObject;
    procedure DeleteItem(Item: TRaveProjectItem;
                         Notify: boolean);
    procedure SetParam(Param: string;
                       Value: string);
    function GetParam(Param: string): string;
    procedure ClearParams;
    procedure ClearChanged;
    procedure Compile; override;

    property ReportList: TList read FReportList;
    property GlobalPageList: TList read FGlobalPageList;
    property DataObjectList: TList read FDataObjectList;

    property ActiveReport: TRaveReport read FActiveReport;
    property Saved: boolean read FSaved write FSaved;
  { DataChanged will only change value when set to true, to clear call ClearChanged }
    property DataChanged: boolean read FDataChanged write SetDataChanged;
    property Printing: boolean read FPrinting;
    property Version: integer read FVersion;
    property OnImportConflict: TImportConflictEvent read FOnImportConflict write
     FOnImportConflict;
    property StreamParamValues: boolean read FStreamParamValues write FStreamParamValues;
    property FileName: string read FFileName write FFileName stored false;
    property MasterProject: TRaveProjectManager read FMasterProject write FMasterProject;
    property NoDesigner: boolean read FNoDesigner write FNoDesigner;
    property BaseReport: TBaseReport read FBaseReport write FBaseReport;
    property ModuleManager: TRaveModuleManager read FModuleManager;
  published
    property AdminPassword: string read FAdminPassword write FAdminPassword;
    property Categories: TStrings read FCategories write SetCategories;
    property Parameters;
    property PIVars;
    property SecurityControl: TRaveBaseSecurity read FSecurityControl write
     FSecurityControl;
    property Units: TPrintUnits read FUnits write SetUnits stored false;
    property UnitsFactor: TRaveFloat read FUnitsFactor write SetUnitsFactor;
  end; { TRaveProjectManager }

// Procs
  procedure RaveRegister;

var
  ProjectManager: TRaveProjectManager = nil;

implementation

uses
  {$IFNDEF RaveServer}RvDirectDataView,{$ENDIF} RvDataField, RpMBCS;

{ Forward References Handling }

type
  TRaveForwardRef = class
  protected
    FParam: longint;
    FInstance: TPersistent;
    FPropInfo: PPropInfo;
  public
    constructor Create(AInstance: TPersistent;
                       APropInfo: PPropInfo;
                       AParam: longint);
    property Param: longint read FParam;
    property Instance: TPersistent read FInstance;
    property PropInfo: PPropInfo read FPropInfo;
  end; { TRaveForwardRef }

constructor TRaveForwardRef.Create(AInstance: TPersistent; APropInfo: PPropInfo; AParam: longint);
begin { Create }
  FInstance := AInstance;
  FPropInfo := APropInfo;
  FParam := AParam;
end;  { Create }

procedure TRaveProjectManager.AddForwardRef(AName: string; AOwner: TRaveComponent; AInstance: TPersistent;
 APropInfo: PPropInfo; AParam: longint);
begin { AddForwardRef }
  if not Assigned(ForwardRefList) then begin
    ForwardRefList := TStringList.Create;
    ForwardRefList.Sorted := true;
    ForwardRefList.Duplicates := dupAccept;
  end; { if }
  if Pos('.',AName) = 0 then begin
    AName := AOwner.Name + '.' + AName;
  end; { if }
  ForwardRefList.AddObject(AName,TRaveForwardRef.Create(AInstance,APropInfo,AParam));
end;  { AddForwardRef }

procedure TRaveProjectManager.AddRenameRef(OrigName: string; NewInstance: TRaveComponent);
begin { AddRenameRef }
  if not Assigned(RenameRefList) then begin
    RenameRefList := TStringList.Create;
    RenameRefList.Sorted := true;
    RenameRefList.Duplicates := dupIgnore;
  end; { if }
  RenameRefList.AddObject(NewInstance.Owner.Name + '.' + OrigName,NewInstance);
end;  { AddRenameRef }

procedure TRaveProjectManager.RemoveForwardRefs(Target: TRaveComponent);
var
  TargetName: string;
  Index: integer;
begin { RemoveForwardRefs }
  TargetName := Target.Owner.Name + '.' + Target.Name;
  if Assigned(ForwardRefList) and ForwardRefList.Find(TargetName,Index) then begin
    repeat
      with TRaveForwardRef(ForwardRefList.Objects[Index]) do begin
        if not Assigned(PropInfo) then begin
          TRaveComponentList(Instance).Items[Param] := Target;
        end else begin
          SetOrdProp(Instance,PropInfo,integer(Target));
        end; { else }
      end; { with }
      ForwardRefList.Objects[Index].Free;
      ForwardRefList.Delete(Index);
    until (Index >= ForwardRefList.Count) or
     (AnsiCompareText(ForwardRefList[Index],TargetName) <> 0);
  end; { if }
end;  { RemoveForwardRefs }

procedure RaveRegister;
begin { RaveRegister }
  RegisterRaveComponents('',[TRaveReport,TRaveProjectManager]);
  RegisterRaveModuleClasses('RvProj',[TRaveReport,TRaveProjectManager]);
end;  { RaveRegister }

type
  TRaveComponentAccess = class(TRaveComponent)
  end; { TRaveComponentAccess }

{ class TRaveReport }

constructor TRaveReport.Create(AOwner: TComponent);
begin { Create }
  inherited Create(AOwner);
  LoadedList := TList.Create;
  FCopies := 0;
  FResolution := prDefault;
  FCollate := pcDefault;
  FDuplex := pdDefault;
end;  { Create }

destructor TRaveReport.Destroy;
begin { Destroy }
  FreeAndNil(LoadedList);
  FreeAndNil(FPageList);
  inherited Destroy;
end;  { Destroy }

procedure TRaveReport.Changing(OldItem: TRaveComponent;
                               NewItem: TRaveComponent);
var
  I1: integer;
begin { Changing }
  inherited Changing(OldItem,NewItem);
  if Assigned(FirstPage) and (FirstPage = OldItem) then begin
    FirstPage := NewItem as TRavePage;
  end; { if }
  if Assigned(SecurityControl) and (OldItem = SecurityControl) then begin
    SecurityControl := NewItem as TRaveBaseSecurity;
  end; { if }
  if Assigned(PageList) then begin
    I1 := 0;
    while I1 < PageList.Count do begin
      if Assigned(PageList[I1]) and (PageList[I1] = OldItem) then begin
        if Assigned(NewItem) then begin
          PageList[I1] := NewItem; { Replace with NewItem }
        end else begin
          PageList.Delete(I1); { Remove OldItem from PageList }
          Dec(I1);
        end; { else }
      end; { if }
      Inc(I1);
    end; { while }
  end; { if }
end;  { Changing }

procedure TRaveReport.SaveToStreamHelper(StreamHelper: TStreamHelper);
var
  I1: integer;
begin { SaveToStreamHelper }
  with StreamHelper do begin
    WriteString(LastActivePage);

  { Write out list of owned editors }
    WriteIndex(ChildCount);
    for I1 := 0 to (ChildCount - 1) do begin
      WriteByte(0); { Marker for TRaveProjectItem type }
      WriteString(Child[I1].Name);
    end; { for }

  { Write out list of loaded editors }
    WriteIndex(LoadedList.Count);
    for I1 := 0 to (LoadedList.Count - 1) do begin
      WriteString(TRavePage(LoadedList[I1]).Name);
    end; { for }

  { Write out report properties }
    with TRaveWriter.Create(StreamHelper) do try
      WriteComponent(self,false);
    finally
      Free;
    end; { with }

  { Write out pages }
    for I1 := 0 to (ChildCount - 1) do begin
      StreamHelper.StartWriteBlock;
      TRavePage(Child[I1]).SaveToStreamHelper(StreamHelper);
      StreamHelper.FinishWriteBlock;
    end; { for }
  end; { with }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人在线电影| 亚洲精品网站在线观看| 久久国产综合精品| 欧美一级在线免费| 国产真实精品久久二三区| 精品国产乱码久久久久久图片 | 国产精品欧美一区喷水| 国产mv日韩mv欧美| 综合自拍亚洲综合图不卡区| 色噜噜久久综合| 亚洲第一在线综合网站| 91精品麻豆日日躁夜夜躁| 久草热8精品视频在线观看| 国产欧美日韩精品在线| 99v久久综合狠狠综合久久| 亚洲一区二区3| 欧美精品一区二区三区四区 | 99精品久久只有精品| 亚洲激情综合网| 日韩女优制服丝袜电影| 丁香婷婷综合五月| 亚洲午夜精品17c| 精品国产麻豆免费人成网站| 99re热视频精品| 午夜影视日本亚洲欧洲精品| 精品国产乱码久久久久久牛牛| 成人精品国产免费网站| 亚洲成av人片一区二区梦乃| 久久天堂av综合合色蜜桃网| 一本大道久久精品懂色aⅴ | 国产麻豆成人精品| 一区二区三区在线观看动漫 | 中文字幕日韩一区二区| 欧美日韩精品高清| 丁香激情综合五月| 日本视频在线一区| 亚洲精选在线视频| 欧美成人一区二区三区片免费 | 国产日产亚洲精品系列| 欧美中文字幕亚洲一区二区va在线| 国模套图日韩精品一区二区| 亚洲午夜免费福利视频| 国产色产综合产在线视频 | 精品电影一区二区| 欧美亚洲综合一区| 成人激情文学综合网| 美女免费视频一区二区| 亚洲一区二区影院| 国产精品久久久爽爽爽麻豆色哟哟| 欧美精品久久久久久久久老牛影院| 成人av网站免费| 国内久久精品视频| 喷水一区二区三区| 一区二区免费看| 久久亚洲私人国产精品va媚药| 亚洲一区二区精品视频| 久久久噜噜噜久久人人看 | 欧美高清视频在线高清观看mv色露露十八 | 亚洲人亚洲人成电影网站色| 日韩免费一区二区三区在线播放| 欧美伊人久久大香线蕉综合69| 成人免费观看视频| 风流少妇一区二区| 久久99精品国产麻豆婷婷洗澡| 一区二区三区四区在线播放| 国产精品久久三区| 欧美国产精品中文字幕| 欧美韩国一区二区| 国产日韩一级二级三级| 久久久久久久综合色一本| 欧美成人vr18sexvr| 日韩一区二区麻豆国产| 欧美卡1卡2卡| 555夜色666亚洲国产免| 91精品国产综合久久福利软件| 欧美日本高清视频在线观看| 欧美三区免费完整视频在线观看| 日本福利一区二区| 色av成人天堂桃色av| 91九色最新地址| 欧美日韩亚洲综合一区二区三区 | 成人免费视频视频在线观看免费| 国产精品影视在线观看| 国产米奇在线777精品观看| 国产呦萝稀缺另类资源| 懂色av一区二区三区免费观看| 成人午夜电影网站| 色婷婷综合视频在线观看| 一本久道中文字幕精品亚洲嫩| 色嗨嗨av一区二区三区| 欧美美女视频在线观看| 日韩欧美第一区| 国产女人18毛片水真多成人如厕| 国产精品萝li| 亚洲成人动漫精品| 免费人成网站在线观看欧美高清| 精品一区二区免费| 成人久久久精品乱码一区二区三区| 99精品视频中文字幕| 欧美性猛交xxxx黑人交| 欧美一区二区成人| 久久久高清一区二区三区| 中文字幕在线不卡一区二区三区| 玉足女爽爽91| 久久国产乱子精品免费女| 成人免费电影视频| 欧美色倩网站大全免费| 久久久久久毛片| 一区二区三区日韩精品视频| 麻豆一区二区三| 99视频有精品| 91精品免费观看| 国产精品国产三级国产a | 毛片av一区二区| 福利一区二区在线| 欧美精选一区二区| 中文一区二区在线观看| 婷婷亚洲久悠悠色悠在线播放| 国产综合久久久久久鬼色 | 日本欧洲一区二区| 丁香桃色午夜亚洲一区二区三区| 91福利小视频| 久久久99精品久久| 亚洲chinese男男1069| 国产精品一二二区| 欧美日韩精品欧美日韩精品 | 亚洲午夜久久久| 国产超碰在线一区| 欧美精品三级在线观看| 中文字幕制服丝袜一区二区三区| 天天综合天天做天天综合| www.色精品| 久久久久久久免费视频了| 亚洲成在人线在线播放| 成人激情免费视频| xf在线a精品一区二区视频网站| 亚洲国产中文字幕| 成人免费的视频| 久久免费午夜影院| 日韩精品一卡二卡三卡四卡无卡| 91欧美激情一区二区三区成人| 日韩免费观看高清完整版| 一区二区三区四区在线| 国产凹凸在线观看一区二区| 日韩欧美一区在线| 亚洲第一二三四区| 99精品视频在线观看| 国产目拍亚洲精品99久久精品| 久久99久久久久久久久久久| 欧美日本在线视频| 亚洲激情一二三区| 91在线免费播放| 国产精品国产三级国产专播品爱网 | 国产一区三区三区| 欧美一区二区三区在线| 午夜国产精品一区| 欧美这里有精品| 最新日韩av在线| 国产成人在线视频网址| 精品国产区一区| 韩国精品免费视频| 精品日韩av一区二区| 捆绑调教一区二区三区| 91精品啪在线观看国产60岁| 日韩二区在线观看| 日韩一区二区不卡| 捆绑调教美女网站视频一区| 欧美成人女星排名| 国产在线不卡视频| 亚洲欧洲在线观看av| 91美女在线视频| 一二三区精品福利视频| 欧美日韩精品电影| 日本不卡一二三| 精品国产麻豆免费人成网站| 国产精品一二三区在线| 亚洲国产高清不卡| 99九九99九九九视频精品| 亚洲另类春色校园小说| 欧美日韩久久久| 狠狠网亚洲精品| 中文字幕免费观看一区| 色婷婷亚洲一区二区三区| 亚洲国产日韩a在线播放| 91麻豆精品国产91久久久 | 国产盗摄一区二区三区| 中文av一区特黄| 亚洲电影视频在线| 日韩视频在线永久播放| 激情综合一区二区三区| 欧美激情一区二区三区不卡| 91麻豆自制传媒国产之光| 一区二区欧美精品| 日韩欧美在线1卡| 成人精品鲁一区一区二区| 亚洲九九爱视频| 精品国产一区二区三区四区四| 国产成人精品亚洲日本在线桃色 | 国产成都精品91一区二区三| 日韩毛片精品高清免费|