⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cgjhbb.~pas

📁 已经给出使用的每个SQL Server数据库
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
begin
  justify := pjleft;
  with Sender as TBaseRePort do
  begin
    zbj := (PageWidth-Rowzdkd)/2;
    SetFont(TitleFont.RFontName,TitleFont.RFontSize);
    FontColor := TitleFont.RFontColor;
    if (fsBold in TitleFont.RFontStyle) then
      Bold := True
    else
      Bold := False;
    if (fsUnderline	 in TitleFont.RFontStyle) then
      underline := True
    else
      underline := False;
    if (fsItalic	 in TitleFont.RFontStyle) then
      Italic := True
    else
      Italic := False;
    if (fsStrikeOut	in TitleFont.RFontStyle) then
      Strikeout := True
    else
      Strikeout := False;
    ypos := Content.TitleHeight;
    PrintCenter('采购进货报表',PageWidth/2);
    setFont(BtFont.RFontName,BtFont.RFontSize);
    FontColor := BtFont.RFontColor;
    if (fsBold in BtFont.RFontStyle) then
      Bold := True
    else
      Bold := False;
    if (fsUnderline	 in BtFont.RFontStyle) then
      underline := True
    else
      underline := False;
    if (fsItalic	 in BtFont.RFontStyle) then
      Italic := True
    else
      Italic := False;
    if (fsStrikeOut	in BtFont.RFontStyle) then
      Strikeout := True
    else
      Strikeout := False;
    ypos := ypos+Content.BtHeight ;
    printLeft('操作员姓名:',zbj);
    printleft(Trim(czyxx.czymc),Content.Czyjj+zbj);
    PrintRight(FormatDateTime('yyyy-mm-dd',Now),zbj+Rowzdkd);
    printRight('时间:',zbj+Rowzdkd-Content.sjjj);
    ypos := ypos+Content.Bgjj;
    m:= zds mod Cols;
    n:= zds div Cols;
    if m<>0 then
      n:=n+1;//n记录需要折几行
    For i:=0 to n-1 do
    begin
      Cleartabs;
      setFont(BgtitleFont.RFontName,BgtitleFont.RFontSize);
      FontColor := BgtitleFont.RFontColor;
      if (fsBold in BgTitleFont.RFontStyle) then
        Bold := True
      else
        Bold := False;
      if (fsUnderline	 in BgTitleFont.RFontStyle) then
        underline := True
      else
        underline := False;
      if (fsItalic in BgTitleFont.RFontStyle) then
        Italic := True
      else
        Italic := False;
      if (fsStrikeOut	in BgTitleFont.RFontStyle) then
        Strikeout := True
      else
        Strikeout := False;
      setpen(clblack,pssolid,1,pmcopy);
      settab(zbj,pjcenter,Azdkd[Cols*i],0,boxlineall,0);//在折行时,第一个字段的宽度等于每行的列数*行号(第一行行号为0)
      if i <>n-1 then //不是最后一行
        if Cols = 1 then
          tab(-2,-2,-2,-2,10)
        else
          tab(-2,Na,-2,-2,10)
      else
      begin
        if m<>0 then
        begin
          if (Cols = 1) then  //每行只有一列
            tab(-2,-2,-2,-2,10)
          else if m=1 then
            tab(-2,-2,-2,-2,10)
          else
            tab(-2,na,-2,-2,10);
        end
        else
        begin
          if Cols = 1 then
            tab(-2,-2,-2,-2,10)
          else
            tab(-2,Na,-2,-2,10)
        end;
      end;
      Print(Azdmc[Cols*i]);
      if Cols<>1 then
        if m=0 then //折行时最后一行字段数等于指定的字段数
        begin
          For l:=1 to Cols-1 do
          begin
            settab(na,pjcenter,Azdkd[Cols*i+l],0,boxlineall,0);
              if l=Cols-1 then
                tab(na,-2,-2,-2,10)
              else
                tab(na,Na,-2,-2,10);
            Print(Azdmc[Cols*i+l]);
          end;
        end
        else //折行时最后一行字段数不等于指定的字段数
        begin
          if i= n-1 then //最后一行
            For l :=1 to m-1 do
            begin
              if m>0 then
              begin
                settab(na,pjcenter,Azdkd[Cols*i+l],0,boxlineall,0);
                  if l=m-1 then
                    tab(na,-2,-2,-2,10)
                  else
                    tab(na,Na,-2,-2,10);
                Print(Azdmc[Cols*i+l]);
              end;
            end
          else
          begin
            For l := 1 to Cols-1 do
            begin
              settab(na,pjcenter,Azdkd[Cols*i+l],0,boxlineall,0);
                if l=cols-1 then
                  tab(na,-2,-2,-2,10)
                else
                  tab(na,na,-2,-2,10);
              Print(Azdmc[Cols*i+l]);
            end;
          end;
        end;
      ClearTabs;
      setFont(BgFont.RFontName,BgFont.RFontSize);
      FontColor := BgFont.RFontColor;
      if (fsBold in BgFont.RFontStyle) then
        Bold := True
      else
        Bold := False;
      if (fsUnderline	 in BgFont.RFontStyle) then
        underline := True
      else
        underline := False;
      if (fsItalic	 in BgFont.RFontStyle) then
        Italic := True
      else
        Italic := False;
      if (fsStrikeOut	in BgFont.RFontStyle) then
        Strikeout := True
      else
        Strikeout := False;
      Case Content.Bgdqfs of
        0: Justify := pjLeft;
        1: Justify := pjRight;
        2: Justify := pjCenter;
      end;
      settab(zbj,Justify,Azdkd[Cols*i],0,boxlineall,0);
      if Cols<>1 then
        if m=0 then //折行时最后一行字段数等于指定的字段数
        begin
          For l:=1 to Cols-1 do
          begin
            settab(na,Justify,Azdkd[Cols*i+l],0,boxlineall,0);
          end;
        end
        else //折行时最后一行字段数不等于指定的字段数
        begin
          if i= n-1 then //最后一行
          begin
            if m>1 then
              For l :=1 to m-1 do
                settab(na,Justify,Azdkd[Cols*i+l],0,boxlineall,0);
          end
          else
          begin
            For l := 1 to Cols-1 do
              settab(na,Justify,Azdkd[Cols*i+l],0,boxlineall,0);
          end;
        end;
      Data.Query2.First;
      println('');
      while Not Data.Query2.Eof do
      begin
        if m = 0 then
        begin
          For l:=0 to Cols-1 do
          begin
            if l=0 then//第一列
              if Cols<>1 then
                Tab(-2,na,na,na,0)
              else
                Tab(-2,-2,na,na,0)
            else if l=Cols-1 then //最后一列
              Tab(na,-2,na,na,0)
            else
              Tab(na,na,na,na,0);
            Print(Data.Query2.Fields[i*Cols+l].AsString);
          end;
        end
        else
        begin
          if i = n-1 then
          begin
            For l :=0 to m-1 do
            begin
              if l=0 then //第一列
                if m>1 then
                  Tab(-2,na,na,na,0)
                else
                  Tab(-2,-2,na,na,0)
              else if l=m-1 then //最后一列
                Tab(na,-2,na,na,0)
              else
                Tab(na,na,na,na,0);
              Print(Data.Query2.Fields[i*Cols+l].AsString);
            end;
          end
          else
          begin
            For l :=0 to Cols-1 do
            begin
              if l=0 then //第一列
                Tab(-2,na,na,na,0)
              else if l=Cols-1 then //最后一列
                Tab(na,-2,na,na,0)
              else
                Tab(na,na,na,na,0);
              Print(Data.Query2.Fields[i*Cols+l].AsString);
            end;
          end;
        end;
        Println('');
        Data.Query2.Next;
      end;
    end;
  end;
end;

procedure Tf_cgjhbb.dyClick(Sender: TObject);
begin
  Rprinter.Execute;
end;

procedure Tf_cgjhbb.ylClick(Sender: TObject);
begin
  Application.CreateForm(Tf_cgjhdysz,f_cgjhdysz);
  f_cgjhdysz.ShowModal;
  f_cgjhdysz.Free;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -