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

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

?? rvproj.pas

?? 本系統(tǒng)為病歷管理系統(tǒng)
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
            finally
              OnPrint := SaveOnPrint;
              OnBeforePrint := SaveBeforePrint;
              OnAfterPrint := SaveAfterPrint;
              SystemPrinter.UnitsFactor := SavedUnitsFactor;
            end; { tryf }
          end; { else }
        end; { with }
      end else begin { Not a TRvSystem, treat as TBaseReport }
        with Engine as TBaseReport do begin
          SavedUnitsFactor := UnitsFactor;
          UnitsFactor := 1;
          if Printing then begin
            try
              TRaveProjectManager(Project).BaseReport := Engine as TBaseReport;
              RSPrint(Engine as TBaseReport);
            finally
              UnitsFactor := SavedUnitsFactor;
            end; { tryf }
          end else begin { Not printing }
            SaveOnPrint := OnPrint;
            OnPrint := RSPrint;
            SaveBeforePrint := OnBeforePrint;
            OnBeforePrint := RSBeforePrint;
            SaveAfterPrint := OnAfterPrint;
            OnAfterPrint := RSAfterPrint;
            try
              Execute;
            finally
              OnPrint := SaveOnPrint;
              OnBeforePrint := SaveBeforePrint;
              OnAfterPrint := SaveAfterPrint;
              UnitsFactor := SavedUnitsFactor;
            end; { tryf }
          end; { else }
        end; { with }
      end; { else }
    end else begin { No Engine assigned, create TRvSystem component }
      with TRvSystem.Create(Application.MainForm) do try
        DefaultDest := PrintDestination;
        TitleSetup := Trans('Output Options');
        TitleStatus := Trans('Report Status');
        TitlePreview := Trans('Report Preview');
        if AllowSetup then begin
          SystemSetups := SystemSetups + [ssAllowSetup];
        end else begin
          SystemSetups := SystemSetups - [ssAllowSetup];
        end; { else }
        SystemPreview.GridHoriz := PreviewGridHoriz;
        SystemPreview.GridVert := PreviewGridVert;
        SystemPreview.GridPen.Color := PreviewGridColor;
        SystemPreview.GridPen.Style := PreviewGridPenStyle;
        SystemPreview.RulerType := PreviewRulerType;
        SystemPreview.MarginPercent := 2.5;
        SystemPreview.ShadowDepth := PreviewShadowDepth;
        SystemPreview.ZoomInc := PreviewZoomInc;
        SystemPreview.ZoomFactor := PreviewZoomFactor;
        SystemPreview.FormState := PreviewWindowState;
        SystemPreview.Monochrome := PreviewMonochrome;
        SystemFiler.AccuracyMethod := amAppearance;
        if AlwaysGenerate then begin
          SystemOptions := SystemOptions + [soUseFiler];
        end; { if }
        SaveOnPrint := OnPrint;
        OnPrint := RSPrint;
        SaveBeforePrint := nil;
        OnBeforePrint := RSBeforePrint;
        SaveAfterPrint := nil;
        OnAfterPrint := RSAfterPrint;
        SystemFiler.StreamMode := smTempFile;
        try
          Execute;
        finally
          OnPrint := SaveOnPrint;
          OnBeforePrint := SaveBeforePrint;
          OnAfterPrint := SaveAfterPrint;
        end; { tryf }
      finally
        Free;
      end; { with }
    end; { else }
  finally
    if RaveDataSystem <> nil then begin
      RaveDataSystem.ReleaseControl;
    end;
    TRaveProjectManager(Project).AfterReport;

    if Assigned(CurrentDesigner) then begin
      CurrentDesigner.Invalidate;
    end; { if }

  { Restore designed state for report and all global pages }
(*
    RestoreDesigned;
    For I1 := 0 to TRaveProjectManager(Project).GlobalPageList.Count - 1 do begin
      TRaveReport(TRaveProjectManager(Project).GlobalPageList[I1]).RestoreDesigned;
    end; { for }
*)
    TRaveProjectManager(Project).FPrinting := false;
  end; { if }
end;  { InternalExecute }

procedure TRaveReport.Execute(Engine: TRPComponent);
var
  LRaveContainer: TRaveContainerControl;
  LStream: TStream;
