PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Rave com rvsystem #365962

09/11/2008

0

Olá pessoal.

estou criando um relatório no delphi 7 com rave usando o rvsystem.
no evento PrintHeader uso o seguinte

with Sender as TBaseReport do
begin
SetFont(´Courier New´,9);
Bold := True;
PrintCenter(´RELATÓRIO DE FATURAMENTEO MENSAL´,PageWidth/2);
NewLine;
PrintCenter(vRazaoSocial,PageWidth/2);
NewLine;
PrintCenter(´CNPJ: ´ + vCNPJ,PageWidth/2);
NewLine;
PrintCenter(´END: ´ + vLogradouro + ´, ´ + vBairro,PageWidth/2);
NewLine;
PrintCenter(vCidade + ´ - ´ + vUF + ´ CEP: ´ + vCEP ,PageWidth/2);
NewLine;NewLine;
SetFont(´Courier New´,10);
Bold := True;
RestoreTabs(1);
PrintTab(´Req.´);
PrintTab(´Data´);
PrintTab(´Cliente´);
PrintTab(´Professor´);
PrintTab(´Curso´);
PrintTab(´Material´);
PrintTab(´Nome do texto´);
PrintTab(´Págs.´);
PrintTab(´Cópias´);
PrintTab(´Total´);
PrintTab(´Unitário´);
PrintTab(´Valor Total ´);
NewLine;NewLine;
MoveTo(1.0,3.2);
LineTo(29.0,3.2);
MoveTo(1.0,3.8);
LineTo(29.0,3.8);
end;

no print uso o seguinte:
With Sender as TBaseReport do
begin
SetFont(´Courier New´,9);
Bold := False;
dseProcessar.First;
while not dseProcessar.Eof do
begin
RestoreTabs(1);
PrintTab(dseProcessar.FieldByName(´REQUISICAO´).AsString);
PrintTab(dseProcessar.FieldByName(´REQDATA´).AsString);
PrintTab(dseProcessar.FieldByName(´CLIFANTASIA´).AsString);
PrintTab(dseProcessar.FieldByName(´PROFESSOR´).AsString);
PrintTab(dseProcessar.FieldByName(´CURDESCRICAO´).AsString);
PrintTab(dseProcessar.FieldByName(´PRODESCRICAO´).AsString);
PrintTab(dseProcessar.FieldByName(´DESCITEM´).AsString);

{É importante que a atribuição da variável S fique
dentro do laço (loop - while)

A variável f só está aí para não quebrar a linha na hora de postar a resposta}
f := dseProcessar.FieldByName(´REIQTDPAG´).AsInteger;
s := FormatFloat(´0.´, f);
PrintTab (s);

f := dseProcessar.FieldByName(´REIQTDCOPIAS´).AsInteger;
s := FormatFloat(´0.´, f);
PrintTab(s);
f := dseProcessar.FieldByName(´QTDTOTAL´).AsInteger;
s := FormatFloat(´0.´, f);
PrintTab(s);
f := dseProcessar.FieldByName(´PROVALORUN´).AsFloat;
s := FormatFloat(´0.,00´, f);
PrintTab(s);
f := dseProcessar.FieldByName(´VALORTOTAL´).AsFloat;
s := FormatFloat(´0.,00´, f);
PrintTab(s);
f := dseProcessar.FieldByName(´TOTALGERAL´).AsVariant;
s := FormatFloat(´0.,00´, f);
dseProcessar.Next;
NewLine;

if LinesLeft<1 then
begin
MoveTo(1.0,18.5);
LineTo(29.0,18.5);
NewPage;
GotoXY(25,19);
Print(´Total Geral: R$ ´ + s);
end;
else
begin
GotoXY(25,19);
Print(´Total Geral: R$ ´ + s);
end;
end;
dseProcessar.EnableConstraints;
end;


mas tem um problema, a ultima linha, que é o total geral imprime no local correto, mas as outas linhas saeem por cima dela.
é quando muda a pagina o relatorio nao obedece a formatação da fonte. trazendo tudo em negrito


Welder.

Welder.

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar