Ler arquivo txt, deletar linha e salvar arq. com outro nome
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.
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.
Snipes
Curtidas 0
Respostas
Agnaldo
09/12/2003
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...
GOSTEI 0
Cbillo
09/12/2003
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
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
GOSTEI 0