Olá amigos, neste artigo vamos aprender como enviar a impressão diretamente para a porta da impressora a partir de um programa em Kylix. Também veremos formas de se formatar o texto a ser enviado para impressão.
Primeiramente vamos criar uma nova aplicação e no centro da
form1 vamos inserir um botão com a propriedade
caption chamado de "Imprimir". A partir daí basta dar
um duplo clique no botão e mãos à obra!
procedure TForm1.Button1Click(Sender: TObject);
var
Impr : TextFile;
i : Integer;
begin
// abre a porta da impressora para gravação
AssignFile(Impr, '/dev/lp0');
{ Lembrem-se, em alguns sistemas operacionais as operações de acesso ao dispositivo /dev/lp* são rw-rw, permitindo leitura e gravação ao grupo e ao proprietário e negando acesso ao restante. Para disponibilizar esse acesso à todos, basta dar o seguinte comando como root:
# chmod o+w /dev/lp*
}
Rewrite(Impr);
// configura tipo de letra
Write(Impr,#27'(s1p52T');
// impressão normal
Write(Impr,#27'&a5r5C'+#27'(s0b0S'+'VIVA O LINUX');
// impressão negrito
Write(Impr,#27'&a7r5C'+#27'(s3b0S'+'VIVA O LINUX');
// impressão itálico
Write(Impr,#27'&a6r5C'+#27'(s0b0S'+'VIVA O LINUX');
// impressão negrito itálico
Write(Impr,#27'&a8r5C'+#27'(s3b1S'+'VIVA O LINUX');
// muda tamanho da fonte
for i := 1 to 7 do
Write(Impr,#27'&a'+IntToStr(8+i)+'r5C'+#27'(s0b0s'+
IntToStr(i*2)+'V'+'VIVA O LINUX');
// reinicializa a impressora
Write(Impr,#27'E');
// fecha o arquivo de impressão
CloseFile(Impr);
end;
Agora é só executar o programa e imprimir. Até mais!
=============================
Viva a liberdade dos códigos
=============================
[6] Comentário enviado por sitevirtual em 09/10/2005 - 14:44h
Marcelo, você poderia informar como eu faço para imprimir quatro barras (retângulo) com uma cor em cada uma das barras e uns textos tanto em negrito como normal. Seria mais ou menos assim:
BARRA RETANGULAR PRETA
BARRA RETANGULAR AZUL
BARRA RETANGULAR VERMELHA
BARRA RETANGULAR AMARELA
Abaixo eu queria colocar um texto em negrito e normal, mas você já explicou, o problema são as barras que devem ter as medidas no papel:
10 cm. X 1 cm.
Como fazer isso para funcionar no Lazarus e sistema Linux?