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

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

?? qm_rconsole.pas

?? 計算機(jī)系畢業(yè)設(shè)計
?? PAS
?? 第 1 頁 / 共 4 頁
字號:
          AutoSize := False;
          WordWrap := False;
          Left := rcLRMargin;
          Width := R_LblWd;
          if (rcRepWidth in Options) and (Page.Columns = 1) then
          begin
            Width := Round(Width * FScaleWL);
            Left := Left + FLftMargin;
          end;
          Caption := cCaption;
          if isStored then Font.Assign(R_Font);
          Transparent := True;
          Alignment := TAlignment(iAlign);
          Top := i * (rcLblSpace + T_TextHg) + iTop;
          if FNeedName then
            Name := QM_UniqueName(QROwner, 'QRLabel');
          if iType=1 then Tag := 9;
        end;
        if iType=1 then R_HasPageCount := True;
      end else
      begin
        C_QRExpr := TQRExpr.Create(QROwner);
        C_QRExpr.Parent := R_QRBand;
        with C_QRExpr do
        begin
          AutoSize := False;
          WordWrap := False;
          Left := rcLRMargin;
          Width := R_LblWd;
          if (rcRepWidth in Options) and (Page.Columns = 1) then
          begin
            Width := Round(Width * FScaleWL);
            Left := Left + FLftMargin;
          end;
          Expression := cCaption;
          if isStored then Font.Assign(R_Font);
          Transparent := True;
          Alignment := TAlignment(iAlign);
          Top := i * (rcLblSpace + T_TextHg) + iTop;
          if FNeedName then
            Name := QM_UniqueName(QROwner, 'QRExpr');
          if iType=3 then Tag := 9;
        end;
        if iType=3 then R_HasPageCount := True;
      end;
    end;
  end;

  procedure chkBand(lnkBand: TQMLinkBand; DflHg: Integer);
  begin
    case lnkBand of
      rtPageHeader : R_QRBand := QM_FindBand(rbPageHeader, BGColor);
      rtTitle : R_QRBand := QM_FindBand(rbTitle, BGColor);
      rtSummary : R_QRBand := QM_FindBand(rbSummary, BGColor);
      else R_QRBand := QM_FindBand(rbPageFooter, BGColor);
    end;
    if R_QRBand.Tag = 1 then R_QRBand.Height := DflHg;
  end;

  procedure DrawLogo(iLeft: Integer);
  var
    QRImage:TQRImage;
  begin
    QRImage := TQRImage.Create(QROwner);
    QRImage.Parent := R_QRBand;
    with QRImage do
    begin
      AutoSize := False;
      Center := False;
      QRImage.Picture := Logo.Picture;
      Top := Logo.Top;
      Left := Round(iLeft * ScaleWL);
      if ScaleWL = ScaleHT then
      begin
        Stretch := True;
        Width := Round(Logo.Picture.Width * ScaleWL);
        Height := Round(Logo.Picture.Height * ScaleHT);
      end else if ScaleWL <> 1 then
      begin
        Width := Logo.Picture.Width;
        Height := Logo.Picture.Height;
        Left := Left + Round(Logo.Picture.Width * ScaleWL) - Logo.Picture.Width;
      end else
      begin
        Width := Logo.Picture.Width;
        Height := Logo.Picture.Height;
      end;
      if NeedName then
        Name := QM_UniqueName(QROwner,'QRImage');
      SendToBack;
    end;
  end;
