Ler arquivo txt, deletar linha e salvar arq. com outro nome

09/12/2003

1

tenho um txt no seguinte formato

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 17
1 2 3 4 5 6 7 8 9 10 11 12 13 14 18

são linhas contendo apenas 15 numeros por linhas.

quero ler este txt e deletar todas as linhas que tem o numero 18, e salvar o restante deste arquivo com outro nome.


Responder

Posts

10/12/2003

Agnaldo

tenho um txt no seguinte formato 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 18 são linhas contendo apenas 15 numeros por linhas. quero ler este txt e deletar todas as linhas que tem o numero 18, e salvar o restante deste arquivo com outro nome.


Olá.
vc pode fazer o seguinte:

Var Lista:TStringList;
i:Integer;
Begin
Lista:=TStringList.Create;
Lista.LoadFromFile(´seuarquivotexto´);

For i:=1 to Lista.Count -1 downto 0 do begin
if Lista[i]=´18´ then Lista.Delete(i);
End;
Lista.SaveToFile(´novoarquivo´);
Lista.Free;

End;

é uma ideia, vc pode incrementar...


Responder

10/12/2003

Cbillo

usando a ideia do Prates:

Var Lista, Lista1:TStringList;
i,x:Integer;
Begin
Lista:=TStringList.Create;
Lista1:=TStringList.Create;
Lista.LoadFromFile(´seuarquivotexto´);
x:=0;

For i:=1 to Lista.Count -1 downto 0 do begin
begin
if pos(´ 18 ´,Lista[i]) > 0 then Continue;

Lista1[x] := Lista[i];
inc(x)
end;
End;
Lista1.SaveToFile(´novoarquivo´);
Lista.Free;
Lista1.Free;
End;

é outra ideia, vc pode incrementar...
_________________
By, Cicero


Responder