PDA

Ver la Versión Completa : Como sobreescribir lineas en un fichero de texto - Delphi


peatonPLS
26-11-2007, 10:05:06
Hola a todos... os escribo un problema que me ha surgido programando en Delphi, a ver si podeis ayudarme.

Os cuento: mi aplicación va generando "strings" y los va escribiendo en un fichero de texto declarado como textfile. Primero hago un append (fichero), y a continuación writeln (fichero, string1); writeln (fichero, string2); writeln (fichero, string3); asi sucesivamente...

El problema me viene cuando intento hacer modificaciones sobre una linea en concreto dentro del fichero... no consigo poner el puntero en una posición concreta y sobreescribir esa linea o serie de lineas del fichero. He utilizado la sentencia Reset(fichero), pero cuando vuelvo a hacer el append, el puntero se vuelve a situar al final. Tambien he intentado utilizar la sentencia Size, pero el sistema no me deja. Otra solución sería borrar las n ultimas lineas escritas en el fichero de texto, pero tampoco soy capaz de conseguirlo. Cuando intento escribir, solo lo hace al final del fichero.

Sabeis como puedo modificar una linea concreta de un fichero de texto, o borrar las n ultimas? alguna sugerencia? alternativa? Muchas gracias

keys
26-11-2007, 10:43:04
Una Alternativa es utilizar la clase TStringList, la cual se puede guardar y leer de un fichero .LoadFromFile .SaveToFile. Simplifica mucho el manejo de ficheros de texto.

Un Saludo. y espero que te sirve

peatonPLS
30-11-2007, 09:39:28
Muchas gracias... me ha servido de gran ayuda.