begin { Execute }
  HoldAddDeleteComponents := true;
  LStream := TMemoryStream.Create;
  try
    TRaveProjectManager(Project).ReportToStream(Self, LStream);
    LRaveContainer := TRaveContainerControl.Create(nil);
    try
      FExecProject := TRaveProjectManager.Create(LRaveContainer);
      try
        FExecProject.MasterProject := TRaveProjectManager(Project);
        try
          LStream.Position := 0;
          FExecProject.NoDesigner := true;
          FExecProject.LoadFromStream(LStream);
          FExecProject.Params.Assign(TRaveProjectManager(Project).Params);
        finally
          FExecProject.MasterProject := nil;
        end;
        FExecProject.FindReport(FullName,true).InternalExecute(Engine);
      finally
        FreeAndNil(FExecProject);
      end;
    finally
      FreeAndNil(LRaveContainer);
    end;
  finally
    HoldAddDeleteComponents := false;
    FreeAndNil(LStream);
  end;
end;  { Execute }

{ class TRaveModuleManager }

constructor TRaveModuleManager.Create(AProjectManager: TRaveProjectManager);
begin { Create }
  inherited Create;
  ModuleList := TList.Create;
  FProjectManager := AProjectManager;
end;  { Create }

destructor TRaveModuleManager.Destroy;
var
  I1: integer;
begin { Destroy }
  for I1 := 0 to ModuleList.Count - 1 do begin
    TRaveModule(ModuleList[I1]).Free;
  end; { for }
  FreeAndNil(ModuleList);
  inherited Destroy;
end;  { Destroy }

function TRaveModuleManager.ModuleIndex(ModuleName: string): integer;
var
  I1: integer;
begin { ModuleIndex }
  for I1 := 0 to ModuleList.Count - 1 do begin
    if SameStr(TRaveModule(ModuleList[I1]).ModuleName,ModuleName) then begin
      Result := I1;
      Exit;
    end; { if }
  end; { for }
  Result := -1;
end;  { ModuleIndex }

function TRaveModuleManager.LoadModule(ModuleName: string): integer;
var
  Module: TRaveModule;
  Stream: TMemoryStream;

  { included for D4 compatibility }
  function IncludeTrailingBackslash(const S: string): string;
  begin
    Result := S;
    if not IsPathDelimiter(Result, Length(Result)) then Result := Result + '\';
  end;
begin { LoadModule }
  Stream := TMemoryStream.Create;
  try
    Stream.LoadFromFile(
      IncludeTrailingBackslash(ExtractFilePath(Application.ExeName))
      + ModuleName + {Trans-}'.RVC');
    Module := CreateRaveModule(Stream,ProjectManager,nil);
  finally
    Stream.Free;
  end; { tryf }
  Result := ModuleList.Add(Module);
  RegisterRaveModule(Module);
end;  { LoadModule }

function TRaveModuleManager.GetModule(ModuleName: string): TRaveModule;
var
  I1: integer;
begin { GetModule }
  I1 := ModuleIndex(ModuleName);
  if I1 < 0 then begin { Try to load module }
    I1 := LoadModule(ModuleName);
    if I1 < 0 then begin
      RaiseError(Trans(Format({Trans+}'Could not load module [%s]',[ModuleName])));
    end; { if }
  end; { if }
  Result := TRaveModule(ModuleList[I1]);
end;  { GetModule }

function TRaveModuleManager.FindModule(ModuleName: string): TRaveModule;
var
  I1: integer;
begin { FindModule }
  I1 := ModuleIndex(ModuleName);
  if I1 < 0 then begin
    Result := nil;
  end else begin
    Result := TRaveModule(ModuleList[I1]);
  end; { else }
end;  { FindModule }

procedure TRaveModuleManager.LoadModules(StreamHelper: TStreamHelper);
var
  I1: integer;
  I2: integer;
  ModCount: integer;
  Module: TRaveModule;
  OldModule: TRaveModule;
