TRANSPORTAR INFORMACOES DE ARQUIVO DBF

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

CDV
Usuário Nível 2
Usuário Nível 2
Mensagens: 91
Registrado em: 30 Ago 2004 10:27

TRANSPORTAR INFORMACOES DE ARQUIVO DBF

Mensagem por CDV »

OLA PESSOAL.
GOSTARIA DE SABER COMO FACO PARA TRANSPORTAR INFORMACOES
DE UM ARQUIVO TEXTO PARA UM ARQUIVO DBF, EU SEI QUE TENHO QUE
USAR O FOPEN PARA ABRIR O ARQUIVO E FREAD PARA LER POIS EU SO
CONSIGO LER A PRIMEIRA LINHA DO ARQUIVO TEXTO MAS NAO CONSIGO LER AS INFORMACOES DA SEGUNDA LINHA EM DIANTE

SE ALGUEM PUDER ME AJUDAR AGRADECO.
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á

Mensagem por Pablo César »

A forma mais prática que tem (não sei se você ja a conhece) é:

USE DBF
APPEND FROM ARQUIVO.TXT SDF

Mas se o formato do seu arquivo texto tiver campos separador com vírgulas, em vez de SDF utilize DELIMITER ","

Lembre que a estrutura do seu DBF tem que correponder com a do seu arquivo.txt
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
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Pablo César escreveu:Lembre que a estrutura do seu DBF tem que correponder com a do seu arquivo.txt
É aí que a coisa pega. Mas não é só isso que atrapalha. Por vezes a formatação de um campo no texto não corresponde com a do DBF, como aconteceu em caso recente, numa outra tread. Daí só mesmo por análise pré-importação, com a ajuda das funções de baixo nível.
Infelizmente ainda não tenho pronto o sub-sistema de texto que comentei há pouco tempo. Ainda falta conferir a parte de gravação. Quando pronto, esse tipo de tarefa será muito simples. Exemplo do que seria:

Código: Selecionar todos

txOpen "c:\arq1.txt" alias "Source" preGet {|s|Filtro(s)+_kEOL}
txCreate tempor noIndex
txImport lines 15 to end from "Source"
//
// APPEND PARA SEU DBF
//
txClose all
Esta seria uma alternativa. O arquivo "Source" será importado da linha 15 até o fim, para "Target". Mas a leitura de cada linha de "Source" será filtrada. Este filtro poderá servir para ignorar, modificar ou reordenar alguns campos. E ao final, ambos os arquivos serão fechados, sendo o temporário apagado. Serviço simples e limpo.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder