print.pas

来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 558 行 · 第 1/2 页

PAS
558
字号
          userdefinereport.QRBand3.Height:=26;
          userdefinereport.QRBand2.Height:=24;
          while not datamod.adosalprint.Eof do
          begin
             //*****************//
             qrshape[i]:=tqrshape.Create(self);
             qrshape[i].parent:=userdefinereport.qrband3;
             qrshape[i].Shape:=qrsvertline;
             qrshape[i].Width:=7;
             qrshape[i].Height:=userdefinereport.QRBand3.Height;
             qrshape[i].Top:=userdefinereport.Top;
             qrshape[i].Pen.Style:=pssolid;
             qrshape[i].Left:=qleft-8;
             qrshape[i].Show;
             qrLabel[i]:=TQRLabel.Create(self);
             qrLabel[i].parent:=userdefinereport.QRBand3;
             qrLabel[i].Caption:=datamod.ADOsalprint.fieldbyname('salname').asstring;
             if checkbox4.checked then
             begin
                qrlabel[i].Font.Name:=fontcombobox1.FontName;
                qrlabel[i].Font.Size:=strtoint(combofontsize.text);
             end;
             if checkbox5.checked then
                qrLabel[i].Font.Color:=ColorComboBox1.ColorValue;
             qrLabel[i].Top:=qtop;
             qrLabel[i].Left:=qleft;
             qrLabel[i].Show;
             //******************//
             qrtext[i]:=TQrDbText.Create(self);
             qrtext[i].Parent:=userdefinereport.QRBand2;
             if checkbox4.checked then
             begin
                qrtext[i].Font.Name:=fontcombobox1.FontName;
                qrtext[i].Font.Size:=strtoint(Combofontsize.text);
             end;
             if checkbox5.checked then
                qrtext[i].Font.Color:=ColorComboBox1.ColorValue;
             qrtext[i].Top:=qtop-7;
             qrtext[i].Left:=qleft ;
             qrtext[i].DataSet:=adodataset1;
             qrtext[i].DataField:=datamod.adosalprint.fieldbyname('salenglish').asstring;
            // if (adodataset1.FieldDefs.Items[p[i]].DataType=ftSmallInt) or (adodataset1.FieldDefs.Items[p[i]].DataType=ftInteger) or
               // (adodataset1.FieldDefs.Items[p[i]].DataType=ftWord) or (adodataset1.FieldDefs.Items[p[i]].DataType=ftBCD) then
             qrtext[i].Alignment:=taLeftJustify;
             qrtext[i].Show;
             qleft:=qleft+datamod.ADOsalprint.fieldbyname('wight').asinteger;
             datamod.ADOsalprint.Next;

             inc(i);
          end;
             qrshape[i]:=tqrshape.Create(self);
             qrshape[i].parent:=userdefinereport.qrband3;
             qrshape[i].Shape:=qrsvertline;
             qrshape[i].Width:=7;
             qrshape[i].Height:=userdefinereport.QRBand3.Height;
             qrshape[i].Top:=userdefinereport.Top;
             qrshape[i].Pen.Style:=pssolid;
             qrshape[i].Left:=qleft-8;
             qrshape[i].Show;
             inc(i);
          datamod.adosalprint.First;
          while not datamod.adosalprint.Eof do  //报表明细的隔线
          begin
             //*****************//
             qrshape[i]:=tqrshape.Create(self);
             qrshape[i].parent:=userdefinereport.QRBand2;
             qrshape[i].Shape:=qrsvertline;
             qrshape[i].Width:=7;
             qrshape[i].Height:=userdefinereport.QRBand2.Height-4;
             qrshape[i].Top:=userdefinereport.Top-1;
             qrshape[i].Pen.Style:=pssolid;
             qrshape[i].Left:=qleft1-3;
             qrshape[i].Show;
             qleft1:=qleft1+datamod.ADOsalprint.fieldbyname('wight').asinteger;
             datamod.ADOsalprint.Next;
             inc(i);
          end;
             qrshape[i]:=tqrshape.Create(self);             //报表明细的最后一条竖
             qrshape[i].parent:=userdefinereport.qrband2;
             qrshape[i].Shape:=qrsvertline;
             qrshape[i].Width:=7;
             qrshape[i].Height:=userdefinereport.QRBand2.Height-3;
             qrshape[i].Top:=userdefinereport.Top-1;
             qrshape[i].Pen.Style:=pssolid;
             qrshape[i].Left:=qleft1-3;
             qrshape[i].Show;
             inc(i);
          qrshape[i]:=tqrshape.Create(self);
          qrshape[i].parent:=userdefinereport.qrband3;
          qrshape[i].Shape:=qrshorline;
          qrshape[i].height:=7;
          qrshape[i].width:=qleft-4;
          qrshape[i].Top:=userdefinereport.Top-3;
          qrshape[i].Pen.Style:=pssolid;
          qrshape[i].Left:=5-5;
          qrshape[i].Show;
          inc(i);
          qrshape[i]:=tqrshape.Create(self);     //报表明细的横线
          qrshape[i].parent:=userdefinereport.qrband2;
          qrshape[i].Shape:=qrshorline;
          qrshape[i].height:=7;
          qrshape[i].width:=qleft1;
          qrshape[i].Top:=userdefinereport.Top+userdefinereport.qrband2.Height-9;
          qrshape[i].Pen.Style:=pssolid;
          qrshape[i].Left:=5-5;
          qrshape[i].Show;
          inc(i);
          qrshape[i]:=tqrshape.Create(self);
          qrshape[i].parent:=userdefinereport.qrband3;
          qrshape[i].Shape:=qrshorline;
          qrshape[i].height:=7;
          qrshape[i].width:=qleft-4;
          qrshape[i].Top:=userdefinereport.Top+userdefinereport.QRBand3.Height-4;
          qrshape[i].Pen.Style:=pssolid;
          qrshape[i].Left:=5-5;
          qrshape[i].Show;
        end
        else
        begin
          setlength(qrshape,j+7);
          while not datamod.adosalprint.Eof do  //报表明细的隔线
          begin
             //*****************//
             userdefinereport.QRBand3.Visible:=false;
             userdefinereport.QRBand2.Height:=58;
             qrshape[i]:=tqrshape.Create(self);
             qrshape[i].parent:=userdefinereport.QRBand2;
             qrshape[i].Shape:=qrsvertline;
             qrshape[i].Width:=7;
             qrshape[i].Height:=userdefinereport.QRBand2.Height-7;
             qrshape[i].Top:=userdefinereport.Top-1;
             qrshape[i].Pen.Style:=pssolid;
             qrshape[i].Left:=qleft-8;
             qrshape[i].Show;
             qrLabel[i]:=TQRLabel.Create(self);
             qrLabel[i].parent:=userdefinereport.qrband2;
             qrLabel[i].Caption:=datamod.ADOsalprint.fieldbyname('salname').asstring;
             if checkbox4.checked then
             begin
                qrlabel[i].Font.Name:=fontcombobox1.FontName;
                qrlabel[i].Font.Size:=strtoint(combofontsize.text);
             end;
             if checkbox5.checked then
                qrLabel[i].Font.Color:=ColorComboBox1.ColorValue;
             qrLabel[i].Top:=qtop;
             qrLabel[i].Left:=qleft;
             qrLabel[i].Show;
             //******************//
             qrtext[i]:=TQrDbText.Create(self);
             qrtext[i].Parent:=userdefinereport.QRBand2;
             if checkbox4.checked then
             begin
                qrtext[i].Font.Name:=fontcombobox1.FontName;
                qrtext[i].Font.Size:=strtoint(Combofontsize.text);
             end;
             if checkbox5.checked then
                qrtext[i].Font.Color:=ColorComboBox1.ColorValue;
             qrtext[i].Top:=qtop+23;
             qrtext[i].Left:=qleft ;
             qrtext[i].DataSet:=adodataset1;
             qrtext[i].DataField:=datamod.adosalprint.fieldbyname('salenglish').asstring;
            // if (adodataset1.FieldDefs.Items[p[i]].DataType=ftSmallInt) or (adodataset1.FieldDefs.Items[p[i]].DataType=ftInteger) or
               // (adodataset1.FieldDefs.Items[p[i]].DataType=ftWord) or (adodataset1.FieldDefs.Items[p[i]].DataType=ftBCD) then
             qrtext[i].Alignment:=taLeftJustify;
             qrtext[i].Show;
             qleft:=qleft+datamod.ADOsalprint.fieldbyname('wight').asinteger;
             datamod.ADOsalprint.Next;

             inc(i);
          end;
             qrshape[i]:=tqrshape.Create(self);                //报表明细的最后一条竖
             qrshape[i].parent:=userdefinereport.QRBand2;
             qrshape[i].Shape:=qrsvertline;
             qrshape[i].Width:=7;
             qrshape[i].Height:=userdefinereport.QRBand2.Height-7;
             qrshape[i].Top:=userdefinereport.Top-1;
             qrshape[i].Pen.Style:=pssolid;
             qrshape[i].Left:=qleft-8;
             qrshape[i].Show;
             inc(i);
          qrshape[i]:=tqrshape.Create(self);
          qrshape[i].parent:=userdefinereport.qrband2;
          qrshape[i].Shape:=qrshorline;
          qrshape[i].height:=7;
          qrshape[i].width:=qleft-4;
          qrshape[i].Top:=userdefinereport.Top-4;
          qrshape[i].Pen.Style:=pssolid;
          qrshape[i].Left:=5-5;
          qrshape[i].Show;
          inc(i);
          qrshape[i]:=tqrshape.Create(self);     //报表明细的横线
          qrshape[i].parent:=userdefinereport.qrband2;
          qrshape[i].Shape:=qrshorline;
          qrshape[i].height:=7;
          qrshape[i].width:=qleft-4;
          qrshape[i].Top:=userdefinereport.Top+userdefinereport.qrband2.Height-12;
          qrshape[i].Pen.Style:=pssolid;
          qrshape[i].Left:=5-5;
          qrshape[i].Show;
          inc(i);
          qrshape[i]:=tqrshape.Create(self);
          qrshape[i].parent:=userdefinereport.qrband2;
          qrshape[i].Shape:=qrshorline;
          qrshape[i].height:=7;
          qrshape[i].width:=qleft-4;
          qrshape[i].Top:=userdefinereport.Top+23+2;
          qrshape[i].Pen.Style:=pssolid;
          qrshape[i].Left:=5-5;
          qrshape[i].Show;
          inc(i);
          qrshape[i]:=tqrshape.Create(self);     //报表明细的最后一条横线
          qrshape[i].parent:=userdefinereport.qrband2;
          qrshape[i].Shape:=qrshorline;
          qrshape[i].height:=7;
          qrshape[i].width:=userdefinereport.Width;
          qrshape[i].Top:=userdefinereport.Top+userdefinereport.qrband2.Height-5;
          qrshape[i].Pen.Style:=psdot;
          qrshape[i].Left:=-10;
          qrshape[i].Show;
        end;
        qruser:=TQRLabel.create(self);
        qruser.parent:=userdefinereport.QRBand5;
        qruser.caption:='制表人:'+pubworkname;
        qruser.Font.color:=clpurple;
        qruser.Top:=10;
        qruser.left:=50;
        qruser.show;
        qrtime:=TQRLabel.create(self);
        qrtime.parent:=userdefinereport.QRBand5;
        qrtime.caption:='制表日期:'+formatdatetime('yyyy/mm/dd hh:mm:ss',now);
        qrtime.font.color:=clpurple;
        qrtime.top:=10;
        qrtime.left:=userdefinereport.Width-350;
        qrtime.show;
        if checkbox1.Checked then
         userdefinereport.QRLabel3.Caption:=edit2.Text;
        userdefinereport.Preview;
     finally
        userdefinereport.free;
     end;
     datamod.ADOsalprint.EnableControls;
