Jump to content
Fivewin Brasil

Problemas com arquivos Texto


Aurimar

Recommended Posts

Bom dia, estou com um problema.Tenho dois "TXT" no qual tenho que ler um caracter de um e um caracter do outro e somar com mais um caracter fixo 0 (zero) e jogar em outro "TXT" até o fim do arquivo.

Já tentei usar a Classe TTxtEdit, TTxtFile. Mas por enquanto sem sucesso.

Alguém tem algum exemplo da utilização dessas classes(exceto os da pasta "samples", pois, estão basicos)?

id=size2>

id='Comic Sans MS'>

Abraços,

Aurimar Ap. da Silva

Desenvolvimento

aurimar@sysfar.com.br

Sys Far - Automação de Drogarias & Farmácias

A TECNOLOGIA FAZ A DIFERENÇAid=size2>

Editado por - Aurimar on 05/08/2004 10:20:09

Editado por - Aurimar on 05/08/2004 10:21:56

Link to comment
Share on other sites

Olá,

Segue um exemplo de como poderia ser a função. Não testei mas parti de uma função muito parecida que funciona. Este exemplo parte do princípio que os dois arquivos iniciais têm o mesmo número de linhas.

#define CR_LF Chr(13) + Chr(10)

function LeLinhas()

cTexto:=''

oTxtDados1:=TTxtFile():New( cArq1 )

oTxtDados2:=TTxtFile():New( cArq2 )

for x=1 to oTxtDados1:reccount()

cLinha1:=oTxtDados1:ReadLn()

cLinha2:=oTxtDados2:ReadLn()

cLinFin:=''

for y=1 to len( cLinha1 )

cLinFin+=substr( cLinha1,y,1 )+substr( cLinha2,y,1 )+''

next

cTexto+=cLinFin+CRLF

oTxtDados1:skip()

oTxtDados2:skip()

next

oTxtDados1:Close()

oTxtDados2:Close()

fwrite( cTexto )

return nil

Espero que ajude.

[]s,

Evandro G. de Paula

Curvelo - MG

evandro@skillnet.com.br (Escr. - na Cidade)

imortal@skillnet.com.br (Res. - na Roça)

Link to comment
Share on other sites

Perdoem-me os gurus, mas acho que faltaram alguns detalhes.

Segue abaixo o exemplo ajustado:

function LeLinhas()

local cTexto:='', cLin1, cLin2, cLin

local x, y

local oTxt1:=TTxtFile():New( 'arq1.txt' ),;

oTxt2:=TTxtFile():New( 'arq2.txt' ),;

oTxt3:=TTxtFile():New( 'arq3.txt' )

for x=1 to oTxt1:reccount()

cLin1:=oTxt1:ReadLn()

cLin2:=oTxt2:ReadLn()

cLin:=''

for y=1 to len( cLin1 )

cLin+=substr( cLin1,y,1 )+substr( cLin2,y,1 )+'0'

next

cTexto+=cLin+CRLF

oTxt1:skip()

oTxt2:skip()

next

oTxt1:Close()

oTxt2:Close()

if oTxt3:Open()

oTxt3:add( cTexto )

oTxt3:Close()

endif

msginfo( 'Operação realizada com sucesso','Parabens' )

return nil

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...