Página 1 de 1
Varrer um TXT e apagar linhas
Enviado: 15 Jun 2011 16:20
por marcos.gurupi
Caro, eu tenho um arq. do SPED TXT q eh criado pela ECF da daruma nele consta o registro C425 eu quero apenas varrer este arq. e eliminar as linhas q constao com o C425. Nao queria mexer com dbf temporario. Alguem saberia como fazer isso?
Código: Selecionar todos
|C425|00003|2000,000|un|8000,00|0,00|0,00|
|C425|000075|1000,000|un|13000,00|0,00|0,00|
Marcos Roberto
Varrer um TXT e apagar linhas
Enviado: 15 Jun 2011 16:42
por alxsts
Olá!
Só vejo uma saida:
abrir o TXT origem e ler sequencialmente, linha a linha até o fim, procurando pelo código "|C425".
Se a linha não contiver o código, gravar esta linha no TXT de saída. Se tiver o código, ignorar a linha e ler a próxima.
Veja o tópico
Fread em TXT com tamanho variável de linha... para um exemplo de leitura e busca dentro de um TXT.
Varrer um TXT e apagar linhas
Enviado: 15 Jun 2011 17:36
por Jairo Maia
Olá Pessoal,
Como em [x]Harbour pode carregar texto maior que 64K, uma forma simplificada para isso, já que a premissa é fixa e não precisa de analise em cada linha, também pode usar assim:
Código: Selecionar todos
Function Main()
Local i, cArqOld, cArqNew:="", nLines, cLine, Eol:=Chr(13)+Chr(10)
cArqOld := MemoRead( "Seu_Arquivo.txt" )
nLines := MlCount( cArqOld,254 )
For i=1 To nLines
cLine := MemoLine( cArqOld, 254, i )
If ! ( "|C425|" $ cLine )
cArqNew+=cLine + Eol
EndIf
Next
MemoWrit( "Filtrado.txt", cArqNew )
Varrer um TXT e apagar linhas
Enviado: 15 Jun 2011 17:53
por marcos.gurupi
Obrigado a todos pela contribuicao. E obrigado principalmente ao amigo Jairo, o seu exemplo era o q eu procura. "Enxuto"
Marcos Roberto.
Varrer um TXT e apagar linhas
Enviado: 15 Jun 2011 18:16
por alxsts
Olá!
Muito bom mesmo. E simples...
A lógica é a mesma. Mas eu não pensei nessas funções de leitura.