Buscar

Impressão matricial em vários formatos de caracter

Código

//==============================================//
// Criado por Elias Jakubowski                  //
// LSystems Software Ltda - www.lsystems.inf.br //
//----------------------------------------------//

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const
  IPula   = #13;       //Pula 1 linha
  IEspac1 = #27#48;    //Define espaçamento entre linhas de 1/8"
  IEspac2 = #27#49;    //Define espaçamento entre linhas de 7/72"
  IEspac3 = #27#50;    //Define espaçamento entre linhas de 1/6"
  IEject  = #12;       //Ejeta página
  I80car  = #27#80#18; //Imprime com 80 colunas
  I96car  = #27#77#18; //Imprime com 96 colunas
  I137car = #27#80#15; //Imprime com 137 colunas
  I160car = #27#77#15; //Imprime com 160 colunas
  IDuploG = #27#14#18; //Imprime em caracter grande largura dupla
  IDuploP = #27#14#15; //Imprime em caracter pequeno largura dupla
  IDuploC = #27#20;    //Cancela largura dupla
  INegAti = #27#71;    //Imprime em negrito
  INegDes = #27#72;    //Cancela modo negrito
  IItaAti = #27#52;    //Imprime em Itálico
  IItaDes = #27#53;    //Cancela modo Itálico
var
  F : TextFile; //Variável para impressão
begin
  //Tenta imprimir
  try
    AssignFile(F, 'LPT1');
    ReWrite(F);
    WriteLn(F, I80Car+'Impressão em 80 caracteres');
    WriteLn(F, I80Car+INegAti+'Impressão em 80 caracteres NEGRITO');
    WriteLn(F, InegDes+IItaAti+I80Car+'Impressão em 80 caracteres ITÁLICO');
    WriteLn(F, IItaDes+IPula); //Pula uma linha
    WriteLn(F, I96Car+'Impressão em 96 caracteres');
    WriteLn(F, InegAti+I96Car+'Impressão em 96 caracteres NEGRITO');
    WriteLn(F, InegDes+IItaAti+I96Car+'Impressão em 96 caracteres ITÁLICO');
    WriteLn(F, IItaDes+IPula); //Pula uma linha
    WriteLn(F, I137Car+'Impressão em 137 caracteres');
    WriteLn(F, InegAti+I137Car+'Impressão em 137 caracteres NEGRITO');
    WriteLn(F, InegDes+IItaAti+I137Car+'Impressão em 137 caracteres ITÁLICO');
    WriteLn(F, IItaDes+IPula); //Pula uma linha
    WriteLn(F, I160Car+'Impressão em 160 caracteres');
    WriteLn(F, InegAti+I160Car+'Impressão em 160 caracteres NEGRITO');
    WriteLn(F, InegDes+IItaAti+I160Car+'Impressão em 160 caracteres ITÁLICO');
    WriteLn(F, IItaDes+IPula); //Pula uma linha
    WriteLn(F, I80Car+IDuploG+'Impressão em caracter Duplo Grande');
    WriteLn(F, I96Car+IDuploP+'Impressão em caracter Duplo Pequeno');
    WriteLn(F, IDuploC+IPula); //Pula uma linha
    Write(F, IEject); //Ejeta folha
    system.Close(F);
    //Caso não consiga imprimir, envia mensagem de erro
    except
    begin
      system.Close(F);
      messagedlg('Erro! Impressora não configurada na porta LPT1!', MtError, [mbOk],0);
    end;
  end;
end;

end.
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Impressão
Adicionada dia: 20/12/07
Por: Elias
Visualizada: 15307 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009