Pessoal estou com um problema para converter um arquivo .txt para .dbf o seguinte o arquivo .txt que estou tentando converte e do seguinte formato: ex: PED|01|12|1,2000|21102006|1 os campos estao separados por este caracter | e ja usei APPEND FROM nome Arquivo DELEMITE WITH | ou || ou ´||´ ou (||) e nao deu em nada por isso estou colocando este problema aqui se alguem puder me ajudar ficarei muito agradecido, muito obrigado pela forca Valeu
Helio Beltrao Jr.
helio@hrbinfo.com.br
Pessoal estou com um problema de conversao de .txt p/ .dbf
Moderador: Moderadores
Me manda o arquivo que vou ver o que consigo, se não der com o Append From (que eu acho que não dá), eu faço uma rotina para tranferir.
Até logo.
Ps. Mande tb a estrutiura do DBF.
Marcelo mmendeso@gmail.com mmendeso@ig.com.br
Até logo.
Ps. Mande tb a estrutiura do DBF.
Marcelo mmendeso@gmail.com mmendeso@ig.com.br
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)
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)
Teste isto:
Neste caso, os campos são separados por ";".
No arquivo HUM é feito uma carga completa do seu arquivo texto.
[hum.dbf - campo1, C, 500, 0]
m_campo := array(15)
hum->(dbgotop())
while !hum->(eof())
@ 20,05 say hum->(recno()) color 'w/r'
afill(m_campo, '')
a12 := alltrim(hum->campo1)
i := 1
a13 := 1
while a13 > 0
a13 := at(';', a12) - 1
m_campo := left(a12, a13)
a12 := substr(a12, a13 + 2)
i++
end
doiz->(dbappend())
doiz->campo1 := m_campo[01]
doiz->CODISERV := val(m_campo[02])
doiz->CMP_ID := m_campo[03]
doiz->PLANO := m_campo[04]
doiz->CNPJ := m_campo[05]
doiz->CEDREQ := m_campo[06]
doiz->BENEFICIAR := m_campo[07]
doiz->SUBSIDIO := m_campo[08]
doiz->ASSINATURA := m_campo[09]
doiz->COMPROVACA := m_campo[10]
hum->(dbskip())
end
Neste caso, os campos são separados por ";".
No arquivo HUM é feito uma carga completa do seu arquivo texto.
[hum.dbf - campo1, C, 500, 0]
m_campo := array(15)
hum->(dbgotop())
while !hum->(eof())
@ 20,05 say hum->(recno()) color 'w/r'
afill(m_campo, '')
a12 := alltrim(hum->campo1)
i := 1
a13 := 1
while a13 > 0
a13 := at(';', a12) - 1
m_campo := left(a12, a13)
a12 := substr(a12, a13 + 2)
i++
end
doiz->(dbappend())
doiz->campo1 := m_campo[01]
doiz->CODISERV := val(m_campo[02])
doiz->CMP_ID := m_campo[03]
doiz->PLANO := m_campo[04]
doiz->CNPJ := m_campo[05]
doiz->CEDREQ := m_campo[06]
doiz->BENEFICIAR := m_campo[07]
doiz->SUBSIDIO := m_campo[08]
doiz->ASSINATURA := m_campo[09]
doiz->COMPROVACA := m_campo[10]
hum->(dbskip())
end
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
- helio
- Usuário Nível 3

- Mensagens: 175
- Registrado em: 04 Ago 2004 10:36
- Localização: São Bento do Una-PE
- Contato:
Valeu gvc foi mais ou menos o que consegui fazer Valeu pela forca.
Helio Beltrao
helio@hrbinfo.com.br
Helio Beltrao
helio@hrbinfo.com.br
