Pesquisa em arquivo Texto

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Carol
Usuário Nível 1
Usuário Nível 1
Mensagens: 4
Registrado em: 26 Abr 2005 14:45

Pesquisa em arquivo Texto

Mensagem por Carol »

:( Meus amores, alguem poderia me dizer se tem como fazer o seguinte.

Em um arquivo texto, tenho as seguintes informacoes
1 nome 1
2 nome 2
3 nome 3
4 nome 4
.
.

Supondo que eu queira pegar as informacoes do codigo 3, Como faco pra posicionar nesse codigo, altera-lo e gravar o que foi alterado.
Nao sei se expliquei direito.

Muito obrigada ....bjos
Spitzer
Usuário Nível 2
Usuário Nível 2
Mensagens: 60
Registrado em: 15 Ago 2003 04:56
Localização: Nova Fátima - PR

Mensagem por Spitzer »

Oi, Carol!

Eu sei que não é a solução que você queria obter, mas só sei fazer da forma que vou expor.
Vou expor através de exemplos, que vale mais que mil palavras!

Levando em consideração o seu exemplo "nos míííííííííííííííínimos" detalhes:

Crie um arquivo chamado "texto.txt" e copie para ele as informações que você postou no tópico (religiosamente, obedecendo até os espaços).

Crie um arquivo DBF e nomeie-o de "teste.dbf" com a seguinte estrutura:
- Campo CODIGO, tipo Character, tamanho 2;
- Campo NOME, tipo Character, tamanho 6.

Feito isto, compile e link estes poucos códigos aí embaixo, comentado linha a linha para que você possa entender o que foi feito:

Código: Selecionar todos

CLS // Limpa a tela
USE teste NEW // Abre o arquivo DBF "teste.dbf"
ZAP // Elimina todos os dados do arquivo DBF
// Copia p/o arquivo DBF dados ASCII do arq. "texto.txt"
APPEND FROM texto.txt SDF
// Localiza no arquivo DBF a linha de código "3"
LOCATE FOR ALLTRIM(teste->codigo) = "3"
// Altera conteúdo da coluna "NOME" de "nome 3" p/"Mudei"
REPLACE teste->nome WITH "Mudei"
// Reposiciona o ponteiro no início do arquivo DBF
teste->(DBGOTOP())
// Copia dados alterados do arquivo DBF p/NOVO arquivo texto
COPY TO texto1.txt SDF // Atenção: Copia para "texto1.txt"
DBCLOSEALL() // Fecha todos os arquivos DBF abertos
RETURN // Aborta o programa
Após isto, edite o arquivo "texto.txt" e veja que ele estará intacto.
Edite o arquivo "texto1.txt" e veja que o "nome 3" foi modificado para "Mudei", bem como no arquivo DBF "teste.dbf".

Imagino que você pode adaptar este exemplo às suas necessidades.

Boa sorte!
Abraços,
Ademir Spitzer
Responder