end;

procedure TFormprint.ListBox1DblClick(Sender: TObject);
var i:integer;
begin
  if trim(edit1.text)='' then
  begin
    application.MessageBox('请指定宽度','提示',mb_ok);
    exit;
  end
  else
  begin
        adoquery1.Close;
        adoquery1.sql.Clear;
        adoquery1.SQL.Add('select * from salprint where salname='''+listbox1.Items[listbox1.itemindex]+''' and formname='''+formmain.form+'''');
        adoquery1.open;
        if adoquery1.eof then
        begin
         try
          adoquery1.Close;
          adoquery1.sql.Clear;
          adoquery1.SQL.Text:='select name from syssalfields where changechinename='''+trim(listbox1.items[listbox1.itemindex])+'''';
          adoquery1.Open;
          datamod.adosalprint.insert;
          datamod.adosalprint.fieldbyname('salname').asstring:=trim(listbox1.items[listbox1.itemindex]);
          datamod.ADOsalprint.fieldbyname('formname').asstring:=formmain.form;
          datamod.adosalprint.fieldbyname('salenglish').asstring:=adoquery1.fieldbyname('name').asstring;
          datamod.adosalprint.FieldByName('wight').asinteger:=strtoint(edit1.text);
          datamod.ADOsalprint.Post;
         except
          application.MessageBox('出现相同的字段名!','提示',mb_ok);
         end;
        end;
  end;
end;

end.

⌨️ 快捷键说明

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