Ver Mensaje Individual
  #2  
Antiguo 10-05-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.933
Reputación: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por nenufer
Cada vez que yo le doy a un boton en el Memo se introduce una linea(contenido de un campo). Y quiero q todo eso quede registrado en el .txt
El problema viene cuando yo ejecuto y en la misma ejecucion apreto las veces que sea el boton y se escriben,tantaas lineas como veces e pulsado el boton, en el memo, pero en el .txt al no sobreescribirse me lo copia todo repetido.
Me parece que no pasa por como guardes la información en el archivo de texto, sino pasa pro mantejer banderas como para que si no cambio el texto no guardes los cambios.

Código Delphi [-]
procedure AppendToFile(AStrings: TStrings; FileName: TFileName);
var
  Stream: TStream;
  wMode: Word;
begin
  if FileExists(FileName) then
    wMode := fmOpenWrite
  else
    wMode := fmCreate;

  Stream := TFileStream.Create(FileName, wMode);
  try
    Stream.Seek(0, soEnd);
    AStrings.SaveToStream(Stream);
  finally
    Stream.Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Memo1.Modified then
  begin
    Memo1.Modified := False;
    AppendToFile(Memo1.Lines, 'C:\MiArchivo.txt');
  end;
end;

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita