Fórum Alterar conteudo de Arquivo texto sem perder inf #256545

28/10/2004

0

URGENTE!!!!
Como posso fazer para alterar o conteudo de uma linha qualquer de um arquivo txt, via código, sem perder todas as informações contidas.

Desde já grato

Bruno

bfbraz@ig.com.br


[b:a32502db87]Título editado, removido o ´URGENTE !!!´[/b:a32502db87]
Sandra/Moderação


Bfbraz

Bfbraz

Responder

Posts

28/10/2004

Beto_martini

Olá.

Acredito que a melhor forma de fazer isso é criar um novo arquivo com base no arquivo atual.

ex: (o código está bastante longo para facilitar o entendimento)

procedure TForm1.Button1Click(Sender: TObject);
var nomearquivo,nomearquivonovo:string;
arquivotexto,arquivotextonovo:textfile;
linha:string;
posicaoarquivo:integer;
begin
nomearquivo:=´c:\oficina\teste\teste.txt´; // arquivo existente
nomearquivonovo := ´c:\oficina\teste\teste.new´; // novo arquivo a ser criado
assignfile(arquivotexto,nomearquivo);
assignfile(arquivotextonovo,nomearquivonovo);
reset(arquivotexto); // abre arquivo existente
rewrite(arquivotextonovo); // cria novo arquivo
posicaoarquivo:=1; // utilizado porque quero alterar uma linha específica
while not eof(arquivotexto) do
begin
readln(arquivotexto,linha); // lê uma linha do arquivo existente
if posicaoarquivo3 then // se a linha é diferente da que pretendo alterar
begin
writeln(arquivotextonovo,linha); // escreve o conteudo da linha lida para o arquivo novo
end
else
begin
writeln(arquivotextonovo,´nova linha´); // escreve a linha alterada
end;
posicaoarquivo:=posicaoarquivo+1;
end;
closefile(arquivotexto);
closefile(arquivotextonovo);
deletefile(nomearquivo);
renamefile(nomearquivonovo,nomearquivo);
end;

Espero ter ajudado.

Qualquer coisa entre em contato
martini378@hotmail.com


Responder

Gostei + 0

28/10/2004

Vinicius2k

[b:74faf4675f][color=red:74faf4675f]Notificação de Infração às Regras de Conduta :[/color:74faf4675f][/b:74faf4675f]

Colega bfbraz,

Neste tópico ocorreu infração às Regras de Conduta do Fórum.
[list:74faf4675f][*:74faf4675f]Utilização de texto apelativo (URGENTE !!!) no título do tópico.[/list:u:74faf4675f]
Peço que leia atentamente as [url=http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689]Regras de Conduta[/url] para evitar que este fato se repita.

Se algum esclarecimento sobre o funcionamento do fórum ou sobre as Regras de Conduta for necessário, envie-me uma [url=http://delphiforum.icft.com.br/forum/privmsg.php?mode=post&u=2796]Mensagem Particular[/url].


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar