QuickReport NewPage
[quote:24034904ef=´Carlos Alberto Machado´]
Uso Delphi 5 e QuickReport 6.2
Tentando fazer o meu relatorio (ver mensagem de 18 OUT 2004) escrevi a seguinte trecho de programação no evento AfterPrint d banda ChildBand1 do relatorio
Só que agora surgiu um novo problema. Com este código a segunda folha criada com o comando NewPage é preenchida corretamente, com a formatação correta visualmente. Porem quando imprir tive um susto. As páginas criadas dioretamente pelo QuickReport sairam perfeitas porem as páginas criadas pela procedure acima sairam totalmente diferentes da visualização. Os textos gerados pelo Canvas.TextOut sairam todas junto a margem superior a esquerda soprepostas inclusive dentro da área do cabeçalho.
O que esta ocorrendo e qual a solução pois a intenção de se fazer um relatório é a impressao
Abraços
[/quote:24034904ef]
Uso Delphi 5 e QuickReport 6.2
Tentando fazer o meu relatorio (ver mensagem de 18 OUT 2004) escrevi a seguinte trecho de programação no evento AfterPrint d banda ChildBand1 do relatorio
procedure TFrm_Rel_RegT.ChildBand1AfterPrint(Sender: TQRCustomBand; BandPrinted: Boolean); var i : integer; campo : integer; altura : integer; begin if NPage then begin QuickRep2.NewPage; QuickRep2.QRPrinter.Canvas.Font.Style:=[fsBold]; QuickRep2.QRPrinter.Canvas.TextOut(207, 150, ´Primers´); QuickRep2.QRPrinter.Canvas.TextOut(310, 150, ´Alelo 1´); QuickRep2.QRPrinter.Canvas.TextOut(405, 150, ´Alelo 2´); QuickRep2.QRPrinter.Canvas.Font.Style:=[]; altura := 1; campo := Pag_term + 2; for i := indice + 1 to ((Table1.FieldCount - 3) div 2) - 1 do begin if Table1.Fields[campo].AsString <> ´´ then begin QuickRep2.QRPrinter.Canvas.TextOut(207, 150 + 30 * altura, Principal.DBGrid1.Columns[campo].Title.Caption); QuickRep2.QRPrinter.Canvas.TextOut(310, 150 + 30 * altura, Frm_Rel_RegT.Table1.Fields[campo].Value); QuickRep2.QRPrinter.Canvas.TextOut(405, 150 + 30 * altura, Frm_Rel_RegT.Table1.Fields[campo + 1].Value); inc(altura); end; inc(campo, 2); end; end; NPage := False; end;
Só que agora surgiu um novo problema. Com este código a segunda folha criada com o comando NewPage é preenchida corretamente, com a formatação correta visualmente. Porem quando imprir tive um susto. As páginas criadas dioretamente pelo QuickReport sairam perfeitas porem as páginas criadas pela procedure acima sairam totalmente diferentes da visualização. Os textos gerados pelo Canvas.TextOut sairam todas junto a margem superior a esquerda soprepostas inclusive dentro da área do cabeçalho.
O que esta ocorrendo e qual a solução pois a intenção de se fazer um relatório é a impressao
Abraços
[/quote:24034904ef]
Carlos Machado
Curtidas 0
Respostas
Carlos Machado
21/10/2004
[quote:74b5137fda=´Carlos Alberto Machado´][quote:74b5137fda=´Carlos Alberto Machado´]
Sobe
Estou ainda com o problema. Descobrir que o problema esta na ´resolução´ diferente entre a tela e a impressora. Fiz um teste alterando os valores em
os valores de X e Y so que quando alterado imprime correto mas nao é visualizado corretamente. Ai tentei usar o comando GetDeviceCaps mas nao conseguir. Alguem tem alguma ideia?
Uso Delphi 5 e QuickReport 6.2
Tentando fazer o meu relatorio (ver mensagem de 18 OUT 2004) escrevi a seguinte trecho de programação no evento AfterPrint d banda ChildBand1 do relatorio
Só que agora surgiu um novo problema. Com este código a segunda folha criada com o comando NewPage é preenchida corretamente, com a formatação correta visualmente. Porem quando imprir tive um susto. As páginas criadas dioretamente pelo QuickReport sairam perfeitas porem as páginas criadas pela procedure acima sairam totalmente diferentes da visualização. Os textos gerados pelo Canvas.TextOut sairam todas junto a margem superior a esquerda soprepostas inclusive dentro da área do cabeçalho.
O que esta ocorrendo e qual a solução pois a intenção de se fazer um relatório é a impressao
Abraços
[/quote:74b5137fda][/quote:74b5137fda]
Sobe
Estou ainda com o problema. Descobrir que o problema esta na ´resolução´ diferente entre a tela e a impressora. Fiz um teste alterando os valores em
QuickRep2.QRPrinter.Canvas.TextOut(405, 150, ´Alelo 2´);
os valores de X e Y so que quando alterado imprime correto mas nao é visualizado corretamente. Ai tentei usar o comando GetDeviceCaps mas nao conseguir. Alguem tem alguma ideia?
Uso Delphi 5 e QuickReport 6.2
Tentando fazer o meu relatorio (ver mensagem de 18 OUT 2004) escrevi a seguinte trecho de programação no evento AfterPrint d banda ChildBand1 do relatorio
procedure TFrm_Rel_RegT.ChildBand1AfterPrint(Sender: TQRCustomBand; BandPrinted: Boolean); var i : integer; campo : integer; altura : integer; begin if NPage then begin QuickRep2.NewPage; QuickRep2.QRPrinter.Canvas.Font.Style:=[fsBold]; QuickRep2.QRPrinter.Canvas.TextOut(207, 150, ´Primers´); QuickRep2.QRPrinter.Canvas.TextOut(310, 150, ´Alelo 1´); QuickRep2.QRPrinter.Canvas.TextOut(405, 150, ´Alelo 2´); QuickRep2.QRPrinter.Canvas.Font.Style:=[]; altura := 1; campo := Pag_term + 2; for i := indice + 1 to ((Table1.FieldCount - 3) div 2) - 1 do begin if Table1.Fields[campo].AsString <> ´´ then begin QuickRep2.QRPrinter.Canvas.TextOut(207, 150 + 30 * altura, Principal.DBGrid1.Columns[campo].Title.Caption); QuickRep2.QRPrinter.Canvas.TextOut(310, 150 + 30 * altura, Frm_Rel_RegT.Table1.Fields[campo].Value); QuickRep2.QRPrinter.Canvas.TextOut(405, 150 + 30 * altura, Frm_Rel_RegT.Table1.Fields[campo + 1].Value); inc(altura); end; inc(campo, 2); end; end; NPage := False; end;
Só que agora surgiu um novo problema. Com este código a segunda folha criada com o comando NewPage é preenchida corretamente, com a formatação correta visualmente. Porem quando imprir tive um susto. As páginas criadas dioretamente pelo QuickReport sairam perfeitas porem as páginas criadas pela procedure acima sairam totalmente diferentes da visualização. Os textos gerados pelo Canvas.TextOut sairam todas junto a margem superior a esquerda soprepostas inclusive dentro da área do cabeçalho.
O que esta ocorrendo e qual a solução pois a intenção de se fazer um relatório é a impressao
Abraços
[/quote:74b5137fda][/quote:74b5137fda]
GOSTEI 0