 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
FABIO_1979 Aprendiz

Registrado: Sexta-Feira, 10 de Agosto de 2012 Mensagens: 299
|
Enviada: Qua Fev 27, 2013 7:42 pm Assunto: Problemas com alinhamento e espaçamento writeln (RESOLVIDO) |
|
|
Boa noite amigos!
Preciso enviar um formulário para uma EPSON LX 300 no entanto no que mando, a impressão sai assim:
quant produto Valor Unitáro Total
1 PRODUTO 1 2.30 2,30
1 PRODUTO 1 2.30 2,30
2 PRODUTO DESCcRIÇÃO X 2,30 6,60
Quanto a descrição é maior acaba desalinhando todo os outros campos abaixo o meu código:
| Código: | begin
const
cjustif = #27#97#51;
cl12cpi = #27#77;
Esp = #27+'P';
EscCR = #13;
Tab8 =#27#68#20;
var
Texto: String;
Cup2: TextFile;
begin
AssignFile(Cup2,form26.DBEDIT5.Text);
Rewrite(Cup2);
Writeln(Cup2,' '+Edit9.Text);
Writeln(Cup2,'');
Writeln(Cup2,cjustif ,Texto,Esp,' '+datamodule1.Qregfantasia.Text +' '+datamodule1.QregCNPJ.Text);
Writeln(Cup2,cjustif ,Texto,Esp,' '+'Caixa'+' '+datamodule1.QLoginusuario.Text);
Writeln(Cup2,cjustif ,Texto,Esp,' '+'Tel:'+' '+datamodule1.Qregtelefone.Text+' '+'Fax:'+' '+datamodule1.QregTel1.Text);
Writeln(Cup2,cjustif ,Texto,Esp,' '+'End:'+' '+ datamodule1.Qregendereo.Text+' ' +'N,'+' '+ datamodule1.Qregnumero.Text);
writeln(cup2,cjustif ,Texto,Esp,' '+' '+dbedit8.Text);
Writeln(Cup2,' '+'---------------------------------------------------------------------------');
Writeln(Cup2,cjustif,Texto,' '+cjustif,Texto,Esp+'Quant'+' '+cjustif,Texto,Esp+'codigo'+' '+cjustif,Texto,Esp+'Produto'+' '+'Preco'+' '+'Total');
Writeln(Cup2,'');
datamodule1.QVenda.First;
While not datamodule1.QVenda.Eof do
begin
Writeln(Cup2,' '+datamodule1.QVendaquant.Text+' '+datamodule1.QVendacodigo_barras.Text+' '+datamodule1.QVendadescricao.Text+' '+datamodule1.QVendavalorUnit.Text+' '+datamodule1.QVendavalorTotal.Text);
datamodule1.qvenda.Next;
end;
Writeln(Cup2,' '+'------------------');
Writeln(Cup2,' '+'TOTAL:'+' '+'R$:'+' '+datamodule1.QSumgeralgrid.Text);
Writeln(Cup2,' '+'------------------');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
Writeln(Cup2,'');
CloseFile(Cup2); |
Editado pela última vez por FABIO_1979 em Ter Mar 05, 2013 12:11 pm, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Fev 27, 2013 8:47 pm Assunto: |
|
|
Boa noite,
Tente utilizar a função Format para deixar as colunas com a mesma quantidade de caracteres. Ex:
| Código: | Writeln(Cup2, ' ' + Format('%10.10s', [datamodule1.QVendaquant.Text]) +
' ' + Format('%13.13s', [datamodule1.QVendacodigo_barras.Text]) +
' ' + Format('%-30.30s', [datamodule1.QVendadescricao.Text]) +
' ' + Format('%10.10s', [datamodule1.QVendavalorUnit.Text]) +
' ' + Format('%12.12s', [datamodule1.QVendavalorTotal.Text])); |
Espero que ajude.
_________________
Assinatura: http://www.imoveisemexposicao.com.br/imobiliarias-em-suzano |
|
| Voltar ao Topo |
|
 |
FABIO_1979 Aprendiz

Registrado: Sexta-Feira, 10 de Agosto de 2012 Mensagens: 299
|
Enviada: Qua Fev 27, 2013 10:18 pm Assunto: |
|
|
Esta dando erro:
Writeln(Cup2,'');
datamodule1.QVenda.First;
While not datamodule1.QVenda.Eof do
begin
Writeln(Cup2,''+Format('%8.8s',[datamodule1.QVendaquant.Text])+ Format('%14.14s',[datamodule1.QVendacodigo_barras.Text])+Format('%37.37s',[datamodule1.QVendadescricao.Text])+Format('%8.8s',[datamodule1.QVendavalorUnit.Text])+Format('%8.8s',[datamodule1.QVendavalorTotal.Text]);
datamodule1.qvenda.Next;
end; |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Fev 27, 2013 10:43 pm Assunto: |
|
|
| Acho que tá faltando fechar parênteses no Writeln. |
|
| Voltar ao Topo |
|
 |
FABIO_1979 Aprendiz

Registrado: Sexta-Feira, 10 de Agosto de 2012 Mensagens: 299
|
Enviada: Qua Fev 27, 2013 10:50 pm Assunto: |
|
|
ôpa era verdade srsrs fechei e deu certo amigo outra coisa esta saindo assim agora:
1 1 ALAVANCA ESQUERDA JOCEC 3,10 3,10
1 ALICATE DE SOLDA ARTOSH 500AP 41,80 41,80
1 1 ALAVANCA ESQUERDA JOCEC 3,10 3,10
1 ALICATE DE SOLDA 600 AMP 58,60 58,60
------------------
TOTAL: R$: 106,60
------------------ |
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Fev 27, 2013 11:14 pm Assunto: |
|
|
Não consegui entender direito o problema.
Acho que se você tivesse utilizado a tag Code para postar como ficou o relatório teria ficado mais fácil de entender.
O único detalhe que reparei olhando o seu código é que os valores estão sendo alinhados a direita. Para alinhar a esquerda é necessário colocar um sinal de menos (-) como no exemplo que postei acima no caso do campo descricao.
Espero que ajude. |
|
| Voltar ao Topo |
|
 |
Yien Novato

Registrado: Sexta-Feira, 6 de Abril de 2012 Mensagens: 52
|
Enviada: Qua Fev 27, 2013 11:21 pm Assunto: |
|
|
Ele quer algo assim:
1..1...ALAVANCA ESQUERDA JOCEC................3,10........3,10
1.......ALICATE DE SOLDA ARTOSH 500AP........41,80.....41,80
1..1...ALAVANCA ESQUERDA JOCEC.................3,10.......3,10
1.......ALICATE DE SOLDA 600 AMP..................58,60.....58,60 |
|
| Voltar ao Topo |
|
 |
FABIO_1979 Aprendiz

Registrado: Sexta-Feira, 10 de Agosto de 2012 Mensagens: 299
|
Enviada: Qui Fev 28, 2013 12:04 am Assunto: |
|
|
Oi amigos tentei colocar o sinal de - mas não dá certo
format '47.47' invalid or incompatible with argument.
Format('%47.47-',[datamodule1.QVendadescricao.Text])+ |
|
| Voltar ao Topo |
|
 |
FABIO_1979 Aprendiz

Registrado: Sexta-Feira, 10 de Agosto de 2012 Mensagens: 299
|
Enviada: Qui Fev 28, 2013 12:21 am Assunto: |
|
|
consegui aparentemente alinhar mas esta saindo assim amigos
| Código: |
---------------------------------------------------------------------------
a Quant codigo Produto Preco Total
1 1 ALAVANCA ESQUERDA JOCEC 3,10 3,10
1 ALICATE DE SOLDA ARTOSH 500AP 41,80 41,80
1 ALICATE DE SOLDA 600 AMP 58,60 58,60
------------------
TOTAL: R$: 103,50
------------------
|
|
|
| Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qui Fev 28, 2013 10:42 am Assunto: |
|
|
Pelo que vi você está utilizando vários comandos especiais da impressora para formatar o texto.
Não sei como eles funcionam, mas acho que eles podem estar provocando o desalinhamento, lembrando que nesse caso é necessário fazer o teste na impressora, pois esses comandos especiais (cjustif, Esp, etc) só funcionam lá. |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|