Converter dbf foxpro para dbf xharbour
Enviado: 30 Jun 2021 23:05
boa noite amigos ...
Estou tendo dificuldade em migrar uma base DBF de um programa desenvolvido em foxpro para meu em xharbour ambos estão em CDX ... antes eu nem conseguia abrir o arquivo ... intalei o foxpro 9 e converti o dbf para xbase IV e apartir de ai consegui abrir o arquivo com o DBU normalmente .. porem fiz um .prg para converter os campos para o meu dbf e ele simplesmente não navega pelo banco com o SKIP saltando para o registro seguinte e grana somente os dpois primeiros registro ... alguem já passou por essa experiencia e pode me ajudar???
Vejam o codigo ... é aparente simples ... mais vai que eu esteja errando em alguma parte ...
eu consegui jogar em uma planilha do excell tbm, se alguem puder me ajudar a pegar o conteudo do campo de cada celula e jogar no dbf tbm me salva ...
fico no aguardo amigos ..
forte abraço!
Deivid Souza
Estou tendo dificuldade em migrar uma base DBF de um programa desenvolvido em foxpro para meu em xharbour ambos estão em CDX ... antes eu nem conseguia abrir o arquivo ... intalei o foxpro 9 e converti o dbf para xbase IV e apartir de ai consegui abrir o arquivo com o DBU normalmente .. porem fiz um .prg para converter os campos para o meu dbf e ele simplesmente não navega pelo banco com o SKIP saltando para o registro seguinte e grana somente os dpois primeiros registro ... alguem já passou por essa experiencia e pode me ajudar???
Vejam o codigo ... é aparente simples ... mais vai que eu esteja errando em alguma parte ...
Código: Selecionar todos
use TMPRO
c_codprod := "000000"
do while !EOF()
@03,05 say ALLTRIM(CODIGO_INT)
@04,05 say ALLTRIM(CATEGORIA)
c_codprod := strzero(VAL(c_codprod)+1,6)
c_descr := articulo
n_cusunit := costo
n_cusrep := costo
n_cusmed := costo
n_quant := cantidad
n_punitv := menor
n_punita := mayor
c_marca := marca
if alltrim(categoria) = "PLOMERIA"
c_codgru := "001"
endif
if alltrim(categoria) = "ELECTRIDAD"
c_codgru := "002"
endif
if alltrim(categoria) = "BULONERIA"
c_codgru := "003"
endif
if alltrim(categoria) = "CERRADURA"
c_codgru := "004"
endif
if alltrim(categoria) = "ADHESIVOS"
c_codgru := "005"
endif
if alltrim(categoria) = "PINTURA"
c_codgru := "006"
endif
if alltrim(categoria) = "CONSTRUCCION"
c_codgru := "007"
endif
if alltrim(categoria) = "CABLES"
c_codgru := "008"
endif
if alltrim(categoria) = "ABRASIVOS"
c_codgru := "009"
endif
if alltrim(categoria) = "GRIFERIA"
c_codgru := "010"
endif
if alltrim(categoria) = "REFRIGERACION"
c_codgru := "011"
endif
if alltrim(categoria) = "JARDINERIA"
c_codgru := "012"
endif
if categoria = space(13)
c_codgru := "013" // GRUPO GENERAL
endif
if unidad = "Un."
c_und := "UN"
endif
if unidad = "Mt"
c_und := "MT"
endif
@10,10 say c_codprod
@12,10 say c_descr
@14,10 say recno()
@16,10 say c_marca
@18,10 say n_quant
use PRO
append blank
replace cc_codprod with c_codprod,;
cc_descr with c_descr,;
cn_cusunit with n_cusunit,;
cn_cusrep with n_cusrep,;
cn_cusmed with n_cusmed,;
cn_quant with n_quant,;
cn_punitv with n_punitv,;
cn_punita with n_punita,;
cc_marca with c_marca,;
cc_codgru with c_codgru,;
cn_icmven with 10,;
cn_icmcomp with 10,;
cn_qtdfact with n_quant
use TMPRO
skip
enddo
fico no aguardo amigos ..
forte abraço!
Deivid Souza