Delphi - Eliminar linea de archivo de texto

 
Vista:

Eliminar linea de archivo de texto

Publicado por josu (42 intervenciones) el 25/09/2003 12:03:27
Hola...

Hay alguna forma de eliminar una linea cualquiera de un archivo de texto sin tener que leer todo el archivo y volverlo a escribir? (O aunque sea solo la primera).

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Eliminar linea de archivo de texto

Publicado por Diego Romero (636 intervenciones) el 25/09/2003 14:59:47
No existe una forma facil de hacerlo, al menos no trabajandolo como si fuera un archivo de texto pero se me ocurre (nunca lo probé) que si lo abres como un binario y leyendo desde un retorno de carro hasta otro puedes borrar una línea y desplazar el resto para cubrir el "hueco".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Eliminar linea de archivo de texto

Publicado por Fer (269 intervenciones) el 25/09/2003 16:38:01
Si el archivo no es excesivamente grande, una solución muy buena es almacenarlo en un StringList. Una vez ahí, puedes añadir, insertar y eliminar líneas con suma facilidad.

Donde trabajo utilizamos esa técnica con ficheros de hasta unos 10MB sin ningún problema. Con ficheros más grandes también funciona, pero piensa que estamos consumiendo memoria.

Ejemplo:

procedure EliminarLinea(pNumLinea: integer; pNomFichero: string);
var
vslFichero: TStringList;
begin

vslFichero := TStringList.Create;

try

vslFichrero.LoadFromFile(pNomFichero); //Cargamos el fichero

vslFichero.Delete(pNumLinea); //Borramos la línea

vslFichero.SaveToFile(pNomFichero); //Volvemos a escribir el fichero

finally

vslFichero.Free; //Destruimos el StringList.

end;//try... finally

end;//EliminarLinea

OJO: esto es un ejemplo, como puedes ver no estoy comprobando ningún tipo de error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Eliminar linea de archivo de texto

Publicado por josu (42 intervenciones) el 25/09/2003 17:30:28
Hum... Probaré con los StringList aunque lo de los archivos binarios ya lo he estado mirando y he aprendido alguna cosa.

Muchas gracias a los dos!!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar