Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   como agregar datos a un txt ? (https://www.clubdelphi.com/foros/showthread.php?t=63395)

gaston260 12-02-2009 01:54:36

como agregar datos a un txt ?
 
Hola amigos tengo la pregunta de la existencia jajaja , mi pregunta es ; como agregar la informacion que va apareciendo en un edit y volcarla en un txt ? , me sirve este codigo ? , no puedo encontrar la forma !

Código Delphi [-]
begin               
AssignFile (Datos, 'C:.\\archivos\MiAgenda1.txt');               
Rewrite (Datos);               CloseFile (Datos);                
AssignFile (Datos, 'C:.\\archivos\MiAgenda1.txt');               
Append (Datos);               
Writeln (Datos, edit.Text);              
 CloseFile (Datos);             
end;


ha tambien encontre que se puede crear un txt haci :

Código Delphi [-]
             
 begin                   
agenda1 := TStringList.Create;                   
Agenda1.Add(edit.Text);                   
agenda1.saveToFile('C:.\\archivos\MiAgenda1.txt');                   
agenda1.free;              
end;


pero ni idea !

Gracias de antemano !!

gaston260 12-02-2009 01:59:43

bueno la tecnologia no es mi fuerte jajaja perdón !!

Caro 12-02-2009 02:10:53

Hola Gaston, tu código quedaría así
Código Delphi [-]
begin
 AssignFile (Datos, 'C:.\\archivos\MiAgenda1.txt');
 Rewrite (Datos);
 CloseFile (Datos);
 AssignFile (Datos, 'C:.\\archivos\MiAgenda1.txt');
 Append (Datos);
 Writeln (Datos, edit.Text);
 CloseFile (Datos);
 end;

Código Delphi [-]
begin
 agenda1 := TStringList.Create;
 Agenda1.Add(edit.Text);
 agenda1.SaveToFile('C:\archivos\MiAgenda1.txt');
 agenda1.free;
end;

Yo te aconsejo que utilices la segunda forma, el TStringList podrías crearlo en el OnCreate de tu form así cada vez que añadas haces el Add al StringList, puede estar en button solo esa línea y cuando quieras grabar haces el SaveToFile.

Nota.- Para que el codigo te salga bien, es solo añadir entre tu codigo las etiquetas [ delphi] [ /delphi] sin los espacios.

Saluditos

gaston260 12-02-2009 02:19:23

gracias !! lo puedo crear correctamente al txt pero lo que pasa es que tengo un edit que cambia de valor constantemente y necesito que todos esos datos queden plasmados en un txt !

me puedes ayudar ?
Gracias !

Caro 12-02-2009 02:27:03

Cita:

Empezado por gaston260 (Mensaje 337863)
gracias !! lo puedo crear correctamente al txt pero lo que pasa es que tengo un edit que cambia de valor constantemente y necesito que todos esos datos queden plasmados en un txt !

Hola de nuevo, que eventos estas utilizando, como sabes que el texto que tienes en el edit ya se debe grabar en el archivo, nose si te estoy entendiendo bien. Digamos el edit tiene un valor, haces algo y ese valor se guarda en el txt, despues introduces otro valor y ese otro valor se guarda como otra línea en el txt, estas utilizando algún boton para guardar el contenido en el txt?. ¿Una vez grabado en el txt, tienes que poder leer lo que tienes y sobre eso añadir nuevas líneas que introduzcas en el txt?.

Saluditos

gaston260 12-02-2009 02:39:02

hola CARO , no uso ningun boton para guardar los datos , los datos se generan automaticamente ; el caso es asi ! dentro de un for tengo un edit que toma un valor arbitrario , y solo se tendrian que guardar los datos cuando el edit toma un valor repetido (x) veces , el tema es que el edit toma tantos valores que cuando quiere guardar en un txt , solo guarda un valor !

me pude explicar ? , si no es haci dimelo haci completo la idea !

Caro 12-02-2009 02:56:43

Cita:

Empezado por gaston260 (Mensaje 337865)
hola CARO , no uso ningun boton para guardar los datos , los datos se generan automaticamente ; el caso es asi ! dentro de un for tengo un edit que toma un valor arbitrario , y solo se tendrian que guardar los datos cuando el edit toma un valor repetido (x) veces , el tema es que el edit toma tantos valores que cuando quiere guardar en un txt , solo guarda un valor !

Creo que te entiendo, según el otro hilo que abriste estas utilizando este codigo para verificar si se ha repetido el valor 0, partiendo de eso, debes utilizar una variable donde ir almacenando lo que tienes, nose porque utilizas un Edit, podrías también utilizar otra variable.

Código Delphi [-]
var
 Valor : String;
begin
 agenda1 := TStringList.Create;
 Try 
  Valor := ''; 
  for .................
   begin
     .......................... 
     Valor := Valor + edit1.Text;
     if edit1.Text = '0' then
      inc(contador)
     else
      contador := 0;
     
     //Cuando se cumpla esta condición es cuando adicionas al StringList   
     if contador = 30 then
      begin
       beep;
       Agenda1.Add(Valor); //Adicionamos lo que s etiene hasta ahora
       Valor := ''; //limpiamos para los siguientes valores
      end;
   end; //for
 
   //despues de que termina el for grabas
   agenda1.SaveToFile('C:\archivos\MiAgenda1.txt');
  Finally
   FreeAndNil(Agenda1);
  end;

Saluditos

gaston260 12-02-2009 03:08:34

Muy muchas gracias amigo ! estube esperando esta respuesta ! , me siento un poco cansado , ya es tarde para mi ! voy a intentar probarlo y si puedo respondo hoy , si no sera mañana !

Te agradezco mucho por este aporte y por el del hilo anterior !

Gracias y un abrazo grande !! :)

