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!