Página 1 de 1

Gerar Relatório em Tela.

Enviado: 19 Jan 2005 19:53
por Marcos
Olá a todos, eu sei que este tópico já foi discutido aqui, eu pesquisei mas não encontrei nada sobre o assunto, alguém poderia me ajudar a imprimir relatório na tela, com aquelas opções de navegação pelo relatório?
Se alguém me ajudar fico grato.
Abraços,
Marcos.

Enviado: 19 Jan 2005 20:39
por Clipper
Prezado Marcos

Para gerar um relatório e visualisá-lo na tela é simples :

Primeiro você deve redirecionar a impressão para um arquivo, exemplo :

SET PRINTER TO RELATO.TXT

e depois executar uma função que mostre o tal arquivo na tela, eu uso a função VIEWER() da LIB com o mesmo nome, ela está disponivel no meu site, veja um exemplo de uso, veja como é simples, você poderá navegar pelo relatório com as teclas de direção e teclas de movimentação.

VIEWER("RELATO.TXT",01,00,23,79,"W+/B")
Uso : VIEWER(arquivo,LInicial,Cinicial,LFinal,CFinal,Cor)
Onde :
Arquivo = Nome do arquivo a ser visualisado
LInicial = Linha inicial da janela
CInicial = Coluna inicial da janela
LFinal = Linha final da janela
CFinal = Coluna final da janela
Cor = String de cores a ser usada

Até logo.

Marcelo

Enviado: 19 Jan 2005 23:34
por janio
Olá Marcos,

Tenho uma rotina que peguei no site do Toledo que é SHOW! funciona que é uma beleza! :P
Segue basicamente a mesma regra que o Marcelo citou... é preciso gerar um TXT... a diferença desta rotina é que não precisa usar nenhuma lib.

Se interessar, manda um e-mail...

Bay, bay

Jânio

Exibir arquivo texto

Enviado: 20 Jan 2005 01:07
por Toledo
Marcos,

Aqui mesmo na seção Download do Fórum tem alguns exemplos disto, veja:

Biblioteca Viewer10
https://pctoledo.org/forum/fileba ... r10&page=1 (URL edita por Pablo César)

Função Tela - TBrowse
https://pctoledo.org/forum/fileba ... wse&page=1 (URL edita por Pablo César)

Mostrar texto com mais de 64 Kb
https://pctoledo.org/forum/fileba ... XTO&page=1 (URL edita por Pablo César)


Para futuras consultas do conteúdo da seção Download aqui do Fórum, utilize a opção Imagem.

Abraços,

Grato.

Enviado: 20 Jan 2005 09:37
por Marcos
Obrigado a todos pelas respostas, vou testa-las, mas antes tenho uma dúvida! Se for gerado um arquivo em TXT terá que ser feito de acordo com o terminal? Porque se estiver em rede e 2 terminais gerar o arquivo com mesmo nome dará problema quando abri-lo, não?
Marcos.

Enviado: 20 Jan 2005 10:31
por janio
Amigo Marcos,

Até que é possível acontecer o que vc citou, mas... mas... mas... vc tem duas maneiras de evitar isso:

1- Direcionar a criação do TXT para a máquina local através do SET DEFAULT. Ex.: SET DEFAULT TO C:\WINDOWS

2- Utilizar um função que verifica se já existe o arquivo a ser criado... se existir ele cria outro arquivo e numera sequencialmente... Exemplo: temp0001.txt, temp0002.txt... temp9999.txt.

Valeu?

Janio

Enviado: 20 Jan 2005 11:53
por Clipper
Prezado Marcos

Você pode usar um nome de arquivo temporário, você pode criar sua própria rotina para isso ou usar a função TEMPFILE() da Clipper Tools.

Até logo.

Marcelo

Rotina do Toledo.

Enviado: 20 Jan 2005 12:16
por Marcos
Estou tentando usar a Rotina de Tela-TBrowse-42 do Toledo, estou criando o arquivo por usuário para não dar conflito, só que está acontecendo o seguinte problema:
- Como faço para apagar os dados que já foram impressos em arquivo anterior, pois, está acontecendo que quando eu mando imprimir está acumulando tudo no DBF ficando gravado vários relatórios;
- Aconteceu também quando eu tentei abrir o relatório ao mesmo tempo em terminais diferentes, ele pedir o comando Lock de rede, esta rotina não está preparada para rede?
Abraços, e obrigado pela atençaõ de todos.
Marcos.

Enviado: 20 Jan 2005 13:05
por janio
Marcos,

Ao que tudo indica, vc preferiu a 2ª opção, criar os arquivos no Servidor e não em cada estação, correto?

Para este caso, além do TXT ser diferente para cada chamada da função, TAMBÉM O DBF temporário tem que o ser!

Tente fazer a mesma coisa q vc fez com o TXT, ou seja, criar o DBF com o nome do usuário...

Jânio