Impressao - TPrinter e impressao direta

Top  Previous  Next

// Impressão com o TPrinter

// ========================

procedure TForm1.BitBtn1Click(Sender: TObject);

var  

 Linha:integer;

 Tamanho:integer;

 Coluna:integer;

begin

  Printer.Orientation := poLandscape; 

  Printer.BeginDoc;

  Printer.Canvas.Pen.Width := 5;

  Printer.Canvas.Font.Name := 'Times New Roman';

  Printer.Canvas.Font.Size := 10;

  Linha := 20;

  Coluna:= 20;

  Tamanho := Printer.Canvas.TextWidth('a');

  Table1.First;

while not Table1.Eof do

begin

      if Linha = 20 then

      begin

        Coluna := 20;

        Printer.Canvas.TextOut(0,Linha,'Relação de Clientes');

        Linha := Linha - Printer.Canvas.Font.Height + 5 ;

        Printer.Canvas.TextOut(Coluna,Linha,'Cod');

        Coluna:= Coluna + (Tamanho * 5 );

        Printer.Canvas.TextOut(Coluna,Linha,'Nome');

        Coluna:= Coluna + (Tamanho * 30);

        Printer.Canvas.TextOut(Coluna,Linha,'Endereço');

        Coluna:= Coluna + (Tamanho * 30);

        Linha := Linha - Printer.Canvas.Font.Height + 5 ;

      end;

      Coluna := 20 ;

      Printer.Canvas.TextOut(Coluna,Linha,Table1.FieldByName(‘Codigo’).AsString);

      Coluna:= Coluna + (Tamanho * 5 );

      Printer.Canvas.TextOut(Coluna,Linha,Table1.FieldByName(‘Nome’).AsString);

      Coluna:= Coluna + (Tamanho * 30);

      Printer.Canvas.TextOut(Coluna,Linha,Table1.FieldByName(‘End’).AsString);

      Coluna:= Coluna + (Tamanho * 30);

      Linha := Linha - Printer.Canvas.Font.Height + 5 ;

      Table1.Next;

      if Linha > Printer.PageHeight-20 then

      Begin

        Printer.NewPage;

        Linha := 20;

      end;

  end;

  Printer.EndDoc;

end;

 

// Impressão direto para impressora (BASICO)

// =========================================

procedure TForm1.Button1Click(Sender: TObject);

var

  F : TextFile;

  i : integer;

begin

  AssignFile(F,'LPT1');

  Rewrite(F);

  i := 0;

  Writeln(F,'Teste de impressao - Linha 0');

  Writeln(F,'Teste de impressao - Linha 1');

  Writeln(F,#27#15+'Teste de Impressão - Linha 2');

  Writeln(F,'Teste de impressao - Linha 3');

  Writeln(F,#27#18+'Teste de Impressão - Linha 4');

  Writeln(F,'Teste de impressao - Linha 5');

  Writeln(F,#12); // Ejeta a página

  CloseFile(F);

end;