Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Ayuda con:Almacenar resultados en memoria!

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Ayuda con:Almacenar resultados en memoria! Responder citando

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???!!! Sad
Gracias y saludos!
Suly
Volver arriba
Mensaje    Asunto: Responder citando

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
Mensaje    Asunto: Leéte esto Responder citando

https://cppbuilder.es/viewtopic.php?t=3825&highlight=globales

Un saludo
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Gracias! Responder citando

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, Wink
Suly
Volver arriba
Mensaje    Asunto: Responder citando

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
Mensaje    Asunto: Mas complicado! Responder citando

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???!!!! Rolling Eyes
Gracias y salu2,
Suly
Volver arriba
Mensaje    Asunto: Responder citando

Hola..!!
Por favor no se olviden de mi, ayudenme si pueden. Sad
Saludos,
Suly
Volver arriba
Mensaje    Asunto: Responder citando

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
Mensaje    Asunto: Responder citando

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, Wink
Suly
Volver arriba
Mensaje    Asunto: Responder citando

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
Mostrar mensajes de anteriores:   
Cambiar a:  
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


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.