Rave - Exemplo de impressao via codigo baseado numa tabela

Top  Previous  Next

// coloque um TTable na tela e aponte para uma tabela. 

 

procedure TForm1.Button1Click(Sender: TObject);

begin

   RvSystem1.SystemPrinter.Units        := unCM;  // Todas as medidas serao em Centimetros

   RvSystem1.SystemPrinter.MarginTop    := 1;     // 1 Centimetro

   RvSystem1.SystemPrinter.MarginBottom := 1;     // Idem

   RvSystem1.SystemPrinter.MarginRight  := 1;     // Idem

   RvSystem1.SystemPrinter.MarginLeft   := 1;     // Idem

   RvSystem1.Execute;

end;

 

procedure TForm1.RvSystem1Print(Sender: TObject);

begin

  Tb.Open;

  with Sender as TBaseReport do

  begin

    while not tb.EOF do

    begin

      if LinesLeft < 1 then NewPage;

      PrintXY( 1,YPos,TbCODIGO.asString);

      PrintXY( 3,YPos,TbCOD_BARRA.asString);

      PrintXY( 7,YPos,TbNOME.asString);

      PrintXY(15,YPos,FormatFloat('#,##0.00', TbVLR_VENDA.asFloat));

      NewLine;

      Tb.Next;

    end;

  end;

  tb.Close;

end;

 

procedure TForm1.RvSystem1PrintHeader(Sender: TObject);

begin

  with Sender as TBaseReport do

  begin

    SetFont('Tahoma',10);

    FontColor := clBlue;

    Bold      := True;

    PrintCenter('Relatório de Produtos',PageWidth/2);

 

    SetFont('Tahoma',10);

    FontColor := clBlack;

    Bold      := False;

    PrintXY(18,YPos,'Página '+Macro(midCurrentPage)+' de '+Macro(midTotalPages));

 

    Canvas.Pen.Width := 5;

    MoveTo(MarginLeft,YPos + 0.2);

    LineTo(PageWidth - MarginRight + 0.2,YPos+0.2);

 

    NewLine;

    NewLine;

 

    SetFont('Tahoma',10);

    FontColor := clRed;

    PrintXY( 1,YPos,'CODIGO');

    PrintXY( 3,YPos,'COD.BARRA');

    PrintXY( 7,YPos,'NOME');

    PrintXY(15,YPos,'VALOR');

 

    NewLine;

 

    SetFont('Tahoma',10);

    FontColor := clBlack;

    Bold      := False;

  end;

end;

 

end.