Hola makeros. Estoy practicando el uso de archivos ini, para utilizarlo en un proyecto pero no soy capaz de hacerlo funcionar.
Tengo un archivo ini muy básico puesto en include files con el nombre "configuracion.ini", que contiene solo una sección y 2 datos:
Citar
[config]
nombre=franco
edad=387
Y un objeto en el room que tiene el siguiente código:
Citar
ini_open ("configuracion.ini");
nombre = ini_read_string ("config","nombre","Eduardo");
edad = ini_read_real ("config","edad",30);
ini_write_string ("nuevaseccion","nombre",nombre);
ini_write_real ("nuevaseccion","edad",edad);
show_message (nombre);
show_message (edad);
ini_close();
El primer problema, es que cuando lee el ini, no me coje el dato nombre y pone el "Eduardo" asignado por defecto. Lo mismo ocurre con el dato edad. Es decir, como si no hubiese nada en el ini ?¿
El segundo problema viene al intentar escribir el ini. No hace nada. Después de ejecutar el programa, abro el ini para ver si se ha escrito la nueva sección y no lo ha hecho.
Que estoy haciendo mal??
Gracias y un saludo.
Buenas compañero,
Bueno yo aún soy un novato, pero el .ini que uso lo uso así:
ini_open("save.ini")
if !ini_key_exists("jugador","score")
{
ini_write_real("jugador","score",global.score)
}
if ini_key_exists("jugador","score")
{
global.score=ini_read_real("jugador","score",global.score)
La traducción sería:
Abre el archivo ini, si el campo "Jugador" y el parametro "score" no existe lo creas, pero si existe lo lees.
Despues uso el draw_text en vez del show mensaje(ya que el show_mensaje es como un popup y para según que cosas no me gusta)
El archivo ini, no lo pongo en includes, ya que tal y como está lo crea en la carpeta temporal del juego.
Espero que te oriente un poco.
Gracias Ruben. Tu código funciona perfecto ;)
La verdad es que estaba basandome en un tutorial para GM8 y quizá algo ha cambiado entre versiones, y por eso no me funcionaba.
Según ese tutorial, el ini había que crearlo primero para poder abrirlo ( leer/escribir ) en GM. Pero veo que tu código se encarga de hacerlo.
El show_message lo utilizo solo para pruebas, tampoco es de mi agrado. Pero así no tengo que añadir evento draw para ver el resultado/estado de algún valor.
Donde se guarda el ini ( archivo como tal )??
Gracias y un saludo.
Yo uso windows 7 64bits, y se me guarda en c:\Users\tunombre\AppData\Local\nombredelproyecto\
Como el Appdata es un directorio oculto de sistema, tendrás que habilitar en windows el ver los archivos de sistema.
En panel de control, opciones de carpeta, pertaña ver, y despues desmarcas la casilla "ocultar archivos protegidos del sistema operativo".
Al menos en windows 7 es así, creo que en Xp y windows 8 no varia demasiado.
Un saludo.
Gracias Ruben :)