Ver Mensaje Individual
  #5  
Antiguo 31-08-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola walterk.

Si tenes la certeza de que las cadenas a buscar ('[Area.' y 'Layer=') siempre existirán en el archivo, podrías hacer:
Código Delphi [-]
uses StrUtils;

procedure ActualizarArea(const FileName, Area: string);
var
  Strings: TStrings;
  i, p1, p2: Integer;
  cad : string;
begin
  Strings := TStringList.Create;
  try
    Strings.LoadFromFile(FileName);

    // Area
    for i := 0 to Strings.Count-1 do
      if Pos('[Area.', Strings[i]) <> 0 then Break;
    cad  := Strings[i];
    p1 := Pos('[Area.', cad);
    p2 := PosEx(']', cad, p1);
    Delete(cad, p1 + 6, p2 - p1 - 6);
    Insert(Area, cad, p1 + 6);
    Strings[i] := cad;

    // Layer
    for i := 0 to Strings.Count-1 do
      if Pos('Layer=', Strings[i]) <> 0 then Break;
    cad := Strings[i] + '~'; // indicador de final
    p1  := Pos('Layer=', cad);
    p2  := PosEx('~', cad, p1);
    Delete(cad, p1 + 6, p2 - p1 - 6 + 1);
    Insert(Area, cad, p1 + 6);
    Strings[i] := cad;

    Strings.SaveToFile(FileName);
  finally
    Strings.Free;
  end;
end;
Ejemplo de uso:
Código Delphi [-]
const
  FNAME = 'area.txt';

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Lines.LoadFromFile(FNAME);
end;

procedure TForm1.btNewVersionClick(Sender: TObject);
begin
  ActualizarArea(FNAME, '3141592654' ); // o también: ActualizarArea(FNAME, IntToStr(entero));
  Memo1.Lines.LoadFromFile('c:\tmp\area.txt');
end;


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 31-08-2015 a las 18:28:30. Razón: corregir caracter del código
Responder Con Cita