Rave Reports Meia Folha [Resolvido]
23/03/2013
0
Senhores
Decidi escrever a todos sobre um assunto que ainda tras muita confusão aos programadores.
Venho lendo coisas antigas e percebi que o assunto de SetPaperSize(DMPAPPER_USER, 0,0) não funciona.
Na realidade a coisa funciona sim, o que faltou alguem nos dizer é que só funciona quando a unidade de medida
do relatorio for em polegadas, o que muitos brasileiros não usam, pois nossa medida padrão é o Centimetro ou milimetro,
sendo assim, se voce mudar a propriedade Units=cnInch e UnitsFactor:=1, basta usar o SetPaperSize(DMPAPPER_USER, 8,5.5)
ou seja 8 pol, 5.5 pol vai funcionar direitinho.
Como eu uso o RvSystem para escrever o relatório e tenho a preferencia de fazer o relatório em milimetros, não tenho nenhuma dificuldade pois no evento OnBeforePrint eu determino da seguinte forma:
procedure TDmRvSystem.Rv_RelatorioBeforePrint(Sender: TObject);
begin
with Sender as TBaseReport do begin
Units:=unInch;
UnitsFactor:=1;
SetPaperSize(DMPAPER_USER, 8, 5.5);
Units:=unMM;
UnitsFactor:=25.4;
End;
end;
Espero que tenha ajudado a nação internetiana.
Abraço a todos
Decidi escrever a todos sobre um assunto que ainda tras muita confusão aos programadores.
Venho lendo coisas antigas e percebi que o assunto de SetPaperSize(DMPAPPER_USER, 0,0) não funciona.
Na realidade a coisa funciona sim, o que faltou alguem nos dizer é que só funciona quando a unidade de medida
do relatorio for em polegadas, o que muitos brasileiros não usam, pois nossa medida padrão é o Centimetro ou milimetro,
sendo assim, se voce mudar a propriedade Units=cnInch e UnitsFactor:=1, basta usar o SetPaperSize(DMPAPPER_USER, 8,5.5)
ou seja 8 pol, 5.5 pol vai funcionar direitinho.
Como eu uso o RvSystem para escrever o relatório e tenho a preferencia de fazer o relatório em milimetros, não tenho nenhuma dificuldade pois no evento OnBeforePrint eu determino da seguinte forma:
procedure TDmRvSystem.Rv_RelatorioBeforePrint(Sender: TObject);
begin
with Sender as TBaseReport do begin
Units:=unInch;
UnitsFactor:=1;
SetPaperSize(DMPAPER_USER, 8, 5.5);
Units:=unMM;
UnitsFactor:=25.4;
End;
end;
Espero que tenha ajudado a nação internetiana.
Abraço a todos
Jose Narezzi
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)