begin
  R_HasPageCount := false;
  QMQuickRep.Bands.HasPageHeader := False;
  QMQuickRep.Bands.HasSummary := False;
  QMQuickRep.Bands.HasPageFooter := False;
  QMQuickRep.Bands.HasTitle := False;
  R_Font := TFont.Create;
  R_RepFont := TFont.Create;
  R_RepFont.Assign(Font);
  R_RepFont.Color := QM_PrintColor(self, R_RepFont.Color);
  R_RepFont.Height := Round(R_RepFont.Height * FScaleHT);
  QMQuickRep.Font.Assign(R_RepFont);
  if rcRepWidth in Options then
    R_LblWd := R_ReportWd - rcLRMargin * 2 + 2
  else R_LblWd := R_PageWd - rcLRMargin * 2 + 2;
  R_TitleHg := 0;
  R_TtlHg :=0;
  R_TitleMargin := Round(ReportTitle.VertAdjust * FScaleHT);
  if ReportTitle.Text.Count > 0 then
  begin
    R_Font.Assign(ReportTitle.Font);
    R_Font.Height := Round(R_Font.Height * FScaleHT);
    R_TitleHg := ReportTitle.Text.Count * (QM_TextHeight(R_Font) + rcLblSpace) - rcLblSpace + R_TitleMargin;
    if ReportTitle.SubTitle.Text.Count > 0 then
    begin
      T_Val := Round(ReportTitle.SubTitle.VertAdjust * FScaleHT);
      R_TtlHg := R_TitleHg - R_TitleMargin + T_Val;
      R_Font.Assign(ReportTitle.SubTitle.Font);
      R_Font.Height := Round(R_Font.Height * FScaleHT);
      R_TitleHg := R_TitleHg + ReportTitle.SubTitle.Text.Count * (QM_TextHeight(R_Font) + rcLblSpace) - rcLblSpace + T_Val;
    end;
  end;
  R_TitleTop := 0;
  //pageheader
  T_Cnt := Max(PageHeader.LeftText.Count, PageHeader.CenterText.Count, PageHeader.RightText.Count);
  if T_Cnt>0 then
  begin
    R_QRBand := QM_FindBand(rbPageHeader, BGColor);
    //if rcBodyFont in Options then R_Font.Assign(Font) else
    if PageHeader.IsFontStored then
    begin
      R_Font.Assign(PageHeader.Font);
      R_Font.Color := QM_PrintColor(self, R_Font.Color);
      R_Font.Height := Round(R_Font.Height * FScaleHT);
      R_QRBand.Font.Assign(R_Font);
      T_TextHg := QM_TextHeight(R_Font);
    end else T_TextHg := QM_TextHeight(R_RepFont);
    R_QRBand.Height := T_Cnt * (T_TextHg + rcLblSpace) - rcLblSpace + rcTBMargin;
    T_Val := 0;
    R_LineTop := R_QRBand.Height - rcTBMargin + 2;
    if PageHeader.LineType = rltDouble then R_QRBand.Height := R_QRBand.Height + 1;
    if (R_TitleHg > 0) and (ReportTitle.LinkBand = rtPageHeader) then
    begin
      if (ReportTitle.TitlePos = psTop) or (ReportTitle.TitlePos = psAuto) then
      begin
        T_Val := R_TitleHg;
        R_LineTop := R_LineTop + R_TitleHg;
      end
      else R_TitleTop := R_QRBand.Height + R_TitleMargin - rcTBMargin;
      R_QRBand.Height := R_QRBand.Height + R_TitleHg;
    end;
    DrawBand(PageHeader.LeftText, 0, T_Val, false);
    DrawBand(PageHeader.CenterText, 2, T_Val, false);
    DrawBand(PageHeader.RightText, 1, T_Val, false);
    DrawLine(PageHeader.LineType, R_LineTop);
  end;
  //title
  T_Cnt := Max(Title.LeftText.Count,Title.CenterText.Count,Title.RightText.Count);
  if T_Cnt>0 then
  begin
    R_QRBand := QM_FindBand(rbTitle, BGColor);
    if Title.IsFontStored then
    begin
      R_Font.Assign(Title.Font);
      R_Font.Color := QM_PrintColor(self, R_Font.Color);
      R_Font.Height := Round(R_Font.Height * FScaleHT);
      R_QRBand.Font.Assign(R_Font);
      T_TextHg := QM_TextHeight(R_Font);
    end else T_TextHg := QM_TextHeight(R_RepFont);
    R_QRBand.Height := T_Cnt * (T_TextHg + rcLblSpace) - rcLblSpace + rcTBMargin;
    T_Val := 0;
    R_LineTop := R_QRBand.Height - rcTBMargin + 2;
    if PageHeader.LineType = rltDouble then R_QRBand.Height := R_QRBand.Height + 1;
    if (R_TitleHg > 0) and (ReportTitle.LinkBand = rtTitle) then
    begin
      if (ReportTitle.TitlePos = psTop) or (ReportTitle.TitlePos = psAuto) then
      begin
        T_Val := R_TitleHg;
        R_LineTop := R_LineTop + R_TitleHg;
      end
      else R_TitleTop := R_QRBand.Height + R_TitleMargin - rcTBMargin;
      R_QRBand.Height := R_QRBand.Height + R_TitleHg;
    end;
    DrawBand(Title.LeftText, 0, T_Val, false);
    DrawBand(Title.CenterText, 2, T_Val, false);
    DrawBand(Title.RightText, 1, T_Val, false);
    DrawLine(Title.LineType, R_LineTop);
  end;
  //summary
  T_Cnt := Max(Summary.LeftText.Count, Summary.CenterText.Count, Summary.RightText.Count);
  if T_Cnt>0 then
  begin
    R_QRBand := QM_FindBand(rbSummary, BGColor);
    if Summary.IsFontStored then
    begin
      R_Font.Assign(Summary.Font);
      R_Font.Color := QM_PrintColor(self, R_Font.Color);
      R_Font.Height := Round(R_Font.Height * FScaleHT);
      R_QRBand.Font.Assign(R_Font);
      T_TextHg := QM_TextHeight(R_Font);
    end else T_TextHg := QM_TextHeight(R_RepFont);
    R_QRBand.Height := T_Cnt * (T_TextHg + rcLblSpace) - rcLblSpace + rcTBMargin;
    T_Val := rcTBMargin + 1;
    if Summary.LineType = rltDouble then
    begin
      R_QRBand.Height := R_QRBand.Height + 3;
      Inc(T_Val, 3);
    end;
    if (R_TitleHg > 0) and (ReportTitle.LinkBand = rtSummary) then
    begin
      if ReportTitle.TitlePos = psTop then
        T_Val := R_TitleHg + rcTBMargin
      else R_TitleTop := R_QRBand.Height + R_TitleMargin;
      R_QRBand.Height := R_QRBand.Height + R_TitleHg;
    end;
    DrawBand(Summary.LeftText, 0, T_Val, false);
    DrawBand(Summary.CenterText, 2, T_Val, false);
    DrawBand(Summary.RightText, 1, T_Val, false);
    DrawLine(Summary.LineType, 2);
  end;
  //pagefooter
  T_Cnt := Max(PageFooter.LeftText.Count, PageFooter.CenterText.Count, PageFooter.RightText.Count);
  if T_Cnt>0 then
  begin
    R_QRBand := QM_FindBand(rbPageFooter, BGColor);
    if PageFooter.IsFontStored then
    begin
      R_Font.Assign(PageFooter.Font);
      R_Font.Color := QM_PrintColor(self, R_Font.Color);
      R_Font.Height := Round(R_Font.Height * FScaleHT);
      R_QRBand.Font.Assign(R_Font);
      T_TextHg := QM_TextHeight(R_Font);
    end else T_TextHg := QM_TextHeight(R_RepFont);
    R_QRBand.Height := T_Cnt * (T_TextHg + rcLblSpace) - rcLblSpace + rcTBMargin;
    T_Val := rcTBMargin;
    if PageFooter.LineType = rltDouble then
    begin
      R_QRBand.Height := R_QRBand.Height + 3;
      Inc(T_Val, 3);
    end;
    if (R_TitleHg > 0) and (ReportTitle.LinkBand = rtPageFooter) then
    begin
      if ReportTitle.TitlePos = psTop then
        T_Val := R_TitleHg + rcTBMargin
      else R_TitleTop := R_QRBand.Height + R_TitleMargin;
      R_QRBand.Height := R_QRBand.Height + R_TitleHg;
    end;
    DrawBand(PageFooter.LeftText, 0, T_Val, false);
    DrawBand(PageFooter.CenterText, 2, T_Val, false);
    DrawBand(PageFooter.RightText, 1, T_Val, false);
    DrawLine(PageFooter.LineType, 2);
  end;
  //reporttitle
  if R_TitleHg > 0 then
  begin
    chkBand(ReportTitle.LinkBand, R_TitleHg);
    R_Font.Assign(ReportTitle.Font);
    R_Font.Color := QM_PrintColor(self, R_Font.Color);
    R_Font.Height := Round(R_Font.Height * FScaleHT);
    T_TextHg := QM_TextHeight(R_Font);
    DrawBand(ReportTitle.Text, Integer(ReportTitle.Alignment), R_TitleTop, True);
    if R_TtlHg > 0 then
    begin
      R_Font.Assign(ReportTitle.SubTitle.Font);
      R_Font.Color := QM_PrintColor(self, R_Font.Color);
      R_Font.Height := Round(R_Font.Height * FScaleHT);
      T_TextHg := QM_TextHeight(R_Font);
      DrawBand(ReportTitle.SubTitle.Text, Integer(ReportTitle.SubTitle.Alignment), R_TitleTop + R_TtlHg, True);
    end;
  end;
  R_RepFont.Free;
  R_Font.Free;
  //logo
  if Logo.Picture.Graphic <> nil then
  begin
    chkBand(Logo.LinkBand, Logo.Picture.Height);
    case Logo.Alignment of
      taLeftJustify : T_Val := Logo.HoriAdjust;
      taCenter : T_Val := Logo.HoriAdjust + (R_LblWd + rcLRMargin * 2 - 2 - Logo.Picture.Width) div 2;
      else T_Val := Logo.HoriAdjust + (R_LblWd - Logo.Picture.Width + rcLRMargin * 2 - 2);
    end;
    DrawLogo(T_Val);
  end;
