Página 1 de 1

Visualizar relatorio na tela

Enviado: 04 Jul 2007 18:02
por jfunchal
Ola,
O programa gera relatorio para imprimir na impressora, mas quando o programa verifica que a impressora esta desligada ou desconectada, ele gera um arquivo .txt e depois importa para um arquivo .dbf com um registro de 250 caracteres (maximo). A importacao e' feita via append from relat.txt sdf
Ocorre que não consigo visualizar todo o relato'rio via o comando browse(). Visualizo somente o que aparece na tela (80 colunas). Tento usar Ctrl+seta para avançar, mas parece que a tela esta' "congealda" e não avança.
Seria problema no programa ou na configuração do windows (pois estou com o teclado desconfigurado) Em outro computador, o teclado não está desconfigurado e acontece o mesmo problema.

Por gentileza, encaminhem respostas para o e-mail jfunchal@portoweb.com.br

Obrigado.

Enviado: 04 Jul 2007 18:09
por sygecom
Tche, Gaucho bem vindo ao Forum.....
Vc nem prescissa se dar ao trabalho de importar seu TXT para um DBF .....use a função do link abaixo, essa função abre direto no TXT através do TBROWSE().....e ele vai que é uma beleza....sem limites....

https://pctoledo.org/forum/viewtopic.php?t=3954

Abraços
Leonardo Machado

Enviado: 04 Jul 2007 18:12
por sygecom
Esqueci de uma coisa:
Por gentileza, encaminhem respostas para o e-mail jfunchal@portoweb.com.br
Tche, as resposta são aqui pelo Forum mesmo....assim para quem passar pelo mesmo problema jah pode dar uma pequisada no forum antes de Postar...e ver que a solução jah esta aqui !!!

Abraços
Leonardo Machado

Não funcionou

Enviado: 04 Jul 2007 19:02
por jfunchal
Fiz tudo direitinho.
Executei a função. Apareceu na tela, mas o problema continua, isto e' não consigo avançar no relato'rio para a direita com o Ctrl+seta direita para ver o restante do relato'rio.
E agora

sygecom escreveu:Tche, Gaucho bem vindo ao Forum.....
Vc nem prescissa se dar ao trabalho de importar seu TXT para um DBF .....use a função do link abaixo, essa função abre direto no TXT através do TBROWSE().....e ele vai que é uma beleza....sem limites....

https://pctoledo.org/forum/viewtopic.php?t=3954

Abraços
Leonardo Machado

Re: Não funcionou

Enviado: 04 Jul 2007 19:09
por jfunchal
Sera que e' alguma configuração do windows e/ou do teclado que esta impossibilitando a visualização 'a direita.

jfunchal escreveu:Fiz tudo direitinho.
Executei a função. Apareceu na tela, mas o problema continua, isto e' não consigo avançar no relato'rio para a direita com o Ctrl+seta direita para ver o restante do relato'rio.
E agora

sygecom escreveu:Tche, Gaucho bem vindo ao Forum.....
Vc nem prescissa se dar ao trabalho de importar seu TXT para um DBF .....use a função do link abaixo, essa função abre direto no TXT através do TBROWSE().....e ele vai que é uma beleza....sem limites....

https://pctoledo.org/forum/viewtopic.php?t=3954

Abraços
Leonardo Machado

Enviado: 04 Jul 2007 19:35
por sygecom
Tche, posta ai como vc esta fazendo para gerar e visualizar com o exemplo que te mandei.....

Abraços
Leonardo Machado

Enviado: 05 Jul 2007 12:33
por filizola
use a viewer.lib

viewer("relato.txt",0,0,24,80,"w/n")

Enviado: 05 Jul 2007 12:45
por Dr_Spock
- Voce pode usar a mesma solucao com arquivo temporario, porem divida este seu arquivo que possui um campo grande em campos menores, por exemplo 13 caracteres cada campo, assim voce podera navegar pelos campos com os pedacos do relatorio e resolvendo seu problema, independente do numero de caracteres que possua seu relatorio.

Exemplo :

IF !FILE("SCC_TEL.DBF") && Relatorios na Tela
VFILE := {}
AADD( VFILE, {"REL_C01","C",13,0})
AADD( VFILE, {"REL_C02","C",13,0})
AADD( VFILE, {"REL_C03","C",13,0})
AADD( VFILE, {"REL_C04","C",13,0})
AADD( VFILE, {"REL_C05","C",13,0})
AADD( VFILE, {"REL_C06","C",13,0})
AADD( VFILE, {"REL_C07","C",13,0})
AADD( VFILE, {"REL_C08","C",13,0})
AADD( VFILE, {"REL_C09","C",13,0})
AADD( VFILE, {"REL_C10","C",13,0})
AADD( VFILE, {"REL_C11","C",13,0})
AADD( VFILE, {"REL_C12","C",13,0})
AADD( VFILE, {"REL_C13","C",13,0})
AADD( VFILE, {"REL_C14","C",13,0})
AADD( VFILE, {"REL_C15","C",13,0})
*
DBCREATE("SCC_REL",VFILE)
*
ENDIF

