por [url=https://pctoledo.org/forum/memberlist.php?mode=viewprofile&u=100899][color=#00AA00]Pablo César[/color][/url]: Mensagem recuperada através de citações de outros usuários. Pois esta mensagem foi re-editada pelo próprio autor apagando o seu conteúdo e prejudicando o entendimento do tópico. Esta prática não é aceita no fórum.
Importar data com Append
Moderador: Moderadores
Importar data com Append
Preciso importar com Append uma data de um arquivo TXT que se encontra no formato 31122006 para um DBF campo cujo campo é data. Não estou conseguindo, é possível fazer isso com o Append ??
Nota de Moderação:
por [url=https://pctoledo.org/forum/memberlist.php?mode=viewprofile&u=100899][color=#00AA00]Pablo César[/color][/url]: Mensagem recuperada através de citações de outros usuários. Pois esta mensagem foi re-editada pelo próprio autor apagando o seu conteúdo e prejudicando o entendimento do tópico. Esta prática não é aceita no fórum.
por [url=https://pctoledo.org/forum/memberlist.php?mode=viewprofile&u=100899][color=#00AA00]Pablo César[/color][/url]: Mensagem recuperada através de citações de outros usuários. Pois esta mensagem foi re-editada pelo próprio autor apagando o seu conteúdo e prejudicando o entendimento do tópico. Esta prática não é aceita no fórum.
Editado pela última vez por Grings em 22 Mai 2009 21:31, em um total de 1 vez.
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Tche, abaixo segue um exemplo completo....
Qualquer duvida prende o grito....
Abraços
Leonardo Machado
Código: Selecionar todos
cls
vARQ:={}
aadd( vARQ, {"data","D",8,0} )
DBcreate("TESTE.DBF", vARQ)
use teste alias teste shared new
hand=FOPEN("c:\teste.txt")
xdata=FREADSTR(hand,8)
FCLOSE(hand)
xDATA1=left(xdata,2)
xDATA2=left(xdata,4)
xDATA3=RIGHT(xdata2,2)
xDATA4=RIGHT(xdata,4)
xDATA4=xDATA1+"/"+xDATA3+"/"+xDATA4
@ 10,10 SAY XDATA COLOR("B/W*")
@ 11,10 SAY XDATA4 COLOR("B/W*")
@ 12,10 SAY CTOD(XDATA4) COLOR("B/W*")
sele teste
append blank
repl data with xdata4
return
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Leonardo,
De onde foi que você tirou que a data em questão reside nas primeiras 8 posições do arquivo texto?
E que jeito esdrúxulo é esse de converter o texto em DATE? Não seria mais fácil algo do tipo:
De onde foi que você tirou que a data em questão reside nas primeiras 8 posições do arquivo texto?
E que jeito esdrúxulo é esse de converter o texto em DATE? Não seria mais fácil algo do tipo:
Código: Selecionar todos
set date british
set century on // não é essencial
cData := "31122006"
dData := CtoD(Transf(cData,"@R 99/99/9999"))[]'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!
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!
Re: Importar data com Append
Não me lembro exatamente dessa parte (nunca usei e não vi o NG) mas acredito que não, pois o APPEND provavelmente espera que a data esteja no formato ANSI (YYYYMMDD). Então, você terá que fazer (+/-) como o Leonardo sugeriu: abrir o arquivo texto e capturar a porção que registra essa data. Daí é converter e importar da forma que precisar.Grings escreveu:Preciso importar com Append uma data de um arquivo TXT que se encontra no formato 31122006 para um DBF campo cujo campo é data. Não estou conseguindo, é possível fazer isso com o Append ??
[]'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!
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!
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Tche, ele disse que esta em um TXT , eu não disse se sabe abrir ou localizar algo no TXT....ele não detalhou pq não esta conseguindo...De onde foi que você tirou que a data em questão reside nas primeiras 8 posições do arquivo texto?
Maligno....acho que vossa senhoria deveria medir as palavras antes de Postar...sou postei uma ajuda a um colega....E que jeito esdrúxulo é esse de converter o texto em DATE?
Seu exemplo não esta pegando de um TXT.....alias de onde vc tirou que essa DATA esta vindo de uma variavel fixa.......?Não seria mais fácil algo do tipo:
Código:
set date british
set century on // não é essencial
cData := "31122006"
dData := CtoD(Transf(cData,"@R 99/99/9999"))
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Código: Selecionar todos
xDATA1=left(xdata,2)
xDATA2=left(xdata,4)
xDATA3=RIGHT(xdata2,2)
xDATA4=RIGHT(xdata,4)
xDATA4=xDATA1+"/"+xDATA3+"/"+xDATA4Código: Selecionar todos
CtoD(Transf(xdata,"@R 99/99/9999"))Meu código é um exemplo simples que trata apenas da conversão. Por isso "inventei" uma variável. Agora, de onde o cara vai pegar a data é problema dele. Além do que, a pergunta dele foi "é possível fazer isso com o Append ??". E dei minha resposta. Ele não pediu código exemplo pra ler um TXT.Seu exemplo não esta pegando de um TXT.....alias de onde vc tirou que essa DATA esta vindo de uma variavel fixa.......?
Inclusive, o exemplo de conversão que dei foi mais direcionado à você, que me deixou surpreso. Imagino que você devia estar bem distraído para compor aquilo.
Mas, por favor, atente para o fato de que minha crítica não é ofensiva, mas construtiva.
[]'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!
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!
Não faltou, Eolo. Está na minha primeira mensagem. Veja lá.Eolo escreveu:Maligno,
Faltou um SET DATE BRIT...
[]'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!
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!
Distraiu-se. Tudo bem. Acontece comigo o tempo todo. 
Mas se você reparar bem, faltou sim um SET DATE BRITISH, mas no exemplo do Leonardo, em sua primeira mensagem. O código dele sempre gravará uma data vazia no DBF.
Mas se você reparar bem, faltou sim um SET DATE BRITISH, mas no exemplo do Leonardo, em sua primeira mensagem. O código dele sempre gravará uma data vazia no DBF.
[]'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!
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!
Importar data com Append
De fato Maligno, Append From não aceita campos data em nenhum formato.
Nota de Moderação:
por [url=https://pctoledo.org/forum/memberlist.php?mode=viewprofile&u=100899][color=#00AA00]Pablo César[/color][/url]: Mensagem recuperada através de citações de outros usuários. Pois esta mensagem foi re-editada pelo próprio autor apagando o seu conteúdo e prejudicando o entendimento do tópico. Esta prática não é aceita no fórum.
por [url=https://pctoledo.org/forum/memberlist.php?mode=viewprofile&u=100899][color=#00AA00]Pablo César[/color][/url]: Mensagem recuperada através de citações de outros usuários. Pois esta mensagem foi re-editada pelo próprio autor apagando o seu conteúdo e prejudicando o entendimento do tópico. Esta prática não é aceita no fórum.
Editado pela última vez por Grings em 22 Mai 2009 21:22, em um total de 1 vez.
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Toda vida ficaria melhor....não desmereci em momento algum o seu exemplo...apenas comentei.....coloquei um exemplo que veio na cabeça....na aquela hora...Se fosse um iniciante, até nem me preocuparia. Mas esse código, pra um sujeito com a sua experiência, não só é uma forma bem esdrúxula como um desperdício. Refatorando fica com uma só linha. Não fica melhor usar a única linha abaixo?
Realmente Maligno....vc tem razão...eu deveria esta bem distraido....talvez cansado....afinal jah era 21:30 da noite...eu tava desde cedo na luta....mas o que me deixa....as vezes com má impressão de vossa senhoria é que vc tenta tripudiar....em cima dos outros, acho que todos aqui no forum de uma certa maneira estão querendo colaborar.....seria muito mais simples.....vc postar seu codigo dando sua dica....e pronto..Meu código é um exemplo simples que trata apenas da conversão. Por isso "inventei" uma variável. Agora, de onde o cara vai pegar a data é problema dele. Além do que, a pergunta dele foi "é possível fazer isso com o Append ??". E dei minha resposta. Ele não pediu código exemplo pra ler um TXT.
Inclusive, o exemplo de conversão que dei foi mais direcionado à você, que me deixou surpreso. Imagino que você devia estar bem distraído para compor aquilo
Obrigado e Igualmente.....Mas, por favor, atente para o fato de que minha crítica não é ofensiva, mas construtiva.
Mas se você reparar bem, faltou sim um SET DATE BRITISH, mas no exemplo do Leonardo, em sua primeira mensagem. O código dele sempre gravará uma data vazia no DBF.
Realmente esqueci do SET DATE BRITISH......
Abraços
Leonardo Machado
#$%#%%¨&%&#
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Re: Importar data com Append
Mas aceita. Como eu disse, no formato ANSI. Se você ainda tivesse a data nesse formato e pudesse importar tudo, seria mais fácil. Mas se você tem a data no formato britânico e precisa importar apenas parte dos dados, só manualmente mesmo.Grings escreveu:De fato Maligno, Append From não aceita campos data em nenhum formato.
Aliás, nunca uso APPEND pra isso. Sempre faço manualmente.
[]'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!
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!
É, a gente se distrai mesmo. Deve ser por causa da 6a. feira... eheheh
Mas, voltando ao começo, se eu fosse você, Grings, esquecia o APPEND FROM (que é o que eu acho que você tem em mente quando diz "...preciso importar com Append..."). Eu já tentei usar esse comando, por achar que era a salvação da lavoura, e foi um saco: gastei muito tempo e não resolveu 100%.
Eu faria como já foi dito acima: ler linha a linha do TXT, isolar cada campo, testar a consistência de cada um (no caso das datas, por ex, confirmar que não tem nenhuma "vazia" ou incorreta), e depois fazer o APPE BLAN e REPL...
Mas, voltando ao começo, se eu fosse você, Grings, esquecia o APPEND FROM (que é o que eu acho que você tem em mente quando diz "...preciso importar com Append..."). Eu já tentei usar esse comando, por achar que era a salvação da lavoura, e foi um saco: gastei muito tempo e não resolveu 100%.
Eu faria como já foi dito acima: ler linha a linha do TXT, isolar cada campo, testar a consistência de cada um (no caso das datas, por ex, confirmar que não tem nenhuma "vazia" ou incorreta), e depois fazer o APPE BLAN e REPL...
A essa hora,... Sei bem como é. Estou trabalhando todos os dias até 3 ou 4 da manhã. Quando chega nesse ponto é fácil perder a concentração. Mais cedo ou mais tarde será você a me corrigir numa outra thread qualquer. E aceitarei sua intervenção humildemente.sygecom escreveu:Realmente Maligno....vc tem razão...eu deveria esta bem distraido....talvez cansado....afinal jah era 21:30 da noite...eu tava desde cedo na luta....
Não tripudiei coisa alguma. Foi impressão sua. Apenas estranhei um código desse tipo partindo de "Vossa Senhoria". Considere essa última observação um elogio.mas o que me deixa....as vezes com má impressão de vossa senhoria é que vc tenta tripudiar....em cima dos outros
[]'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!
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!


