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!
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

.
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