Relatorio Caracter aparecendo

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
marbio
Usuário Nível 3
Usuário Nível 3
Mensagens: 206
Registrado em: 29 Jul 2004 16:26

Relatorio Caracter aparecendo

Mensagem 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+
Sempre há uma solucao para os nossos problema clipper.....
José Luiz
Usuário Nível 1
Usuário Nível 1
Mensagens: 18
Registrado em: 15 Mar 2008 17:19
Localização: São Carlos - SP

Re: Relatorio Caracter aparecendo

Mensagem por José Luiz »

Caro colega, salvo engano este caracter é relativo ao comando eject.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Relatorio Caracter aparecendo

Mensagem por sygecom »

ou algum CHR(15) ou CHR(18) e etc...
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Re: Relatorio Caracter aparecendo

Mensagem 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)
Sem mais
Wagner Nunes
www.vagucs.com.br
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Re: Relatorio Caracter aparecendo

Mensagem por vagucs »

Som completando, os caracteres estranhos que o Notepad mostra são so os caracteres de comando.
Sem mais
Wagner Nunes
www.vagucs.com.br
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Relatorio Caracter aparecendo

Mensagem 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,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Relatorio Caracter aparecendo

Mensagem 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).
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Re: Relatorio Caracter aparecendo

Mensagem 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.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
Avatar do usuário
marbio
Usuário Nível 3
Usuário Nível 3
Mensagens: 206
Registrado em: 29 Jul 2004 16:26

Re: Relatorio Caracter aparecendo

Mensagem por marbio »

Bom dia,

Muito obrigado pela ajuda, deu tudo certo....

t+
Sempre há uma solucao para os nossos problema clipper.....
Responder