Duvida de Impressão em Formulario Pre-Definidos

Delphi

22/01/2004

Impressão de Formulários.

Estou fazendo impressão entre linhas no formato 1/6” com as letras condensadas e negrito. Quero saber se tem como fazer a mesma impressão no formato 1/8&8221;?

Utilizo Delphi 6 e Impressora Matricial Epson Action Printer 2000.


Sanson

Sanson

Curtidas 0

Respostas

Marconi

Marconi

22/01/2004

Presumo que pela sua pergunta voce esteja imprimindo com comandos DOS pela Lpt1.

Os comandos Esc-P para modificar o espaçamento entre linhas são os seguintes:

ESC 048Seleciona espaçamento de linha de 1/8 polegada

Exemplo:
Writeln(Arq,chr(27)+´0´);
ou pode ser assim:
Writeln(Arq,chr(27)+chr(48));

ESC 149Seleciona espaçamento de linha de 7/72 polegada

ESC 250Seleciona espaçamento de linha de 1/6 polegada

ESC 3 n51Seleciona espaçamento de linha de n/216 polegada (n=0 a 255)

ESC A n65Seleciona espaçamento de linha de n/72 polegada(n = 0-85)

ESC J n74 Executa alimentação de linha n/216 polegada n=0-255

Nos exemplos com a letra n o comando é o seguinte:

writeln(Arq,chr(27)+chr(65)+chr(10);
que é o mesmo que
writeln(Arq,chr(27)+´A´+chr(10);
Neste exemplo eu utilizei n=10.
Então estou configurando para (10/72) polegadas a distancia entre uma linha e outra.

Marconi


GOSTEI 0
Marconi

Marconi

22/01/2004

Complementando:

Onde aparece este sinal 8) na verdade é ´oito´ e ´fecha parenteses´.

Na tabela acima o último número é o codigo asc do sinal que vai após o esc

assim onde se le Esc A 65, na verdade é somente Esc A, pois o numero 65 é só para mostrar que a letra A é o mesmo que CHR(65).

Da para perceber que os comandos

writeln(arq,chr(27)+´1´);
acaba sendo a mesma coisa que
writeln(arq,chr(27)+´A´+chr(7);
pois ambos vão configurar a impressora para
7/72 de polegada entre uma linha e outra.

Marconi


GOSTEI 0
POSTAR