Buscar

Imprimindo caracteres acentuados diretamente para a impressora

Código

{ Usando comandos da impressora podemos fazer isto de uma forma bastante simples. Quando enviamos o caractere ASCII número 8 (oito) para a impressora, a cabeça de impressão retrocede uma posição, pois este caractere é o BackSpace. Então podemos imprimir a letra sem acento e, sem seguida, voltar e imprimir o acento desejado. Vejamos um exemplo:   - Coloque um botão no form;

  - Altere o evento OnClick deste botão conforme abaixo: }



procedure TForm1.Button2Click(Sender: TObject);
var
  F: TextFile;
begin
  AssignFile(F, 'LPT1');
  Rewrite(F);
  try
  { Regra: caractere sem acento + chr(8) + acento }
  WriteLn(F, 'Este e' + #8 + '''' + ' um teste.');
  WriteLn(F, 'Acentuac' + #8 + ',a' + #8 + '~o.');
  WriteLn(F, 'Vovo' + #8 + '^');
  WriteLn(F, 'U' + #8 + '''' + 'ltimo.');
  WriteLn(F, #12); // Eject
  finally
  CloseFile(F);
  end;
end; {Usando este recurso, a acentuação não fica excelente, mas melhora bastante. }

Publicidade

Vote na dica




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


Detalhes da dica

Categoria: Impressão
Adicionada dia: 20/06/03
Por: Felipe Monteiro
Visualizada: 2473 vezes

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