Fórum WriteLn* Write x Espaço #205104

08/01/2004

0

Boa tarde colegas

novamente vejo aqui...pedir um help!

A todos que pergunto ´Como imprimir etiquetas´, dizem use writeln.

Isso é um coisa ao mesmo tempo facil, pra uns e ´obscuro´ para outros

Fiz uma rotina usando TPrinter para imprimir 8x3(etiquetasxcolunas), na minha maquina rodou blz.

Quando foi rodar no cliente...nada

novamente...me pego tentando usar writeln, mas estou barrando no seguinte.

NA ETIQUETA VAI OS CAMPOS:

[color=green:99d2aeb254]
NOME ENDEREÇO BAIRRO CIDADE ESTADO CEP CONTATO
[/color:99d2aeb254]

O TAMANHO DE CADA CAMPO NA TABELA
[color=green:99d2aeb254]
NOME = 75 ENDEREÇO = 60 BAIRRO=50 CIDADE=25 ESTADO=2 CEP=9 CONTATO=25
[/color:99d2aeb254]

AGORA A TRETA
NEM SEMPRE OS CAMPOS TEM O MESMO TAMANHO....

ISSO ESTA ME MATANDO PARA CONFIGURAR AS POSIÇÕES

DIGAMOS QUE TENHO OS SEGUINTES NOMES

JOÃO SILVA

JOÃO SILVA SANTOS

JOÃO PEREIRA DOS SANTOS

SO PRA TER REFERENCIA A ETIQUETA MEDE 10,2CM LARGURA POR 3,6 DE ALTURA

DIGAMOS QUE A:

1ª ETIQUETA FIQUE NA POSIÇÃO 0
2ª ETIQUETA FIQUE NA POSIÇÃO 115
3ª ETIQUETA FIQUE NA POSIÇÃO 230

[color=green:99d2aeb254]
write(impressora,format(´¬-75s´,[´JOÃO DA SILVA´])); write(impressora,format(´¬ ´,[´JOÃO SILVA SANTOS´])); write(impressora,format(´¬ ,[´JOÃO PEREIRA DOS SANTOS´]));

[/color:99d2aeb254]

SE EU ME BASEAR COM ESSES NOMES ATE CONSIGO AJUSTAR AS POSIÇÕES, MAS NA PROXIMA ETIQUETA ABAIXO, SE A ORDEM FOSSE INVERTIDA POR EXEMPLO JA SAIRIA TUDO DO LUGAR

[color=green:99d2aeb254]
write(impressora,format(´¬ ,[´JOÃO PEREIRA DOS SANTOS´])); write(impressora,format(´¬ ´,[´JOÃO SILVA SANTOS´])); write(impressora,format(´¬-75s´,[´JOÃO DA SILVA´]));
[/color:99d2aeb254]


PRECISO FAZER ISSO USANDO WRITELN APENAS.

NAO ADIANTA COMPONENTE, NEM FORTES REPORT, NEM QUICKREPORT

TEM QUE SER COM WRITELN

SE ALGUEM PUDER...ME AJUDAR NISSO FICO GRATO....

E AGRADEÇO...COMO ME AGRADECEM QUANDO POSSO HUMILDEMENTE AJUDAR ALGUEM....


UM ABRAÇO :roll: :roll:

[url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689][color=green:99d2aeb254][b:99d2aeb254]Título editado conforme previsto nas regras de conduta - Regra 2[/b:99d2aeb254][/color:99d2aeb254][/url]


Macario

Macario

Responder

Posts

08/01/2004

Macario

TIPO SO PRA CORRIGIR

write(impressora,format(´¬-75s´,[´JOÃO DA SILVA´]));
write(impressora,format(´¬[color=red:681e16c979]QUAL FORMATAÇÃO[/color:681e16c979] ´,[´JOÃO SILVA SANTOS´]));
write(impressora,format(´¬[color=red:681e16c979]QUAL FORMATAÇÃO[/color:681e16c979] ,[´JOÃO PEREIRA DOS SANTOS´]));


QUAL FORMATAÇÃO USAR


Responder

Gostei + 0

08/01/2004

Aroldo Zanela

Colega,

Para funcionar com WriteLn, a única saída que vejo é utilizar fontes mono-espaçadas e não fontes proporcionais. Portanto, tente utilizar um fonte Terminal, courier new, fixedsys, etc.


Responder

Gostei + 0

08/01/2004

Macario

Poderia me mostrar um exemplo de como configurar tais fontes?


Responder

Gostei + 0

08/01/2004

Aroldo Zanela

Colega,

Use uma expressão com código ESC antes de iniciar a impressão. No manual da impressora deverá constar a instrução apropriada. Por exemplo:
Write(prn, #27+char_code_seq);

Onde char_code_seq é a sequencia de caracteres de comando que irá modificar o fonte da impressora.


Responder

Gostei + 0

08/01/2004

Aroldo Zanela

Colega,

Outra forma mais simples seria instalar uma impressora padrão genérica/somente texto.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar