Rave Reports Meia Folha [Resolvido]

23/03/2013

2

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

Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira