 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Suly Invitado
|
Publicado: Jue 05 Sep, 2002 4:57 pm Asunto: Ayuda con:Almacenar resultados en memoria! |
|
|
Hola a todos:
Soy nueva en esto a ver si pueden ayudarme:
Tengo un form donde el usuario ingresa datos numéericos de todo tipo, necesito guardar esta información en memoria para poder usarla despues en otro from, como puedo hacer esto, saben un código, pueden ayudarme???!!!
Gracias y saludos!
Suly |
|
| Volver arriba |
|
 |
Mónica Invitado
|
Publicado: Vie 06 Sep, 2002 6:54 am Asunto: |
|
|
Hola!
Yo lo que hago es guardar la información en ficheros de texto (en uno o en varios) en un orden determinado, de forma que cuando necesite leerla para utilizarla en el otro form sepa qué es cada dato.
Si necesitas que sea algo más concreta, dime qué tipo de elementos utilizas para que el usuario introduzca los datos (Edit, Memo, etc) y te ayudo.
Saludos! |
|
| Volver arriba |
|
 |
fmmarzoa Ens

Registrado: 21 Ago 2002Mensajes: 34
|
|
| Volver arriba |
|
 |
Suly Invitado
|
Publicado: Vie 06 Sep, 2002 5:19 pm Asunto: Gracias! |
|
|
| Mónica escribió: | Hola!
Yo lo que hago es guardar la información en ficheros de texto (en uno o en varios) en un orden determinado, de forma que cuando necesite leerla para utilizarla en el otro form sepa qué es cada dato.
Si necesitas que sea algo más concreta, dime qué tipo de elementos utilizas para que el usuario introduzca los datos (Edit, Memo, etc) y te ayudo.
Saludos! |
Hola!!
Bueno estoy usando Edits, tienes algun código que me ayude??
Gracias y saludos,
Suly |
|
| Volver arriba |
|
 |
Mónica Invitado
|
Publicado: Lun 09 Sep, 2002 8:00 am Asunto: |
|
|
Hola!
A ver si esto te sirve de algo:
Para escribir los datos en un fichero:
FILE *stream;
AnsiString TextoEdit;
AnsiString Fichero="C:\\MiDirectorio\\MiFichero.TXT" //nombre y ruta completa del fichero donde quieres guardar los datos.
stream=fopen(Fichero.c_str(),"wt"); //abre el fichro de texto para escritura;
TextoEdit=Edit1->Text+"\n"; //guardamos en la variable TextoEdit el contenido de Edit1 y añadimos el caracter de siguiente línea, así en el fichero de texto tendremos el dato de cada Edit en una línea diferente.
fputs(TextoEdit.c_str(),stream); //escribimos en el fichero de texto
fclose(stream); //cerramos el fichero
Para leer los datos:
FILE *stream;
char aux[20];
AnsiString Fichero="C:\\MiDirectorio\\MiFichero.TXT"
stream =fopen(Fichero.c_str(),"rt");
fgets(auxiliar,20,stream); //lee una línea del fichero de texto
for (int j=0;j<=sizeof(aux);j++)
if (aux[j]=='\n') aux[j]='\0'; //con esto "borramos" el caracter de nueva línea, porque si no saldría un caracter "extraño" en el Edit
Edit1->Text=aux;
fclose(stream);
Si tienes alguna duda, suelo estar por aquí todos los días.
Saludos! |
|
| Volver arriba |
|
 |
Suly Invitado
|
Publicado: Lun 09 Sep, 2002 10:37 pm Asunto: Mas complicado! |
|
|
Hola nuevamente:
Intento hacer el programa y cada vez se me complica mas, use el código que me envio Monica y bien solo que la tabla se va actualizando lo que me piden es que no actualice la tabla donde se almacena, es decir, tengo un formulario donde ingreso en un Edit1 la cantidad de nombres que deben ingresar el usuario, tengo otro Edit2 donde ingreso los nombres de las personas, al dar click en un botón el nombre que ingrese debe almacenarse en un *.txt, el *.txt debe limpiarse cuando se vuelve ingresar en el Edit1 otra cantidad de nombres, como puedo hacer esto, pueden ayudarme por favor???!!!!
Gracias y salu2,
Suly |
|
| Volver arriba |
|
 |
Suly Invitado
|
Publicado: Mar 10 Sep, 2002 3:10 pm Asunto: |
|
|
Hola..!!
Por favor no se olviden de mi, ayudenme si pueden.
Saludos,
Suly |
|
| Volver arriba |
|
 |
Mónica Invitado
|
Publicado: Mie 11 Sep, 2002 1:05 pm Asunto: |
|
|
Hola Suly!
Perdona que no te haya contestado antes, pero estos días no me he podido conectar.
No entiendo bien qué es lo que necesitas. A ver si es ésto:
Tienes 2 TEdit: Edit1 y Edit2. En Edit1 el usuario introduce el número de nombres y en Edit2 introduce los nombres.
Cuando pulsas un botón guardas en un TXT el nombre que el usuario ha escrito en Edit2. Si por ejemplo el usuario escribe en Edit1 el número "3" significa que va a escibir 3 nombres en Edit2, ¿no?, y entonces escribe el 1º, le da al botón, se guarda en el TXT, escribe el 2º, le da al botón y le guarda, y así sucesivamente.
Cuando se introduce orto número en Edit1 debes borrar lo que hay en el TXT para emepezar de nuevo, ¿lo he entendido bien?
Si abres el TXT en modo lectura al darle al botón, lo que escribes ahí, se sobreescribe a lo que ya tenías, con lo cual estarías borrando lo que tenías anteriormente, ¿qué es lo que no funciona? |
|
| Volver arriba |
|
 |
Suly Invitado
|
Publicado: Mie 11 Sep, 2002 3:03 pm Asunto: |
|
|
Hola!
Exactamente Mónica me entendiste bien eso es lo que tengo que hacer pero mi lo que necesito tambien es que cuando ingrese en el Edit1, la cantidad de nombres, por decir 3, entonces escribo el primero presiono el botón y lo guarda, luego el 2do presiono el botón y lo guarda y luego el 3er. nombre doy click en el btón y lo guardo, solo deseo que el TXT se modifique cuando en el Edit 1 cambie la cantidad de nombres a ingresar como puedo hacer esto???, eso es lo que no me funciona!!!
Saludos y muchas gracias por la ayuda,
Suly |
|
| Volver arriba |
|
 |
Mónica Invitado
|
Publicado: Jue 12 Sep, 2002 9:32 am Asunto: |
|
|
Bueno, se me ocurrió una posible solución, espero que te sirva:
En la cabcera del fichero .cpp defines la sigueinte variable:
bool BorrarFichero;
En el evento OnKeyPress del Edit1 escribes el siguiente código:
BorrarFichero=true; //de esta forma, cuando el usuario escribe algo en Edit1, sabemos que debemos borrar el TXT
En el evento OnClick del botón, escribes el siguiente código:
FILE *stream;
if (BorrarFichero==true) {
stream=fopen("C:\\MiFichero.TXT","wt"); //así sobreescribe el fichero de texto
//guardas el nombre en el archivo
fclose(stream);
}
else {
stream=fopen("C:\\MiFichero.TXT","at"); //así escribe al final del fichero de texto, sin borrar lo que haya en él
//guardas el nombreen el erchivo
fclose(stream);
}
Pruébalo y me cuentas |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|