begin { LoadModules }
  with StreamHelper do begin
    ModCount := ReadIndex;
    for I1 := 1 to ModCount do begin
      ReadString; // Module name

      StartReadBlock;
    // Load the module from the stream
      Module := CreateRaveModule(Stream,ProjectManager,nil);
    // Register the module
      I2 := ModuleIndex(Module.ModuleName);
      if I2 >= 0 then begin // Already registered, replace
        OldModule := ModuleList[I2];
        ModuleList[I2] := Module;
        FreeAndNil(OldModule);
      end else begin // Add module
        ModuleList.Add(Module);
      end; { else }
      RegisterRaveModule(Module);
      FinishReadBlock;
    end; { for }
  end; { with }
end;  { LoadModules }

procedure TRaveModuleManager.SaveModules(StreamHelper: TStreamHelper);
var
  I1: integer;
begin { SaveModules }
  with StreamHelper do begin
    WriteIndex(ModuleList.Count);
    for I1 := 0 to ModuleList.Count - 1 do begin
      WriteString(TRaveModule(ModuleList[I1]).ModuleName);
      StartWriteBlock;
      TRaveModule(ModuleList[I1]).SaveToStream(StreamHelper.Stream);
      FinishWriteBlock;
    end; { for }
  end; { with }
end;  { SaveModules }

procedure TRaveModuleManager.ReleaseModule(AModule: TRaveModule);
var
  I1: integer;

  procedure ProcessProjectItem(AProjectItem: TRaveProjectItem);
  var
    I1: integer;
  begin { ProcessProjectItem }
    if Assigned(AProjectItem.Module) then begin
      AProjectItem.Module.Changing(AModule,nil);
    end; { if }
    for I1 := 0 to AProjectItem.ComponentCount - 1 do begin
      if AProjectItem.Components[I1] is TRaveProjectItem then begin
        ProcessProjectItem(TRaveProjectItem(AProjectItem.Components[I1]));
      end; { if }
    end; { for }
  end;  { ProcessProjectItem }

begin { ReleaseModule }
  if not Assigned(AModule) then Exit;
  for I1 := 0 to ModuleList.Count - 1 do begin
    TRaveModule(ModuleList[I1]).Changing(AModule,nil);
  end; { for }
  ProcessProjectItem(ProjectManager);
end;  { ReleaseModule }

{ class TRaveProjectManager }

constructor TRaveProjectManager.Create(AOwner: TComponent);
begin { Create }
  inherited Create(AOwner);

  FReportList := TList.Create;
  FGlobalPageList := TList.Create;
  FDataObjectList := TList.Create;
  FCategories := TStringList.Create;
  Params := TStringList.Create;
  FBaseReport := GBaseReport;
  FModuleManager := TRaveModuleManager.Create(self);

  Signature := {Trans-}'RAV'#26;
  UnitsFactor := ProjectUnitsFactor;
end;  { Create }

destructor TRaveProjectManager.Destroy;
begin { Destroy }
  Clear;
  FreeAndNil(FModuleManager);
  FreeAndNil(Params);
  FreeAndNil(FCategories);
  FreeAndNil(FReportList);
  FreeAndNil(FGlobalPageList);
  FreeAndNil(FDataObjectList);

  inherited Destroy;
end;  { Destroy }

procedure TRaveProjectManager.ReportToStream(AReport: TRaveReport;
                                             AStream: TStream);

var
  StreamHelper: TStreamHelper;

  procedure ClearProjectItem(ProjectItem: TRaveProjectItem);
  var
    I1: integer;
  begin { ClearProjectItem }
    ProjectItem.Included := false;
    for I1 := 0 to ProjectItem.ComponentCount - 1 do begin
      if ProjectItem.Components[I1] is TRaveProjectItem then begin
        ClearProjectItem(TRaveProjectItem(ProjectItem.Components[I1]));
      end; { if }
    end; { for }
  end;  { ClearProjectItem }

  procedure ClearProjectItems(ProjectItemList: TList);
  var
    I1: integer;
  begin { ClearProjectItems }
    for I1 := 0 to ProjectItemList.Count - 1 do begin
      ClearProjectItem(TRaveProjectItem(ProjectItemList[I1]));
    end; { for }
  end;  { ClearProjectItems }

  procedure AddProjectItems(ProjectItemList: TList);
  var
    I1: integer;
  begin { AddProjectItems }
    for I1 := 0 to ProjectItemList.Count - 1 do begin
      if TRaveProjectItem(ProjectItemList[I1]).Included then begin
        ExportList.Add(ProjectItemList[I1]);
      end; { if }
    end; { for }
  end;  { AddProjectItems }

  procedure SetIncluded(Item: TPersistent;
                        DoOwned: boolean);
  var
    Count: integer;
    PropList: PPropList;
    PropInfo: PPropInfo;
    I1: integer;
    I2: integer;
    O1: TObject;

    procedure CheckComponent(C1: TComponent);
    begin { CheckComponent }
      if Assigned(C1) then begin
        if C1 is TRaveProjectItem then begin
          if not TRaveComponentAccess(C1).UseMaster and not TRaveProjectItem(C1).Included then begin
            TRaveProjectItem(C1).Included := true;
            SetIncluded(TRaveProjectItem(C1),true);
          end; { if }
        end; { if }
      end; { if }
    end;  { CheckComponent }

  begin { SetIncluded }
    if Assigned(Item) then begin
      Count := GetTypeData(Item.ClassInfo)^.PropCount;
      if Count > 0 then begin
        GetMem(PropList,Count * SizeOf(pointer));
        try
          GetPropInfos(Item.ClassInfo,PropList);
          for I1 := 0 to (Count - 1) do begin
            PropInfo := PropList^[I1];
            if PropInfo.PropType^.Kind = tkClass then begin
              O1 := TObject(GetOrdProp(Item,PropInfo));
              if Assigned(O1) then begin
                if O1 is TComponent then begin
                  CheckComponent(TComponent(O1).Owner);
                  CheckComponent(TComponent(O1));
                end else if O1 is TPersistent then begin

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合五月天婷婷伊人| 欧美手机在线视频| 国产精品天美传媒| 成人av综合一区| 亚洲黄色av一区| 欧美日韩综合在线免费观看| 天堂在线一区二区| 欧美videossexotv100| 国产成人a级片| 亚洲毛片av在线| 欧美一区二区三区电影| 国产乱人伦精品一区二区在线观看 | 一区二区三区在线观看视频| 欧美午夜精品久久久久久孕妇| 亚洲成av人影院| 久久久久久久网| 色婷婷精品大在线视频| 美女视频黄a大片欧美| 国产午夜精品久久| 欧美日韩小视频| 精品一区二区免费视频| 亚洲欧美日韩国产综合| 日韩欧美国产一区在线观看| 成人国产在线观看| 日韩av一区二区三区四区| 欧美激情综合网| 欧美日韩视频在线观看一区二区三区| 麻豆91免费观看| 一区二区三区视频在线观看| 精品国产精品一区二区夜夜嗨| 99精品久久免费看蜜臀剧情介绍| 日韩精品免费专区| 专区另类欧美日韩| 精品国免费一区二区三区| 色系网站成人免费| 国产精品一区二区在线观看不卡 | 亚洲视频一区在线| 精品久久久久久无| 欧美性淫爽ww久久久久无| 国产精品一二三四五| 午夜a成v人精品| 国产精品黄色在线观看| 久久综合狠狠综合久久激情| 欧美午夜在线观看| 99精品在线观看视频| 国产九九视频一区二区三区| 亚洲国产成人精品视频| 国产精品乱人伦一区二区| 精品国偷自产国产一区| 欧美麻豆精品久久久久久| 91蜜桃在线观看| 成人免费视频一区二区| 国产一区二区三区四区在线观看| 亚洲成年人影院| 亚洲一区二区三区不卡国产欧美| 中文字幕电影一区| 久久久噜噜噜久久人人看| 欧美一区二区三区播放老司机| 欧美性极品少妇| 欧美性淫爽ww久久久久无| 91视视频在线直接观看在线看网页在线看| 精品一区二区综合| 蜜桃av一区二区| 日本不卡一区二区三区 | 美女久久久精品| 日韩影院在线观看| 日韩不卡一区二区三区| 天堂一区二区在线免费观看| 亚洲va国产天堂va久久en| 亚洲精品免费在线观看| 亚洲欧美在线视频| 国产精品福利电影一区二区三区四区| 欧美激情一区二区三区在线| 久久女同互慰一区二区三区| 久久五月婷婷丁香社区| 久久午夜色播影院免费高清 | 国产精品污www在线观看| 久久久国产精华| 国产午夜精品美女毛片视频| 久久久久久久久99精品| 国产欧美一区二区三区在线看蜜臀 | 欧美色手机在线观看| 欧美性受xxxx黑人xyx性爽| 日本道精品一区二区三区| 91精品福利视频| 欧美日韩国产综合久久| 91精品在线麻豆| 欧美成人精品福利| 久久精品网站免费观看| 国产精品伦理在线| 亚洲综合精品自拍| 日本女优在线视频一区二区| 狠狠久久亚洲欧美| 成人午夜大片免费观看| 91色乱码一区二区三区| 欧美日韩久久一区二区| 精品国产91洋老外米糕| 欧美极品少妇xxxxⅹ高跟鞋| 综合欧美亚洲日本| 亚洲v中文字幕| 国产激情视频一区二区在线观看| 99久久免费精品| 91超碰这里只有精品国产| 国产亚洲污的网站| 亚洲免费观看高清完整版在线| 亚洲福中文字幕伊人影院| 美女在线观看视频一区二区| 成人免费毛片片v| 欧美日韩国产电影| 国产农村妇女毛片精品久久麻豆| 亚洲精品乱码久久久久久黑人| 天天综合日日夜夜精品| 国产高清亚洲一区| 欧美在线免费观看亚洲| 欧美精品一区二区三区在线播放| 国产精品美女久久久久aⅴ国产馆| 亚洲午夜影视影院在线观看| 国产精品 日产精品 欧美精品| 91老司机福利 在线| 精品国产一区二区三区av性色| 亚洲欧美国产77777| 蜜桃av一区二区在线观看| 色婷婷综合激情| 久久精品视频免费| 亚洲黄色免费电影| 欧美日韩在线观看一区二区| 成人欧美一区二区三区1314| 国产一区二区视频在线| 午夜精品久久久久久| 国产高清久久久| 91精品欧美久久久久久动漫 | 中文天堂在线一区| 日韩电影免费在线| 99久久精品国产导航| 久久蜜桃av一区精品变态类天堂| 亚洲乱码国产乱码精品精可以看| 麻豆中文一区二区| 欧美在线一区二区三区| 欧美国产乱子伦| 久久99国产精品成人| 欧美乱熟臀69xxxxxx| 亚洲欧洲综合另类| 欧美性videosxxxxx| 久久久久久99久久久精品网站| 午夜精品久久久久久| 欧美日韩久久不卡| 一二三四区精品视频| 91丨porny丨户外露出| 国产精品久久久久四虎| 国产麻豆成人精品| wwwwww.欧美系列| 蜜桃av一区二区| 91精品国产91综合久久蜜臀| 亚洲一卡二卡三卡四卡五卡| 99v久久综合狠狠综合久久| 久久精品一区二区三区不卡| 久久激情综合网| 精品美女一区二区| 免费国产亚洲视频| 欧美一级久久久久久久大片| 午夜在线成人av| 欧美日韩一区二区三区在线看| 亚洲精品精品亚洲| 日本伦理一区二区| 夜夜嗨av一区二区三区中文字幕| 99精品久久只有精品| 亚洲靠逼com| 色8久久人人97超碰香蕉987| 亚洲三级在线看| 91电影在线观看| 亚洲一区在线观看免费 | 狠狠狠色丁香婷婷综合激情| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 蜜桃视频第一区免费观看| 日韩精品专区在线影院重磅| 美女看a上一区| 久久久久国产精品人| 成人黄色免费短视频| 亚洲日本丝袜连裤袜办公室| 91福利国产成人精品照片| 亚洲成av人片| 精品国产91亚洲一区二区三区婷婷| 精品一区二区三区欧美| wwwwww.欧美系列| 91美女在线观看| 三级影片在线观看欧美日韩一区二区| 在线综合亚洲欧美在线视频| 免费不卡在线观看| 久久久久久久电影| 一本一道波多野结衣一区二区| 亚洲一区二区三区影院| 日韩三级高清在线| 成人丝袜高跟foot| 亚洲成人tv网| 久久久久久久久久久久电影| 色婷婷国产精品| 麻豆国产欧美日韩综合精品二区| 久久久久久一二三区| 99国产精品久久久久久久久久| 日韩高清一区二区|