end;

function TQMReportConsole.PageSetup: Boolean;
begin
  Result := QM_PageSetup(self, True);
end;

procedure TQMReportConsole.DrawTo(QuickRep: TObject);
var
  i: Integer;
begin
  if (QuickRep <> nil) and (not (QuickRep is TQuickRep)) then Exit;
  if QuickRep = nil then
  begin
    if Owner <> nil then
      for i:=Owner.ComponentCount-1 downto 0 do
        if Owner.Components[i] is TQuickRep then
        begin
          QuickRep := TQuickRep(Owner.Components[i]);
          Break;
        end;
    if QuickRep = nil then Exit;
  end;
  QMQuickRep := TQuickRep(QuickRep);
  FNeedName := True;
  QM_ApplySetting(self);
  DrawReport();
  if R_HasPageCount then QM_ChkPageCount();
end;

procedure TQMReportConsole.ReDraw;
begin
  if QMQuickRep = nil then Exit;
  QM_ApplySetting(self);
  FNeedName := False;
  DrawReport();
  if R_HasPageCount then QM_ChkPageCount();
end;

procedure TQMReportConsole.SetLogo(const Value: TQMLogo);
begin
  FLogo.Assign(Value);
end;

function TQMReportConsole.GetRecordCount: Integer;
begin
  Result := 0;