- Um clip_abraco

Enviado: 05 Jul 2007 13:55
por sygecom
filizola escreveu:use a viewer.lib

viewer("relato.txt",0,0,24,80,"w/n")
Tche, colega Filizola se amanha ou depois o colega jfunchal quiser migrar para o xharbour aquela função que citei vai funcionar blz....não entenda como critica...mas sim como uma maneira de ir eliminando LIB de terceiros, para uma futura migração sem dor de cabeça....

Abraços
Leonardo Machado

Enviado: 05 Jul 2007 15:06
por filizola
uai, amigo sygecom não tinha pensado nisso, é verdade, melhor que ele use uma função que rode em qualquer um dos dois.


é isso aí.

Enviado: 10 Jul 2007 11:28
por cl@udio
Este problema ocorre quando o cursor estiver em uma coluna menor.

exemplo cabecalho tem 80 colunas so vai ate a 80.
mas se vc tiver na linha com 100 ai ele mostra ate a 100.

Outro problema q encontrei e no xHarbour linux, parece que ele nao ve o fim da linha fica tudo na mesma linha.
[]s
claudio

Enviado: 10 Jul 2007 11:44
por sygecom
cl@udio escreveu:Este problema ocorre quando o cursor estiver em uma coluna menor.

exemplo cabecalho tem 80 colunas so vai ate a 80.
mas se vc tiver na linha com 100 ai ele mostra ate a 100.

Outro problema q encontrei e no xHarbour linux, parece que ele nao ve o fim da linha fica tudo na mesma linha.
[]s
claudio
Tche, eu não toh usando o linux ainda...mas te pergunto ...no windows funciona blz ?

O que vc quiz dizer com cabeçalho tem 80 soh vai até 80...acho quanto a isso esta certo...se a sua linha tem um total de 80 para que mostrar mais do que os 80..

Se quiser tb. pode dar uma olhada no exemplo abaixo:
http://www.sygecom.com.br/xharbour/viewer_xharbour.zip

E nesse outro link abaixo tenho diversos exemplo procure pelo exemplo de uso da função de ler TXT pelo TBROWSE..em xharbour...
http://www.sygecom.com.br/xharbour/sagi_gtwvt.zip

Abraços
Leonardo Machado

Abraços
Leonardo Machado

Enviado: 10 Jul 2007 17:05
por cl@udio
sygecom escreveu: Tche, eu não toh usando o linux ainda...mas te pergunto ...no windows funciona blz ?

O que vc quiz dizer com cabeçalho tem 80 soh vai até 80...acho quanto a isso esta certo...se a sua linha tem um total de 80 para que mostrar mais do que os 80..

Se quiser tb. pode dar uma olhada no exemplo abaixo:
http://www.sygecom.com.br/xharbour/viewer_xharbour.zip

E nesse outro link abaixo tenho diversos exemplo procure pelo exemplo de uso da função de ler TXT pelo TBROWSE..em xharbour...
http://www.sygecom.com.br/xharbour/sagi_gtwvt.zip

Abraços
Leonardo Machado
Amigo
Vou tentar explicar.
Quando a barra de destaque esta em uma linha onde por exemplo so tem 60 caracteres e vc pressiona a tecla END, a tela nao se move para direita.
Mas se voce for para a segunda linha que tem 130 caracteres e pressiona a tecla END ai a tela se move para direita. Isto para windows.
Para linux tirei o chr(13) para encontrar o final da linha e ficou blz, mas quando digito PAGE DOWN e PAGE UP ai bagunça tudo.
[]s
claudio

Enviado: 10 Jul 2007 17:24
por sygecom
Quando a barra de destaque esta em uma linha onde por exemplo so tem 60 caracteres e vc pressiona a tecla END, a tela nao se move para direita.
Isso até onde eu entendo esta correto....não vejo motivo algum de a Barra ir para a direita sendo que tudo jah esta na tela que seria até os 80.
Mas se voce for para a segunda linha que tem 130 caracteres e pressiona a tecla END ai a tela se move para direita. Isto para windows.
Agora sim...em 130 colunas a barra tem motivo de ir para a direita.
Para linux tirei o chr(13) para encontrar o final da linha e ficou blz, mas quando digito PAGE DOWN e PAGE UP ai bagunça tudo.
Tche, agora sim...Linux...não é meu chão ainda...lamento...veremos se alguem aparece para dar uma luz.

Abraços
Leonardo Machado

Enviado: 10 Jul 2007 18:01
por Maligno
cl@udio escreveu:Para linux tirei o chr(13) para encontrar o final da linha e ficou blz, mas quando digito PAGE DOWN e PAGE UP ai bagunça tudo.
Não parei pra analisar o código, mas apenas para lembrar: em DOS o fim da linha é marcada pelo par Chr(13)+Chr(10). No Unix, Chr(10) apenas. As funções PgUp e PgDown precisam encontrar os finais das linhas. Se você removeu o Chr(13) pra acertar em Unix, ele deve estar se perdendo aí.