gaston260 12-02-2009 03:26:09

una ultima pregunta como puedo agregar todo en una columna y no un dato a continuacion de otro ?

gaston260 13-02-2009 04:36:52

amigo el codigo no me funciona como yo quiero ! si me puedes dar una mano te lo agradezco mucho !!

saludos !

escafandra 13-02-2009 09:47:11

Introduce un retorno de linea (caracter 10) y un retorno de carro (caracter 13) despues de cada dato.

Saludos.

Caro 13-02-2009 13:39:33

Cita:

Empezado por gaston260 (Mensaje 337870)
una ultima pregunta como puedo agregar todo en una columna y no un dato a continuacion de otro ?

Cita:

Empezado por gaston260 (Mensaje 338004)
amigo el codigo no me funciona como yo quiero ! si me puedes dar una mano te lo agradezco mucho !!

No te estoy entendiendo muy bien, dinos como debería funcionarte y como esta funcionando ahora, sería bueno que nos dieras ejemplos con datos. Porque de la forma que esta debería mostarte en una sola columna. Según el ejemplo del otro hilo:

Digamos que se van obteniendo estos valores :

Código:

12 25 55 139 0 0 0 1 5 31 21 0 0 0 40 2 0 0 0 6 2 0 0 0 8 56 31 0 0 0
con el código que tienes en tu txt debería mostrarte de esta forma, si la condición es, cuando se repinten 3 ceros seguidos:

Código:

12 25 55 139 0 0 0
1 5 31 21 0 0 0
40 2 0 0 0
6 2 0 0 0
8 56 31 0 0 0

Dinos como quieres verlo en el txt.

Solo comentarte que no soy amigo :o.

Saluditos

gaston260 14-02-2009 03:27:34

bueno solo fue un error de codigo ! gracias !

amigo solo es una forma que tengo de decir que puedo contar con tigo ! , para mi las personas que hacen algo por alguien sin interes esas son amigas !

pido disculpas si te molestó eso ! :rolleyes:

roman 14-02-2009 05:19:41

Cita:

Empezado por gaston260 (Mensaje 338115)
amigo solo es una forma que tengo de decir que puedo contar con tigo ! , para mi las personas que hacen algo por alguien sin interes esas son amigas !

pido disculpas si te molestó eso ! :rolleyes:

Je, je, creo que Caro debió especificar más. Lo que sucede gaston, es que Caro no es amigo sino amiga. :)

// Saludos

gaston260 14-02-2009 20:35:53

HU !! jajaja gracias roman ! la verdad no me di cuenta ! , y a la hora que yo entro al foro puedo llegar a escribir cualquiera !! , le pido disculpas nuevamente a mi amiga caro !! si es que me deja que le diga amiga ?

Caro 16-02-2009 04:03:56

Cita:

Empezado por gaston260 (Mensaje 338155)
si es que me deja que le diga amiga ?

Claro que si, en mi anterior mensaje me refería justamente a lo que comenta Roman.

Saluditos


La franja horaria es GMT +2. Ahora son las 07:06:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi