Ir al contenido


Foto

Almacenar información en TXT

Lazarus conexión Archivo.txt

  • Por favor identifícate para responder
3 respuestas en este tema

#1 Selek126

Selek126

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 31 mayo 2017 - 03:55

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
  • 636 mensajes
  • LocationCiudad de México

Escrito 31 mayo 2017 - 05:21

 

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


Editado por FerCastro, 31 mayo 2017 - 05:23 .

  • 0

#3 FerCastro

FerCastro

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 636 mensajes
  • LocationCiudad de México

Escrito 31 mayo 2017 - 05:26

 

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 mensajes

Escrito 01 junio 2017 - 08:13

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





Etiquetado también con una o más de estas palabras: Lazarus, conexión, Archivo.txt

IP.Board spam blocked by CleanTalk.