Ver Mensaje Individual
  #4  
Antiguo 03-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
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.
Responder Con Cita