end;

function TQMReportConsole.GetDocumentTitle: String;
begin
  if FDocumentTitle <> '' then
    Result := FDocumentTitle
  else if ReportTitle.Text.Count > 0 then
    Result :=QM_GetQMString(self, ReportTitle.Text[0]);
  //else Result := 'QReport Maker';
end;

procedure TQMReportConsole.SetSection(const Value: String);
begin
  if Trim(Value) ='' then
    FSection := ClassName + FormatDateTime('mmsszzz', time)
  else FSection := Trim(Value);
end;

{ TQMDataReport }

constructor TQMDataReport.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  case GridType of
    gtEhGrid : FGrid := TQMEhGrid.Create(self, Font);
    gtDBGrid : FGrid := TQMDBGrid.Create(self, Font);
    gtStringGrid : FGrid := TQMStringGrid.Create(self, Font);
    else FGrid := TQMGrid.Create(self, Font);
  end;
end;

destructor TQMDataReport.Destroy;
begin
  FGrid.Free;
  inherited Destroy;
end;

procedure TQMDataReport.Notification(AComponent: TComponent;
  Operation: TOperation);
begin
  inherited Notification(AComponent, Operation);
  if (Operation = opRemove) and (AComponent = FDataSet) then FDataSet := nil;
end;

procedure TQMDataReport.SetDataSet(const Value: TDataSet);
begin
  FDataSet := Value;
  if Value <> nil then Value.FreeNotification(Self);
end;

function TQMDataReport.GetData(ACol: Integer): string;
begin
  Result := '';
end;

var
  QRLabels: array of TQRLabel;

procedure TQMDataReport.OnNeedData(Sender: TObject; var MoreData: Boolean);
var
  i: Integer;
begin
  MoreData := (FCurrentIndex <= FDataRowCount);
  if MoreData then
  begin
    for i:=0 to Length(QRLabels) - 1 do

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合久久99| 不卡av在线免费观看| 亚洲女与黑人做爰| 国产精品乱码一区二区三区软件| 在线播放/欧美激情| 欧美在线免费观看视频| 成人短视频下载| av毛片久久久久**hd| 92精品国产成人观看免费| 99久久精品国产一区二区三区| 成人精品电影在线观看| 岛国av在线一区| k8久久久一区二区三区| 色婷婷精品久久二区二区蜜臂av| 国产亚洲综合av| 亚洲精品一区二区三区福利| 蜜臀久久99精品久久久久久9| 亚洲一区av在线| 亚洲福利视频一区| 五月婷婷另类国产| 另类综合日韩欧美亚洲| 国产a精品视频| 91久久人澡人人添人人爽欧美| 91黄色激情网站| 欧美一二三四区在线| 久久精品一区四区| 一区二区三区精品在线观看| 香港成人在线视频| 韩国v欧美v亚洲v日本v| aaa欧美色吧激情视频| 欧美欧美午夜aⅴ在线观看| 精品国产乱码久久久久久闺蜜 | 欧美精品一区二区久久婷婷| 久久久三级国产网站| 亚洲欧美日韩精品久久久久| 日韩国产精品久久| 成人h动漫精品一区二| 欧美视频在线一区二区三区| 久久免费视频色| 亚洲国产综合在线| 国产成人综合在线观看| 欧美体内she精视频| 国产亚洲一二三区| 首页国产丝袜综合| 成人av在线网站| 精品国产一区二区三区四区四| 亚洲天堂2014| 国产精品香蕉一区二区三区| 欧美人妖巨大在线| 亚洲欧洲国产日本综合| 久久超碰97中文字幕| 欧美影片第一页| 亚洲国产精品成人综合色在线婷婷| 午夜影院久久久| 色中色一区二区| 国产欧美视频在线观看| 美日韩一级片在线观看| 欧美色老头old∨ideo| 国产精品黄色在线观看| 韩国女主播一区| 日韩免费高清视频| 日韩激情中文字幕| 欧美视频在线观看一区二区| 亚洲欧洲韩国日本视频| 成人美女视频在线看| 337p日本欧洲亚洲大胆色噜噜| 亚洲成人福利片| 欧美羞羞免费网站| 亚洲欧美日韩系列| 色偷偷久久人人79超碰人人澡| 国产日韩欧美精品综合| 国产麻豆精品在线| 精品免费日韩av| 国产综合一区二区| 欧美精品一区男女天堂| 经典一区二区三区| 2014亚洲片线观看视频免费| 裸体在线国模精品偷拍| 日韩精品专区在线| 久久99久久精品| 久久人人爽人人爽| 国产一区在线观看麻豆| 国产三级精品视频| 成人免费视频视频| 亚洲视频每日更新| 欧美亚洲一区三区| 午夜精品久久久久影视| 91精品久久久久久久91蜜桃| 日韩电影免费在线看| 日韩欧美的一区| 国产精品一二一区| 中文字幕国产一区| 色偷偷一区二区三区| 午夜激情久久久| 日韩精品一区二区三区视频播放| 精品亚洲成a人在线观看| 久久精品视频一区| 色综合久久久网| 日韩黄色免费电影| 国产亚洲精品中文字幕| 99精品久久只有精品| 亚洲伊人色欲综合网| 日韩一区二区在线观看视频| 国产乱国产乱300精品| 亚洲免费在线看| 欧美一区二区三区人| 国产精品18久久久久久久久久久久| 中文字幕在线一区免费| 欧美日韩亚州综合| 国产一区二区免费视频| 一区二区三区免费| 亚洲精品一区二区三区99| 97精品电影院| 麻豆久久久久久| 亚洲欧美成aⅴ人在线观看| 7777精品久久久大香线蕉| 国产99精品视频| 日韩中文字幕区一区有砖一区| 国产精品视频在线看| 欧美日韩成人一区| 成人av免费网站| 久久精品国产免费看久久精品| 国产精品国产成人国产三级| 日韩午夜激情av| 欧洲一区二区三区在线| 国产精一区二区三区| 天天做天天摸天天爽国产一区| 国产欧美日韩激情| 欧美变态口味重另类| 欧美亚洲综合在线| 91在线视频观看| 国产99久久久国产精品免费看| 蜜臀av性久久久久蜜臀aⅴ四虎| 中文字幕一区三区| 26uuu国产电影一区二区| 欧美三级在线看| 99免费精品视频| 岛国av在线一区| 国产乱子伦视频一区二区三区 | 国产网红主播福利一区二区| 欧美日韩国产高清一区| 91香蕉视频黄| 成人免费毛片app| 国产精品白丝av| 国产一区二区三区国产| 免播放器亚洲一区| 日韩有码一区二区三区| 亚洲国产日韩av| 亚洲国产另类精品专区| 亚洲美女屁股眼交| 亚洲人123区| 亚洲人成精品久久久久久| 国产精品成人免费精品自在线观看| 久久人人爽人人爽| 欧美国产精品劲爆| 国产精品网站在线播放| 国产精品久久久久久久久搜平片| 国产欧美一区二区精品婷婷| 国产视频一区不卡| 国产精品久久综合| 中文字幕一区在线观看视频| 自拍视频在线观看一区二区| 久久不见久久见免费视频7| 日韩国产一区二| 麻豆视频一区二区| 国产高清亚洲一区| 不卡的av在线| 精品视频一区二区三区免费| 精品视频一区二区不卡| 日韩欧美一区二区视频| 精品裸体舞一区二区三区| 久久美女高清视频| 中文字幕一区二区日韩精品绯色| 成人欧美一区二区三区黑人麻豆 | 欧美亚日韩国产aⅴ精品中极品| 欧美在线|欧美| 欧美精品在线一区二区三区| 日韩一区二区三区观看| 欧美成人欧美edvon| 亚洲国产岛国毛片在线| 亚洲精品自拍动漫在线| 日韩电影在线观看一区| 国产最新精品精品你懂的| 成人av网在线| 91精品午夜视频| 国产亚洲美州欧州综合国| 亚洲欧美日韩中文字幕一区二区三区 | 久久嫩草精品久久久精品一| 国产欧美日韩精品一区| 亚洲国产cao| 国产盗摄一区二区| 欧美日韩在线三区| 国产日韩欧美一区二区三区综合| 一区二区三区丝袜| 另类的小说在线视频另类成人小视频在线| 国产精品一级在线| 欧美久久久久免费| 国产精品久久久久久户外露出| 日本欧美肥老太交大片| 99这里只有精品|