ALINHAMENTO DE VALORES NUMERICOS
Boa tarde Amigos
Raramente uso os comando Print, para gerar meus relatorios mas dessa vez tive que emitir uma nota fiscal em impressora matricial, portanto nao tem outro jeito.
Uso esse comando para imprimir os valores, porem os valores numericos nao saem alinhados. :
[txt-color=#e80000]Printer.Print Tab(2); Trim(rsDesp!DESCRICAO); Tab(80); Format(CDbl([Ô]0[Ô] & rsDes!REAIS), [Ô]###,##0.00[Ô])[/txt-color]
Na impressao, sai tudo desalinhado (alinhado a direita)
FRETE MARITIMO 96,30
DESPESAS NO EXTERIOR 1.469,22
DROP OFF FEE 23,70
COURRIER 142,20
CAPATAZIAS P/ LCL 30,00
ISPS 8,00
Eu quero que os valores sejam alinhados a esquerda, ja que tratam-se de numeros.
Um Abraço e obrigado
Ventana
Raramente uso os comando Print, para gerar meus relatorios mas dessa vez tive que emitir uma nota fiscal em impressora matricial, portanto nao tem outro jeito.
Uso esse comando para imprimir os valores, porem os valores numericos nao saem alinhados. :
[txt-color=#e80000]Printer.Print Tab(2); Trim(rsDesp!DESCRICAO); Tab(80); Format(CDbl([Ô]0[Ô] & rsDes!REAIS), [Ô]###,##0.00[Ô])[/txt-color]
Na impressao, sai tudo desalinhado (alinhado a direita)
FRETE MARITIMO 96,30
DESPESAS NO EXTERIOR 1.469,22
DROP OFF FEE 23,70
COURRIER 142,20
CAPATAZIAS P/ LCL 30,00
ISPS 8,00
Eu quero que os valores sejam alinhados a esquerda, ja que tratam-se de numeros.
Um Abraço e obrigado
Ventana
Você terá de fazer a conversão numérica para strings e aà aplicar a formatação.
O ideal é ter uma variável para cada conteúdo necessário com a declaração de tamanho explicitada, depois bastar usar o comando RSet que faz o alinhamento da string a direita e mandar imprimir.
O ideal é ter uma variável para cada conteúdo necessário com a declaração de tamanho explicitada, depois bastar usar o comando RSet que faz o alinhamento da string a direita e mandar imprimir.
Dim valor As String * 14
RSet valor = Format(CDbl([Ô]0[Ô] & rsDes!REAIS), [Ô]###,###,##0.00[Ô])
Printer.Print Tab(2); Trim(rsDesp!DESCRICAO); Tab(80); valor
Muito Obrigado por sua ajuda Fabiano
Ainda nao funcionou, pois os numeros ainda estao desalinhados.
Pude perceber que na variavel, os numeros realmente sao jogados um pouco para a direita, mas o desalinhamento ainda persiste.
O que pode ter acontecido, pois fiz o que voce sugeriu.
Um Abraço
Ventana
Ainda nao funcionou, pois os numeros ainda estao desalinhados.
Pude perceber que na variavel, os numeros realmente sao jogados um pouco para a direita, mas o desalinhamento ainda persiste.
O que pode ter acontecido, pois fiz o que voce sugeriu.
Um Abraço
Ventana
Achei esse exemplo no site abaixo mas tambem nao funcionou.
é simples de tudo
Print [Ô]|[Ô] & Format$(Format$(10, [Ô]R$#,##0.00[Ô]), [Ô]@@@@@@@[Ô]) & [Ô]|[Ô]
Print [Ô]|[Ô] & Format$(Format$(100.5, [Ô]R$#.##0,00[Ô]), [Ô]@@@@@@@[Ô]) & [Ô]|[Ô]
Resultado
| R$10.00|
| R$100.50|
Onde o sÃmbolo do arroba @ é a quantidade de caracteres de espaço separador para ser alinhado
http://www.vbweb.com.br/dicas_visual.asp?Codigo=3375&Classificacao=9
Ventana
é simples de tudo
Print [Ô]|[Ô] & Format$(Format$(10, [Ô]R$#,##0.00[Ô]), [Ô]@@@@@@@[Ô]) & [Ô]|[Ô]
Print [Ô]|[Ô] & Format$(Format$(100.5, [Ô]R$#.##0,00[Ô]), [Ô]@@@@@@@[Ô]) & [Ô]|[Ô]
Resultado
| R$10.00|
| R$100.50|
Onde o sÃmbolo do arroba @ é a quantidade de caracteres de espaço separador para ser alinhado
http://www.vbweb.com.br/dicas_visual.asp?Codigo=3375&Classificacao=9
Ventana
Amigo, o problema se é que podemos chamar de problema é o tipo de fonte.
Pela imagem que você postou a fonte usada parece ser Arial e realmente haverá o desalinhamento uma vez que cada caracter possui um tamanho diferente.
Tente usar uma fonte de tamanho fixo como a Courier New. Tenho certeza que irá funcionar.
E como você vai usar impressora matricial as fontes tem tamanho fixo, nela fucionará perfeitamente.
Pela imagem que você postou a fonte usada parece ser Arial e realmente haverá o desalinhamento uma vez que cada caracter possui um tamanho diferente.
Tente usar uma fonte de tamanho fixo como a Courier New. Tenho certeza que irá funcionar.
E como você vai usar impressora matricial as fontes tem tamanho fixo, nela fucionará perfeitamente.
Obrigado pela dica FFCOUTO
Vou experimentar e depois digo o que aconteceu.
Um Abraço
Vou experimentar e depois digo o que aconteceu.
Um Abraço
Tópico encerrado , respostas não são mais permitidas