Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Programador91 en 16 Febrero 2012, 16:47 pm



Título: Como crear memoria en los programas?
Publicado por: Programador91 en 16 Febrero 2012, 16:47 pm
Buenas a tod@s:

Hasta ahora, los programitas que he estado haciendo utilizan variables que una vez cierras el programa se te borran.

Pero hoy me ha surgido una pregunta. He visto que en C++ se pueden crear base de datos, por lo tanto, los datos introducidos, aunque cierres el programa se guardan en algun sitio. Como se hace para que se guarden y al volver a abrir el programa se recuperen los datos introducidos anteriormente y los puedes visualizar de nuevo. Por ejemplo, una base de datos.


Muchas gracias.


Título: Re: Como crear memoria en los programas?
Publicado por: armizh en 16 Febrero 2012, 17:05 pm
Yo se de tres formas de hacer eso. Primero, con una base de datos. Dos, con un archivo de configuracion. Y tres, con Qt puedes utilizar el QSettings, que puedes escribir y guardar configuraciones (o variables que necesites para el reinicio del programa).

Saludos


Título: Re: Como crear memoria en los programas?
Publicado por: Programador91 en 16 Febrero 2012, 18:39 pm
Buenas a tod@s:

Y donde puedo conseguir el QSettings? Lo tengo que instalar dentro del programa o como funciona. Disculpa mi ignorancia :(


Título: Re: Como crear memoria en los programas?
Publicado por: armizh en 16 Febrero 2012, 19:07 pm
QSettings es parte de la libreria Qt, esta libreria te permite crear aplicaciones graficas y de consola con varios lenguajes (por ejemplo C++, Python, etc) Una de las grandes ventajas de Qt es el hecho de ser multiplataforma. Un programa creado con Qt puede ser portado facilmente a Windows, Linux, *BSD, Mac OSX, etc.

En esta página encontraras todo sobre Qt.
http://developer.qt.nokia.com/ (http://developer.qt.nokia.com/)

Saludos

PS: Son varios paquetes y es pesado el IDE, pero vale la pena. Si quieres evitarte el rollo usa mejor un archivo de configuración y lo lees con las funciones que te de el sistema operativo (p.ej. en los sistemas POSIX usas fopen o cosas por el estilo)


Título: Re: Como crear memoria en los programas?
Publicado por: anonimo12121 en 16 Febrero 2012, 19:31 pm
Con ifstream y ofstream Así de fácil.


Título: Re: Como crear memoria en los programas?
Publicado por: armizh en 16 Febrero 2012, 19:41 pm
Con ifstream y ofstream Así de fácil.
Tambien xd no habia recordado las funciones de fstream D: pero en caso de leer un archivo tendria que tener un metodo para leer el archivo y analizarlo... pero eso no es tan dificil (no es para nada dificil). El creador del hilo sera el responsable de elegir que opcion le acomoda mas, pero aun asi yo recomiendo Qt ya que es multiplataforma y facilita bastante las cosas, dejandoal programador la tarea de crear el programa en si y no preocuparse mucho de cosas como la apariencia, formatos, etc.

Saludos


Título: Re: Como crear memoria en los programas?
Publicado por: Eternal Idol en 16 Febrero 2012, 20:02 pm
Mejor segui el consejo de Xafi, aprende a trabajar con archivos primero es el paso logico y podes hacerlo con C++ standard perfectamente.


Título: Re: Como crear memoria en los programas?
Publicado por: Programador91 en 16 Febrero 2012, 21:03 pm
Buenas a tod@s:

Muchas gracias por vuestras respuestas.

Supongo que sí, segurié tal y como dice Eternal Idol, las indicaciones de Xafi ya que me parece un poco más sencillo. Ya que yo en el mundo de la programación tan solo acabo de aterrizar, y la aportación de armizh, desde luego que seguro que es muy válida, igual que el resto, pero mi nivel de programación es muy bajo y me pierdo mucho, demasiado para mi gusto.

Por lo tanto creo que cojeré lo de ifstream y ofstream. Pero como funciona exactamente? Lo pongo al principio de la librería, lo pongo cuando quiero "grabar" un dato o como iría puesto por ejemplo en una base de datos donde quiera poner por ejemplo:

NOMBRE: Fulano
APELLIDOS: Manguano
DIRECCIÓN: Calle sin nombre, 00,

Muchas gracias de antemano


Título: Re: Como crear memoria en los programas?
Publicado por: Eternal Idol en 16 Febrero 2012, 21:20 pm
http://www.cplusplus.com/reference/iostream/


Título: Re: Como crear memoria en los programas?
Publicado por: anonimo12121 en 17 Febrero 2012, 02:09 am
Aprende como usar las clases de ifstream y ofstream yo algo simple para cargar configuración de un programa que estaba haciendo y lo he dejado a medias como otros 4 proyectos que llevo xDD...

Código
  1. void TileSet::LoadTileSet(char *n)
  2. {
  3.    ifstream file(n);
  4.    file >> WTiles;
  5.    file >> HTiles;
  6.    file >> TilesX;
  7.    file >> TilesY;
  8.    file >> NameTileSet;
  9.    file >> NumTileSet;
  10.    file >> WTileSet;
  11.    file >> HTileSet;
  12.    file >> MapName;
  13.    file >> VMapName;...


Título: Re: Como crear memoria en los programas?
Publicado por: Anastacio en 19 Febrero 2012, 17:14 pm
A mi me gustaria saber tambien como funciona.

cual seria el archivo n?

Saludos.


Título: Re: Como crear memoria en los programas?
Publicado por: Eternal Idol en 19 Febrero 2012, 17:21 pm
¿De verdad no comprendes que n es una variable? Es una cadena que dependera del que llame al metodo ... leete COMPLETO el libro ese que decis haber conseguido y si seguis sin entender esto mejor dedicate a otra cosa.