Cita:
Empezado por Urticaria
Podria escribir la cadena modificada en el fichero
|
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.