Jump to content
Fivewin Brasil

Abrir arquivos com Memo do Clipper em xHarbour


wagner1361303176

Recommended Posts

Olá para todos,

Migrei os sistemas para xHarbour e to tendo problemas com perda de dados e o Hasse já me deu uma dica do que pode ser, mais agora surgiu outro, uso muito campo MEMO, e criei uma programa para migrar minha base em clipper para realmente o xHarbour (copy structure e depois append from nos dados) para ficar com os dados nativos do xHarbour (DBFCDX) , o problema que quando vou fazer esse procedimento, quando chega em arquivos com memo (FPT) trava e não passa se elimino o campo MEMO, o arquivo processa normalmente, alguém conhece algum utilitário para converter a minha base sem perder os dados no MEMO, pois vou precisar para usar também em clientes.

valeu t+

Clipper 5.2e/xHarbour 1.0.0 Simplex / xHarbour 1.2.1 Simplex / FWH 9.04 xDEV 0.70 / Workshop 4.5

Link to comment
Share on other sites

Olá para todos,

Migrei os sistemas para xHarbour e to tendo problemas com perda de dados e o Hasse já me deu uma dica do que pode ser, mais agora surgiu outro, uso muito campo MEMO, e criei uma programa para migrar minha base em clipper para realmente o xHarbour (copy structure e depois append from nos dados) para ficar com os dados nativos do xHarbour (DBFCDX) , o problema que quando vou fazer esse procedimento, quando chega em arquivos com memo (FPT) trava e não passa se elimino o campo MEMO, o arquivo processa normalmente, alguém conhece algum utilitário para converter a minha base sem perder os dados no MEMO, pois vou precisar para usar também em clientes.

valeu t+

Clipper 5.2e/xHarbour 1.0.0 Simplex / xHarbour 1.2.1 Simplex / FWH 9.04 xDEV 0.70 / Workshop 4.5

Link to comment
Share on other sites

verifique se voce está fazendo "REQUEST DBFFPT" no programa, pq para abrir arquivos DBFCDX que tem memo é necessário

abraço

Yury Marcelino Al

Viman Sistemas

vimansca@vimansca.com.br

yury030575@yahoo.com.br (msn)

skype: yury.marcelino.al

Leme / SP

FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say

Link to comment
Share on other sites

Olá Yury,

Essa declaração de MEMO é nova pra mim, mais veja bem eu abro os arquivos DBF e os MEMOS abrem junto sem essa declaração, o que acontece é que os dados gravados nesses memos simplesmente somem, truncam, e em alguns registros, pelo que sei o MEMO tem um certo tamanho de bloco em bytes, aí é a pargunta esse tamanho é diferente de Clipper para xHarbour, o que daria o problema nos dados ?

Valeu ...

Clipper 5.2e/xHarbour 1.0.0 Simplex / xHarbour 1.2.1 Simplex / FWH 9.04 xDEV 0.70 / Workshop 4.5

Link to comment
Share on other sites

veja esta funçãozinha que converte DBFNTX para DBFCDX

adapte para as suas necessidades:


//-----------------------------------------------------

#include 'Fivewin.ch'

Function Main()

cFile=cGetFile('*.DBF','Informe um arquivo')

Converte(cFile)

RETURN

//-----------------------------------------------------

//-----------------------------------------------------

function Converte(arquivo)

local aestru:={}

local ctemp_a:="TEMP.DBF"

local ctemp_d:="TEMP.FPT"

local corig:="DBFNTX"

local cnovo:="DBFCDX"

local mem_ant:=strtran(UPPER(arquivo),".DBF",".DBT")

local mem_new:=strtran(UPPER(arquivo),".DBF",".FPT")

dbusearea(.t.,corig,arquivo,"ant")

aestru:=ant->(dbstruct())

dbcloseall()

dbcreate(ctemp_a,aestru,cnovo)

dbusearea(.t.,cnovo,ctemp_a,"nov")

append from (arquivo)

dbcloseall()

if .not.file(ctemp_a)

msgalert("Problemas durante a conversão. Arquivo "+arquivo+" não foi convertido","ATENÇÃO")

return .f.

endif

erase(arquivo)

if file(mem_ant)

erase(mem_ant)

rename (ctemp_d) to (mem_new)

endif

rename (ctemp_a) to (arquivo)

return .t.

//-----------------------------------------------------

id=code>id=code>

abraço

Yury Marcelino Al

Viman Sistemas

vimansca@vimansca.com.br

yury030575@yahoo.com.br (msn)

skype: yury.marcelino.al

Leme / SP

FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65 / @say

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...