Anuncios Google

Ayuda con archivo ini y luadev

Hola, necesito ayuda otra vez xD y en este caso es con un archivo .ini y mi script de luadev lo que quiero hacer es lo siguiente: Quiero que si el valor del archivo .ini es 1 entonces muestre la hora en formato de 12 horas, pero si el valor es 0 que lo muestre en el formato de 12 horas y para ello he hecho lo siguiente:

conf.ini

[Formato_hora]
Formato=1

script.lua

a=os.date("%H:%M")
d=os.date("%I:%M %p")
while true do
if ini.read("conf.ini","Formato_hora","Formato","0") then
screen.print(komika,90,60,a)
end
if ini.read("conf.ini","Formato_hora","Formato","1") then
screen.print(komika,90,75,d)
end
end

Pero no va porque hace algo asi como leer el archivo .ini como si tuviera el valor del primer if que he puesto. Espero que me podais ayudar saludos y gracias de nuevo.


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Chimecho

Pues...

Como ya te han dicho, tus condiciones son erróneas, pero a parte de eso, vas a matar a la ms de tanta lectura a cada pasada (ini.read dentro de un bucle...). y otra cosa, como he visto mas abajo que has puesto nil, seguramente dará error si no hay nada en el archivo (comparación de string con nil).

Lo mejor sería poner algo como:

formato12hrs = ini.read("conf.ini","Formato_hora","Formato","") == "1";
 
while true do
	if formato12hrs then
		screen.print(komika,90,60,os.date("%I:%M %p"));
	else
		screen.print(komika,90,75,os.date("%H:%M"));
	end
end

Fíjate que el os.date está dentro del print... así siempre será la hora actual (y no una guardada anteriormente a como tenías).

Además, he puesto un else, en caso de que lo que esté en el archivo no sea un 1, es decir, si es 0, o simplemente no hay nada, que muestre el formato de 24 horas.

Y por último, identar el código no cuesta nada... y es más fácil de leer. ¿Qué es identar? mira como está mi código, con líneas "adentro", otras más "adentro" y otras al borde, compara con el tuyo donde todo está al borde. En el mío, podrás ver claramente dónde inicia y dónde termina cada bloque de código.

Saludos!



PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]

07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD

Recuerda: Sé el intérprete -_-

Imagen de yaguarflofly

Vale asi probare gracias por

Vale asi probare gracias por los consejos lo unico otro fallo (creo) en tu codigo son el punto y coma al final de cada "funcion"(linea)

Realmente no es un fallo, en

Realmente no es un fallo, en Lua da lo mismo si pones el punto y coma o no.

Tus condiciones son erróneas.

Tus condiciones son erróneas. No estás comparando con nada. Una opción sería así:

if ini.read("conf.ini","Formato_hora","Formato",nil)=="0" then
--El resto del code aquí

Imagen de yaguarflofly

A vale también probé una cosa

A vale también probé una cosa parecida pero me faltó poner el nil:

if ini.read("conf.ini","Formato_hora","Formato","")=="0" then

Por cierto me preuntaba como podria limpiar la ram.

Imagen de Dioni0396

.

Para imagenes: image.free(Imagen)

Para sonidos: sound.free(Sonido)

Para videos: video.free(Video)

Imagen de yaguarflofly

Gracias, por cierto sobre lo

Gracias, por cierto sobre lo de antes:

if ini.read("conf.ini","Formato_hora","Formato",nil)=="0" then
screen.print(komika,90,60,a)
end

no me funciona, no muestra nada en el archivo ini esta puesto el valor =0.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.