SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: overnat en Viernes 30 de Diciembre de 2005, 06:49

Título: Como Hacer Fichero Tipo *ini
Publicado por: overnat en Viernes 30 de Diciembre de 2005, 06:49
Que tal , jeje dando la coña otra vez juurrrruruurur   :scream:       :hola:




 :whistling:   :smartass:

Como podria crear un fichero para guardar los valores de unas variables ,es decir , tengo un que inicializar una variables cuando creo el dialogo, y de momento las tengo declaradas en OnInitDialog, pero lo que quiero es tener esas variables en un fichero tipo :



Variable1=Valor1
Variable2=Hola

Para que se puedan modificar esos valores y asi el dialogo haga una cosa u otra.

Espero haberme explicado bien , no se.

Como se podria hacer eso ?


Salu2 y Gracias por la ayuda prestada.     Seguiremos  :comp:
Título: Re: Como Hacer Fichero Tipo *ini
Publicado por: Eternal Idol en Viernes 30 de Diciembre de 2005, 10:23
Lo podes escribir vos mismo con cualquier tipo de metodo, tambien podes usar las funciones de Windows  (WriteProfileString, etc) e incluso podes usar el Registro del sistema (RegSetValueEx, etc).

Para mas informacion sobre estas funciones consulta la MSDN:
http://msdn.microsoft.com (http://msdn.microsoft.com)

 :devil:  :comp:  :ph34r:
Título: Re: Como Hacer Fichero Tipo *ini
Publicado por: overnat en Viernes 30 de Diciembre de 2005, 11:26
perdona pero en esta no te entiendo .

Podrias explicarme un poquito mas el tema .

Salu2
Título: Re: Como Hacer Fichero Tipo *ini
Publicado por: overnat en Viernes 30 de Diciembre de 2005, 11:44
BOOL WriteProfileString(
  LPCTSTR lpAppName,
  LPCTSTR lpKeyName,
  LPCTSTR lpString
);


si no he entendido mal seria:

BOOL WriteProfileString(
  LPCTSTR cadenaacopiar,
  LPCTSTR claveabuscar,
  LPCTSTR valorparakey
);

pero creo que con esto grabo los datos al archivo win.ini no ?
Título: Re: Como Hacer Fichero Tipo *ini
Publicado por: Eternal Idol en Viernes 30 de Diciembre de 2005, 12:05
Si, pero tambien esta WritePrivateProfileSection cuyo tercer parametro es el nombre del archivo que queres escribir  :devil:
Título: Re: Como Hacer Fichero Tipo *ini
Publicado por: overnat en Viernes 30 de Diciembre de 2005, 12:16
ya lo hice pero ahora no se como recojer los datos , se que es con GetProfileString pero no me sale.



vaya telita de tio jajaja  :hola:




 :comp:  :comp:  :comp:  :comp:  :comp:
Título: Re: Como Hacer Fichero Tipo *ini
Publicado por: overnat en Viernes 30 de Diciembre de 2005, 12:21
Me dice Kernel access violation ..... Que ocurre.
Título: Re: Como Hacer Fichero Tipo *ini
Publicado por: Eternal Idol en Viernes 30 de Diciembre de 2005, 12:25
Si usaste el Private para Write tambien lo tenes que usar para el Get: GetPrivateProfileString.
Título: Re: Como Hacer Fichero Tipo *ini
Publicado por: overnat en Viernes 30 de Diciembre de 2005, 12:46
bien pero sigue fallando . esto es lo que he hecho.

char *nombrecampo="Servidor";
   char *seccion="SERVIDOR";
   char *valornuevo;
   char *resultado;
   char *archivo="C:\mio.ini";
   GetPrivateProfileString(seccion,nombrecampo,valornuevo,resultado,0,archivo);
   CString mensaje;
   mensaje.Format("El valor de servidor es : %s",resultado);
   MessageBox(mensaje,"",MB_OK);
Título: Re: Como Hacer Fichero Tipo *ini
Publicado por: overnat en Viernes 30 de Diciembre de 2005, 12:51
ya me va estaba la el valor de nsize


pero tengo una duda . Lo he hecho asi y funciona , pero esta bien hecho o no ?

char *nombrecampo="Servidor";
   char *seccion="SERVIDOR";
   char *valornuevo;
   char resultado[256];
   char *archivo="C:\mio.ini";
   GetPrivateProfileString(seccion,nombrecampo,valornuevo,resultado,sizeof(resultado),archivo);
   CString mensaje;
   mensaje.Format("El valor de servidor es : %s",resultado);
   MessageBox(mensaje,"",MB_OK);
Título: Re: Como Hacer Fichero Tipo *ini
Publicado por: overnat en Viernes 30 de Diciembre de 2005, 12:54
Funciona perfecto muchas gracias.


Salu2  :scream:

 :comp:  :comp:  :comp:  :comp:  :comp:  :comp:  :comp:  :comp: