Jump to content


Photo

Almacenar información en TXT

Lazarus conexión Archivo.txt

  • Please log in to reply
3 replies to this topic

#1 Selek126

Selek126

    Newbie

  • Miembros
  • Pip
  • 3 posts

Posted 31 May 2017 - 03:55 PM

Hola buenas tardes soy nuevo en la programación y en el manejo de Lazarus y estoy haciendo un programa en el cual el usuario dependiendo de la información que ponga en los Edit lo guarde en un archivo txt, todo esto lo hace sin problemas, el problema surge cuando quiero ingresar otro dato, ya que al querer ingresar nuevamente otros datos no me almacena los primeros simplemente los sustituye, espero contar con su ayuda para resolver esto, dejo el código que actualmente estoy usando.

 

Saludos.

 

procedure TForm1.Button1Click(Sender: TObject);
var ArcTXT : TextFile;
  a : String;
  b : String;
  s : String;
 
  begin
AssignFile(ArcTXT,'C:\Users\Sistemas\Desktop\ENCUESTA.TXT');
Rewrite(ArcTXT);
s:=Edit1.Text;
b:=Edit2.Text;
a:=Edit3.Text;
WriteLn(ArcTXT,a);
WriteLn(ArcTXT,b);
WriteLn(ArcTXT,s);
CloseFile(ArcTXT);       

  • 0

#2 FerCastro

FerCastro

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 637 posts
  • LocationCiudad de México

Posted 31 May 2017 - 05:21 PM

 

Hola buenas tardes soy nuevo en la programación y en el manejo de Lazarus y estoy haciendo un programa en el cual el usuario dependiendo de la información que ponga en los Edit lo guarde en un archivo txt, todo esto lo hace sin problemas, el problema surge cuando quiero ingresar otro dato, ya que al querer ingresar nuevamente otros datos no me almacena los primeros simplemente los sustituye, espero contar con su ayuda para resolver esto, dejo el código que actualmente estoy usando.

 

Saludos.

 

procedure TForm1.Button1Click(Sender: TObject);
var ArcTXT : TextFile;
  a : String;
  b : String;
  s : String;
 
  begin
AssignFile(ArcTXT,'C:\Users\Sistemas\Desktop\ENCUESTA.TXT');
Rewrite(ArcTXT);
s:=Edit1.Text;
b:=Edit2.Text;
a:=Edit3.Text;
WriteLn(ArcTXT,a);
WriteLn(ArcTXT,b);
WriteLn(ArcTXT,s);
CloseFile(ArcTXT);       

 

 

Te recomiendo que generes un nombre de archivo aleatorio, porque si sobreescribes el archivo, vas a tener solo los datos de la última captura.

 

Ahora, que si vas a usar el mismo archivo valides que si existe no lo generes de nuevo, que es lo que estás haciendo. SI el archivo existe te vas al final, metes un separador de "registro" y le das append sobre tu archivo. LO que haces con tu código es crear el archivo, lo que borra los datos existentes, y luego escribes de nuevo los datos capturados, previa eliminación de los anteriores.

 

También te recomiendo que si lo vas a guardar en texto uses un formato separado por algo (pipes, comas, etc), o si te quieres ver apantallador, usa un xml

 

Saludos!!

Fer


Edited by FerCastro, 31 May 2017 - 05:23 PM.

  • 0

#3 FerCastro

FerCastro

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 637 posts
  • LocationCiudad de México

Posted 31 May 2017 - 05:26 PM

 

Hola buenas tardes soy nuevo en la programación y en el manejo de Lazarus y estoy haciendo un programa en el cual el usuario dependiendo de la información que ponga en los Edit lo guarde en un archivo txt, todo esto lo hace sin problemas, el problema surge cuando quiero ingresar otro dato, ya que al querer ingresar nuevamente otros datos no me almacena los primeros simplemente los sustituye, espero contar con su ayuda para resolver esto, dejo el código que actualmente estoy usando.

 

Saludos.

 

procedure TForm1.Button1Click(Sender: TObject);
var ArcTXT : TextFile;
  a : String;
  b : String;
  s : String;
 
  begin
AssignFile(ArcTXT,'C:\Users\Sistemas\Desktop\ENCUESTA.TXT');
Rewrite(ArcTXT);
s:=Edit1.Text;
b:=Edit2.Text;
a:=Edit3.Text;
WriteLn(ArcTXT,a);
WriteLn(ArcTXT,b);
WriteLn(ArcTXT,s);
CloseFile(ArcTXT);       

 

 

 

Te paso un link del que considero el mejor sitio de ayuda en línea para Delphi, es como el I-Ching, antes de soltar la pregunta primero consulta este sitio, vas a encontrar hasta lo que no buscas.

 

http://www.delphibas...asp?Name=Append

 

Saludos!! y bienvenido


  • 0

#4 Selek126

Selek126

    Newbie

  • Miembros
  • Pip
  • 3 posts

Posted 01 June 2017 - 08:13 AM

Te paso un link del que considero el mejor sitio de ayuda en línea para Delphi, es como el I-Ching, antes de soltar la pregunta primero consulta este sitio, vas a encontrar hasta lo que no buscas.

 

http://www.delphibas...asp?Name=Append

 

Saludos!! y bienvenido

 

Muchísimas gracias Fer por el link y la respuesta.

 

Saludos.


  • 0





Also tagged with one or more of these keywords: Lazarus, conexión, Archivo.txt

IP.Board spam blocked by CleanTalk.