Página 1 de 1
Relatorio Caracter aparecendo
Enviado: 23 Mai 2008 09:18
por marbio
Bom dia,
Fiz um relatorio e esta apracendo um caracter quadrado no final, este relatorio e aberto no Notepad
SERINGA 20ML 0,58 10 5,84
Código: Selecionar todos
@ prow()+01,00 say " "
* @ prow()+00,00 say datamov
@ 00,01 say produto
@ prow()+00,2 say +trans(custo,"@E 9,999.99")
@ prow()+00,2 say +trans(saida,"@E 9999")
@ prow()+00,2 say +trans(saida*custo,"@E 9,999.99")
@ prow()+00,2 say +trans(venda,"@E 9,999.99")
@ prow()+00,2 say +trans(saida,"@E 9,999.99")
@ prow()+00,2 say +trans(saida*venda,"@E 9,999.99")
Desde ja agradeco sua ajuda.
t+
Re: Relatorio Caracter aparecendo
Enviado: 23 Mai 2008 11:18
por José Luiz
Caro colega, salvo engano este caracter é relativo ao comando eject.
Re: Relatorio Caracter aparecendo
Enviado: 23 Mai 2008 12:01
por sygecom
ou algum CHR(15) ou CHR(18) e etc...
Re: Relatorio Caracter aparecendo
Enviado: 24 Mai 2008 01:28
por vagucs
Este aqui seria o correto:
Código: Selecionar todos
set printer to wag.txt
set device to printer
@ 00,00 say " "
@ prow()+1,01 say produto
@ prow(),2 say trans(custo,"@E 9,999.99" )
@ prow(),2 say trans(saida,"@E 9999")
@ prow(),2 say trans(saida*custo,"@E 9,999.99")
@ prow(),2 say trans(venda,"@E 9,999.99")
@ prow(),2 say trans(saida,"@E 9,999.99")
@ prow(),2 say trans(saida*venda,"@E 9,999.99")
Os valores estão todos saindo na coluna 2, você terá que ajustar.
Repare que PROW()+00 nao tem efeito e nem um "+" na frente de TRANS (Transform)
Re: Relatorio Caracter aparecendo
Enviado: 24 Mai 2008 01:33
por vagucs
Som completando, os caracteres estranhos que o Notepad mostra são so os caracteres de comando.
Re: Relatorio Caracter aparecendo
Enviado: 24 Mai 2008 08:54
por Toledo
Marbio, como o Wagner falou, observe que você está colocando todos os dados na mesma coluna...
Marbio escreveu: @ prow()+00,2 say +trans(custo,"@E 9,999.99")
@ prow()+00,2 say +trans(saida,"@E 9999")
@ prow()+00,2 say +trans(saida*custo,"@E 9,999.99")
@ prow()+00,2 say +trans(venda,"@E 9,999.99")
@ prow()+00,2 say +trans(saida,"@E 9,999.99")
@ prow()+00,2 say +trans(saida*venda,"@E 9,999.99")
Então os caracteres estranhos que aparecem entre os dados são exatamente por causa da sobreposição dos dados.
Agora, o caracter tipo um quadradinho no final do arquivo, você deve mudar a maneira de gerar o arquivo TXT, faça da seguinte maneira:
Código: Selecionar todos
vARQ="arquivo.txt"
SET PRINT ON
SET CONSOLE OFF
SET PRINT TO (vARQ)
DO WHILE !EOF()
vLinha= DTOC(datamov)+" "+produto+" "+trans(custo,"@E 9,999.99")+" "+trans(saida,"@E 9999")
??vLinha
?
SKIP
ENDDO
SET CONSOLE ON
SET PRINT OFF
SET PRINT TO
Abraços,
Relatorio Caracter aparecendo
Enviado: 26 Mai 2008 19:22
por Pablo César
Muito provável mesmo que seja sobre-posição de caracteres como foi dito pelos colegas. Aceite um bom conselho Márbio, utilize a CONCATENAÇÃO na hora de criar arquivos (seja de impressão ou de processamento), assim como o Toledo indicou. Isso irá evitar muitos problemas agora e no futuro quando por ventura precise alterar o tamanho dos campos (nunca será uma solução definitiva, mas irá evidenciar a posição de cada campo no arquivo. E se aqueles caracteres ainda persistirem no NOTEPAD é porque são caracteres de padrão DOS/OEM e não WIN/ANSI ou até comandos caracteres que presentam comandos de impressão (por exemplo).
Re: Relatorio Caracter aparecendo
Enviado: 27 Mai 2008 09:06
por gvc
[marbio]
1º - Como vc esta mandando imprimir na mesma linha e coluna, o clipper deve estar mandando um retorno de carro para a impressora. Qdo vc usa @ <lin>,<col> say para formatar o relatório, deve lembrar que esta trabalhando na impressora como na tela. Posicione devidamente as colunas.
2º - O sinal de (+) antes do transform é desnecessário, muito provavelmente será colocado o caracter NULL na frente do que será impresso.
3º - prow() + <n> é para pular linhas. Posição atual do carro de impressão + <n> linhas. Vc esta somando 0 (zero), então esta mantendo o carro na mesma linha.
Re: Relatorio Caracter aparecendo
Enviado: 27 Mai 2008 10:51
por marbio
Bom dia,
Muito obrigado pela ajuda, deu tudo certo....
t+