Manipulação de arquivo .txt
Enviado: 29 Nov 2011 15:26
Olá pessoal, boa tarde.
Possuo um arquivo .txt no modelo deste a seguir:
Preciso fazer uma função que identifique a posição, por exemplo, número 8 de todas as linhas que forem tipo "3" (que se iniciam com 3).
As posições são incrementadas a cada ' "," ' e as linhas são incrementadas a cada chr(13) (quebra de linha).
Portanto, consegui fazer uma função que conta o número de linhas e de posições:
Agora peço a ajuda de vocês, como consigo identificar e trocar somente os valores de uma posição específica neste arquivo?
Creio que devo utilizar a função memowrit() para gravar, mas meu problema está em identificar a posição e trocar seu valor.
Agradeço desde já a ajuda de todos!
Abraços!
Possuo um arquivo .txt no modelo deste a seguir:
Código: Selecionar todos
"1","1","53.606.869/0001-40","02.801.096/0001-12","1.912.01","158","158","55","NFE"," ","01/04/11","01/04/11"
"3","10260311","1,00","18.036,00","000","1","0,00","0,00","0,00","18.036,00","0,00","0,00","0,00","0,00","0,00"
"1","1","53.606.869/0001-40","07.546.689/0001-01","1.551.01","180","180","55","NFE"," "
"3","10260311","1,00","18.036,00","000","1","0,00","0,00","0,00","18.036,00","0,00","0,00","0,00","0,00","0,00"
"3","10260311","1,00","18.036,00","000","1","0,00","0,00","0,00","18.036,00","0,00","0,00","0,00","0,00","0,00"
"1","1","53.606.869/0001-40","07.546.689/0001-01","1.551.01","180","180","55","NFE"," "As posições são incrementadas a cada ' "," ' e as linhas são incrementadas a cada chr(13) (quebra de linha).
Portanto, consegui fazer uma função que conta o número de linhas e de posições:
Código: Selecionar todos
xvar=memoread("entradas.txt")
xc=1
xpos=1
xlin=1
do while xc<=len(xvar)
if substr(xvar,xc,"3")='","'
xpos=xpos+1
endif
if substr(xvar,xc,"1")=chr(13)
xlin=xlin+1
endif
xc=xc+1
enddo
clear
@ 00,00 say xpos
@ 00,20 say xlinCreio que devo utilizar a função memowrit() para gravar, mas meu problema está em identificar a posição e trocar seu valor.
Agradeço desde já a ajuda de todos!
Abraços!