PDA

Ver la Versión Completa : Borrar una línea de en un txt


maycampana
25-04-2012, 15:46:22
Hola amigos genios, estoy grabando unos datos, en 3 líneas, por medio de un memo en un archivo txt. Lo que necesito es cada vez que voy a ejecutar el proceso que graba esas líneas, es actualizar la tercera, es decir borrarla y que se grabe la nueva información seleccionada en el proceso. Soy novata y trabajo con Delphi6, la verdad que estuve probando algunos códigos que encontré pero no logro que se borre la línea, sí se graba pero encima de la otra y no siempre la pisa completamente. Bueno seguro que alguien sabe con que código se elimina una línea en un txt, bienvenida su ayuda. Mil gracias

ecfisa
25-04-2012, 15:51:55
Hola maycampana.

Para borrar una línea determinada de un TMemo:

Memo1.Lines.Delete( Número de línea );


Para borrar el contenido de una línea determinada:

Memo1.Lines[ Número de línea ]:= '';

Recuerda que las líneas comienzan numerándose de 0.

Si aún así no logras el resultado sería interesante poder ver el código.

Saludos. :)

maycampana
26-04-2012, 15:17:11
Gracias ecfisa, estaba intentando con una var TStringList como encontré por ahí en la web, no lograba que ande porque la estaba mal ubicado el código. Ahora funciona creando la var TStringList, luego cargarla con LoadFromFile(nombredelarchivo) y después con la función Delete como me indicaste. Mil gracias

ecfisa
26-04-2012, 17:24:37
Hola maycampana.

No quise aventurarme por desconocer que estabas haciendo, pero eso te iba a comentar; que podías hacerlo directamente con TStrings ya que la propiedad Lines del TMemo es de ese tipo.

Como por ejemplo de este modo que modifica la línea indicada:

procedure CambiarFila(const FName,Valor: string; const Linea:integer);
begin
with TStringList.Create do
try
LoadFromFile(FName);
Strings[Linea]:= Valor;
SaveToFile(FName);
finally
Free;
end;
end;


Ejemplo de llamada:

procedure TForm1.Button1Click(Sender: TObject);
begin
CambiarFila('C:\ARCHIVO.TXT','***************', 1);
end;


Saludos. :)

maycampana
26-04-2012, 21:52:21
Gracias amigo, ya solucioné el tema de borrar la línea guardada en un archivo txt. Ahora sigo renegando con una progressbar que quiero poner en una ventana, pero me voy por el hilo que ya había creado. Saludos