PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum QuickReport NewPage #255283

21/10/2004

0

[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

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

Carlos Machado

Responder

Posts

23/10/2004

Carlos Machado

[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

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]


Responder

Gostei + 0

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

Aceitar