Lo dudo bastante, ya que cuando se utiliza el método
reset para abrir un archivo de texto, este se abre como
solo lectura. Yo personalmente para tratar con archivos de texto prefiero utilizar un TStringList, que hace todo mucho mas fácil.
Código Delphi
[-]program Project1;
{$APPTYPE CONSOLE} uses SysUtils, Classes;
procedure Modificar(S: string);
var Cadena: string;
begin Cadena:= 'Cadena_a_buscar';
with TStringList.Create do try LoadFromFile(S); Text:= StringReplace(Text,Cadena,'Aquesto',[rfReplaceAll]);
SaveToFile(S);
finally Free; end;
end;
begin Modificar('d:\1.txt');
end.
O si prefieres ir buscando linea a linea (mucho mas lento)
Código Delphi
[-]program Project1;
{$APPTYPE CONSOLE} uses SysUtils, Classes;
procedure Modificar(S: string);
var i: integer; Cadena: string;
begin Cadena:= 'Cadena_a_buscar';
with TStringList.Create do try LoadFromFile(S); for i := 0 to Count -1 do if pos(Cadena,Strings[i])>0 then begin writeln(Cadena + ' esta contenido en ' + Strings[i]);
Strings[i]:= StringReplace(Strings[i],Cadena,'Aquesto',[rfReplaceAll]);
end;
SaveToFile(S);
finally Free; end;
end;
begin Modificar('d:\1.txt');
Readln;
end.