A
aolo
Unregistered / Unconfirmed
GUEST, unregistred user!
我现在做一个收费系统,现在需要对一个单位的用户收费(集体费用),此单位每个用户信息在StringGrid中列出,每个用户需要打印一张发票,如何连续打印?!
begin
if messagedlg('确定要打印发票吗?',mtInformation,[mbyes,mbno],0)=mryes then
begin
with catvdatamodule.QueryPublicdo
begin
close;
sql.clear;
sql.add('select * from userCardDetails where name='''+leftstr(operator.CardID,1)+'''');
open;
//初始化打印内容
if not eof then
formprintp.QRName.Caption :=fieldbyname('memo').AsString+'分公司'
else
FormPrintP.QRName.Caption := '';
formprintp.QRLabel14.Caption:=operator.name ;
formprintp.QRYear.Caption :=leftstr(formatdatetime('yyyy-mm-dd',date),4);
formprintp.QRMonth.Caption :=midstr(formatdatetime('yyyy-mm-dd',date),6,2);
formprintp.QRDay.Caption :=rightstr(formatdatetime('yyyy-mm-dd',date),2);
FormPrintP.QRBillID.Caption := '';
FormPrintP.QRSerial.Caption := '';
formprintp.QRLabel19.Caption:='';
formprintp.QRLabel20.Caption:='';
formprintp.QRLabel21.Caption:='';
formprintp.QRLabel22.Caption:='';
formprintp.QRLabel23.Caption:='';
m:=strtoint(ComboBoxMonth.Text);
n:=m*strtoint(EditToll.Text);
f:=inttostr;
formprintp.QRCapital.Caption :=CreateCandStr(strtofloat(f));
for i:=1 to stringgrid1.RowCount-1do
begin
formprintp.QRLabel10.Caption:=stringgrid1.Cells[2,i];
formprintp.QRLabel9.Caption:=stringgrid1.Cells[0,i];
formprintp.QRLabel5.Caption:=stringgrid1.Cells[6,i];
formprintp.QRLabel12.Caption:=inttostr ;
formprintp.QRLabel11.Caption:='集团收费';
formprintp.QRLabel2.Caption := inttostr ;
formprintp.QRLabel7.Caption := '0.00';
formprintp.QRLabel8.Caption:='';
formprintp.QRLabel15.Caption:='';
formprintp.QRLabel13.Caption:='0.00';
formprintp.qrlabel17.caption:=comboboxtollfs.Text ;
FormPrintP.QRLabel5.Caption := '';
formprintp.QRMemo.Caption := edittollmemo.Text +' '+editcheapmemo.Text ;
formprintp.QuickRep1.Preview ;
end;
end;
end;
end;
end.
这样做的结果是显示很多张报表预览窗口,一个用户一张,而我需要所有用户都在一张报表上,如何写代码?
begin
if messagedlg('确定要打印发票吗?',mtInformation,[mbyes,mbno],0)=mryes then
begin
with catvdatamodule.QueryPublicdo
begin
close;
sql.clear;
sql.add('select * from userCardDetails where name='''+leftstr(operator.CardID,1)+'''');
open;
//初始化打印内容
if not eof then
formprintp.QRName.Caption :=fieldbyname('memo').AsString+'分公司'
else
FormPrintP.QRName.Caption := '';
formprintp.QRLabel14.Caption:=operator.name ;
formprintp.QRYear.Caption :=leftstr(formatdatetime('yyyy-mm-dd',date),4);
formprintp.QRMonth.Caption :=midstr(formatdatetime('yyyy-mm-dd',date),6,2);
formprintp.QRDay.Caption :=rightstr(formatdatetime('yyyy-mm-dd',date),2);
FormPrintP.QRBillID.Caption := '';
FormPrintP.QRSerial.Caption := '';
formprintp.QRLabel19.Caption:='';
formprintp.QRLabel20.Caption:='';
formprintp.QRLabel21.Caption:='';
formprintp.QRLabel22.Caption:='';
formprintp.QRLabel23.Caption:='';
m:=strtoint(ComboBoxMonth.Text);
n:=m*strtoint(EditToll.Text);
f:=inttostr;
formprintp.QRCapital.Caption :=CreateCandStr(strtofloat(f));
for i:=1 to stringgrid1.RowCount-1do
begin
formprintp.QRLabel10.Caption:=stringgrid1.Cells[2,i];
formprintp.QRLabel9.Caption:=stringgrid1.Cells[0,i];
formprintp.QRLabel5.Caption:=stringgrid1.Cells[6,i];
formprintp.QRLabel12.Caption:=inttostr ;
formprintp.QRLabel11.Caption:='集团收费';
formprintp.QRLabel2.Caption := inttostr ;
formprintp.QRLabel7.Caption := '0.00';
formprintp.QRLabel8.Caption:='';
formprintp.QRLabel15.Caption:='';
formprintp.QRLabel13.Caption:='0.00';
formprintp.qrlabel17.caption:=comboboxtollfs.Text ;
FormPrintP.QRLabel5.Caption := '';
formprintp.QRMemo.Caption := edittollmemo.Text +' '+editcheapmemo.Text ;
formprintp.QuickRep1.Preview ;
end;
end;
end;
end;
end.
这样做的结果是显示很多张报表预览窗口,一个用户一张,而我需要所有用户都在一张报表上,如何写代码?