HELP......TXT para DBF

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

HELP......TXT para DBF

Mensagem por kristo »

Caros amigos estou precisando de um imenso favor.....preciso converter arquivos TXT para DBF, mais não tenho a mínima ideia de como fazer....se alguém tiver tempo disponível e puder montar uma PRG pra mim eu ficarei eternamente agradecido.

O TXT se encontra assim:

"INFRAERO EMPRESA BRASILEIRA DE INFRAESTRUTURA AERO";"00352294002911";"00000000000";"068";" 02111000";"69914220";"BR 364 00000 KM 18";"DISTRITO INDUSTRIAL";"RIO BRANCO";"AC";"N"

está tudo em uma linha só, e as colunas são onde estão os ; (ponto e vírgula, o txt chama "AC" eu gostaria de montar uma dbf com esse mesmo nome ou outro qualquer.

os campos são os seguintes: obedecendo o TXT

Nome
Doc1
Doc2
DDD
Telefone
CEP
Endereco
Bairro
Cidade
Estado
Obs

Se alguém puder me fazer esse enorme favor, eu agradeço de coração....sou leigo nesses assuntos.....desculpem o abuso, mais não encontrei outro modo de ajuda.
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Mensagem por Antonio »

Kristo.

A solução é simples:

USE arquivo.dbf
APPEND FROM arquivo.txt DELIMITED
USE

Delimited porque seu arquivo.TXT esta com a delimitação ";" entre um campo e outro.
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Mensagem por kristo »

Antonio escreveu:Kristo.

A solução é simples:

USE arquivo.dbf
APPEND FROM arquivo.txt DELIMITED
USE

Delimited porque seu arquivo.TXT esta com a delimitação ";" entre um campo e outro.


*******
Antonio alguma coisa tá errado ou eu que tô errado.......deu tudo certo, só tem um problema........está indexando no DBF apenas o NOME os outros campos estão em branco. Porque será
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Colega

Primeiro crie um arquivo com a mesma estrutura mencionada na sua postagem depois faça a importação com o seguinte comando.
Obs : Para facilitar coloque todos os campos como Caractere

Coloque o nome do arquivo que você criou de AC.DBF depois é :

USE AC
APPEND FROM AC.TXT DELIMITED WITH ";"
DBCLOSEALL()

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Mensagem por Antonio »

Kristo,

O esclarecimento adicional do colega Marcelo deve resolver, desculpe, faltou a Clausula WITH ";" .

Se voce conhece a estrurara original do arquivo.dbf do qual foi feita a exportação para .TXT, conserve-a na construção do DBF que ira receber a importação do .TXT, se não faça conforme orienta o colega Marcelo.
Editado pela última vez por Antonio em 22 Dez 2004 18:03, em um total de 1 vez.
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Mensagem por kristo »

Clipper escreveu:Prezado Colega

Primeiro crie um arquivo com a mesma estrutura mencionada na sua postagem depois faça a importação com o seguinte comando.
Obs : Para facilitar coloque todos os campos como Caractere

Coloque o nome do arquivo que você criou de AC.DBF depois é :

USE AC
APPEND FROM AC.TXT DELIMITED WITH ";"
DBCLOSEALL()

Até logo.

Marcelo
..............Vou endoidar.........amigo fiz conforme vc pediu, criei o DBF com todos os campos nome, doc1, doc2, ddd, etc....
mais na hora que executo a prg para mover os dados para a DBF, só move a parte que vai para o campo NOME da DBF........o restante dos campos ficam em branco.
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Mensagem por Antonio »

Kristo

Observe o seguinte:


A estrutura do arquivo.dbf que gerou o arquivo.txt na exportação, deve ser mantida na construção do DBF que ira receber a importação do .TXT sendo que o NOME de cada CAMPO pode ser ADOTADO conforme seu gosto ou necessidade respeitando-se os limites do clipper para nome de Campos.

Agora o TIPO, TAMANHO e DECIMAL devem ser identicos entre DBF de origem e DBF de destino.

Somente ilustrando:

DBF origem (que gerou o txt)

NOME, CARACTER, 40, 0
TELE, CARACTER, 08, 0
ENDERE, CARACTER,40,0


O seu DBF destino (que recebera a copia do .txt), poderia ser assim:

NOMECLI, CARACTER, 40,0
TELECLI, CARACTER, 08,0
ENDCLI, CARACTER, 40,0

O nome dos campos podem variar, mas a estrutura tem de ser a mesma
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Mensagem por kristo »

Antonio escreveu:Kristo

Observe o seguinte:


A estrutura do arquivo.dbf que gerou o arquivo.txt na exportação, deve ser mantida na construção do DBF que ira receber a importação do .TXT sendo que o NOME de cada CAMPO pode ser ADOTADO conforme seu gosto ou necessidade respeitando-se os limites do clipper para nome de Campos.

Agora o TIPO, TAMANHO e DECIMAL devem ser identicos entre DBF de origem e DBF de destino.

Somente ilustrando:

DBF origem (que gerou o txt)

NOME, CARACTER, 40, 0
TELE, CARACTER, 08, 0
ENDERE, CARACTER,40,0


O seu DBF destino (que recebera a copia do .txt), poderia ser assim:

NOMECLI, CARACTER, 40,0
TELECLI, CARACTER, 08,0
ENDCLI, CARACTER, 40,0

O nome dos campos podem variar, mas a estrutura tem de ser a mesma

******** amigo entendi a sua colocação, realmente eu estava fazendo errado....só que tem um detalhe que esqueci de mensionar........

Eu recebi o arquivo já em TXT, portanto não sei a estrutura dele.......nesse caso, tem como eu geral um dbf sem saber tal informação ?
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Mensagem por Antonio »

Tive um problema semelhante, porem com campos DATA e minha saida foi presumir a estrutura, não quero dizer que seja uma regra, mas é como eu fiz.

Depois de observado a maneira incorreta como voce menciona, voce tentou importar novamente os dados?

Qual é o tamanho do primeiro campo do DBF que recebe os dados importados do TXT?
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Mensagem por kristo »

Antonio escreveu:Tive um problema semelhante, porem com campos DATA e minha saida foi presumir a estrutura, não quero dizer que seja uma regra, mas é como eu fiz.

Depois de observado a maneira incorreta como voce menciona, voce tentou importar novamente os dados?

Qual é o tamanho do primeiro campo do DBF que recebe os dados importados do TXT?
Fazendo figa para que dê certo, hehehe

O tamanho é de 60 caracteres


Se alguém quiser eu posso estar enviando o arquivo TXT zipado.......o desespero é enorrrrrrrrrrrrrrrrrrrrrrrrrrme, :(
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Mensagem por Antonio »

Se alguém quiser eu posso estar enviando o arquivo TXT zipado.......o desespero é enorrrrrrrrrrrrrrrrrrrrrrrrrrme, :(
manda em tonyenoe@terra.com.br ou tonyenoe@bol.com.br
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
kristo
Usuário Nível 2
Usuário Nível 2
Mensagens: 78
Registrado em: 21 Set 2004 16:19

Mensagem por kristo »

Antonio escreveu:
Se alguém quiser eu posso estar enviando o arquivo TXT zipado.......o desespero é enorrrrrrrrrrrrrrrrrrrrrrrrrrme, :(
manda em tonyenoe@terra.com.br ou tonyenoe@bol.com.br

Tá lá já............nos dois............abraços
Avatar do usuário
Antonio
Usuário Nível 3
Usuário Nível 3
Mensagens: 347
Registrado em: 14 Ago 2003 17:33
Localização: Sao Paulo - SP
Contato:

Mensagem por Antonio »

Kristo,

Seu problema vai alem.....

Parece que houve algum inconveniente na geração do TXT que me parece um aquivo delimitado por ";", contudo existem esse caracter em partes do arquivo que estão sobrando, a mais, entendeu?

Sugestão:

Com um editor de prucure pelos caracteres ";" e substituia-os por um [espaço em branco], bem assim as aspas duplas ("").

Outra forma seria uma Função para agir no TXT removendo esses caracteres, assim voce podera utilizar o APPEND FROM SDF.

Ainda restaria a questão do TAMANHO DE CAPA CAMPO, menos mal, pois todos me parecem caracter, contudo o tamanho implica na disposição dos dados na importação.

Outra coisa, voce não tem acesso a uma copia do Bando de Dados Original?

SE negativo, voce não tem como solicitar que seja gerado um novo TXT sem delimitadores, por exemplo?

SE negativo, voce não tem como solicitar a ESTRUTURA do banco de dados original?
Antonio Carlos
Harbour 3.2 (20180213)
Hwgui 2.20 3b | PostGresql 9.5 | ADO/ODBC
Responder