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 + -
显示快捷键?