PDA

Ver la Versión Completa : Sobre Escribir un archivo de texto


mangel
01-07-2005, 21:04:15
Hola:

Quisiera que las lineas que agrego a un archivo de texto se sobre escriban.
Tengo el siguiente codigo:


AssignFile(F1,'C:\Prueba.txt');
Reset(F1);
Rewrite(F1);
Write(F1,lp,clave);
CloseFile(F1);

Obviamente se que el Reset me esta limpiando lo que ya existen en mi archivo pero si lo quito me marca una excepcion. Que puedo hacer. :confused:

Desde ya gracias

marcoszorrilla
01-07-2005, 21:44:43
Para crear un fichero y sobreescribirlo si ya existía con esto es suficiente:

procedure TForm1.Button1Click(Sender: TObject);
var F: TextFile;
begin
AssignFile(F, 'd:\pruebas\MiFichero.txt');
Rewrite(F);
Writeln(F, 'Creo un fichero y borro el contenido del anterior si existe...');
CloseFile(F);

end;


Un Saludo.

yusnerqui
01-07-2005, 21:46:08
De inicio veo que te sobra el reset puesto que eso lo que hace es abrir el archivo en modo de lectura, y como no digas la excepción que te saca cuando la quitas, no creo que te podamos ayudar mucho.

Saludos:)

yusnerqui
01-07-2005, 21:53:09
Estooo, pues si, la barita mágica de marcos es de la última generación:D , ya veo que no tenías que dar tanta información nada.

Un saludo:p

mangel
01-07-2005, 22:45:45
Para crear un fichero y sobreescribirlo si ya existía con esto es suficiente:

procedure TForm1.Button1Click(Sender: TObject);
var F: TextFile;
begin
AssignFile(F, 'd:\pruebas\MiFichero.txt');
Rewrite(F);
Writeln(F, 'Creo un fichero y borro el contenido del anterior si existe...');
CloseFile(F);

end;


Un Saludo.


Gracias por la ayuda.
Realice los cambios que me sugeriste sin embargo creo que no me explique bien por lo cual les pido una disculpa, lo que quiero es que si mi archivo ya tiene grabado algo y quiero guardar mas información esta nueva información quede hasta abajo escrita y asi sucesivamente.

Quiero que mi archivo se vea mas o menos de la siguiente manera:

Escritura 1
Escritura 2
Escritura 3
Escritura N Donde cada escritura puede ser en una tiempo diferente, no necesariamente en el mismo instante.

Gracias por su ayuda.

roman
01-07-2005, 23:04:03
lo que quiero es que si mi archivo ya tiene grabado algo y quiero guardar mas información esta nueva información quede hasta abajo escrita

Entonces no es ni Reset ni Rewrite sino Append.

// Saludos

mangel
01-07-2005, 23:09:33
Pongo la solucion de mi probleme por si tal vez alguien, en algun lugar.......


AssignFile(F,'C:\NoAjuste.txt');
Append(F);
Writeln(F,lp,clave);
CloseFile(F);

Gracias por su valioso tiempo y ayuda. :p

diego bohorquez
04-06-2012, 22:29:04
muchas gracias por tomarte el tiempo de escribir y compartir tu solucion pues a mi me sirvio de maravilla

muchas gracias