Anuncios Google

Duda sobre los INI

Bien, es una duda que me trae de cabeza, y, aunque es MUY estúpida, no la sé solucionar...

Bien, les explico:

Yo estoy haciendo un programa que requiere instalación.

Entonces tengo un ini en el que pone:

install=0

Bien, entonces lo que quiero es que el programa lea ese archivo, si pone 0, continuar con la instalación, y al terminarla, cambiar el 0 por un 1 (como diciendo que ya está instalado)

Y que si ya está instalado (osea, install=1), me lleve directamente al programa.

 

Muchas gracias por su atención.


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 jorge_97

By jorge_97

Los archivos INI yo los uso para cuando necesito guardar la configuración de algo de manera rápida y sencilla.

Los inis almacenan información siempre que exista ese archivo... pero tú no necesitas eso, tu solo necesitas almacenarlo en una variable:

 

Ejemplo de "Dialogo de Aceptar" para Instalación:

 

respuesta=os.message("¿Deses instalar EJEMPLO?",1)
 
if respuesta==1 then instala() else os.quit() end
 
 
 
--Si aceptamos, instalaremos; sino, volveremos al XMB

 

Un saludo


Risa Dos años en SCENEBETA Risa

Click aquí para ver la Entrada de Bitácora.

Imagen de User170294

No hagas caso :p

No hagas caso a NEKERAFA :p es mucho más facil hacerlo con INIs si sabes como.

Te recomiendo que te leas la docu y preguntes cualquier duda. Saludos a los dos ;)


Imagen de NEKERAFA

Mmm...

-.-', Enfin... Por lo menos di varias posibilidades de hacerlo...

Imagen de User170294

Pue sí.

No me dí cuenta.

Imagen de NEKERAFA

Mmm...

Primero, para nada ninguna duda es estupida, dudar es humano. Si lo supieramos todo esto sería un caos.

Ya sabeis que a mi me gustan más los archivos de texto plano que los ini, por lo que te voy a explicar de las dos maneras (Acuerdate que tienes todo en la documentación, revisa la más reciente, ya que en las antiguas creo recordar que no salen). También puedes comprobar si existe el archivo o alguna carpeta de la instalación.

  • Archivo ini:

Segun todos, esto es lo más facil (Para mi es complicarse la vida). Tienes un archivo ini que pone lo siguiente:

install=0

install en este caso es la clave, y 0 es el valor, claramente. Para ello solo lo tienes que abrirlo y leerlo con la función ini.read(archivo, clave, valor por defecto). Si quieres compararlo como número acuerdate de pasarlo con tonumber(). Aquí tienes un ejemplo:

 

archivo = ini.open("install.ini", true)
install = tonumber(archivo:read("install", "0"))
if install == 0 then
   -- Código de instalación
   archivo:write("install", "1")
end
archivo:free(); archivo = nil
-- Resto del programa

  • Funciones io:

Para mi el más facil de todos. Tengo un archivo en el que colocaré un 0 o un 1 que llamo install. Con io.open(archivo, tipo) abro el archivo, con io.read(archivo, "*a") leo todo el archivo, y con io.write(archivo, texto) escribo en el archivo. Quedaría de la siguiente forma:

archivo = io.open("install", "r+")
install = tonumber(archivo:read("install", "*a"))
if install == 0 then
   archivo:close(); archivo = nil; archivo = io.open("install", "w+")
   -- Código de instalación
   archivo:write("1")
end
archivo:close(); archivo = nil
-- Resto del programa


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

Yo

la hice de otra forma cuando para suba de numero... Osea si es 1 sube a 2, si es 2 suba a 3 y así sucesivamente...

Es un code de como sacar captura de pantalla (no, no necesite ayuda de nadie y ni de un tutorial xD solo queria experimentar y me salio XD)

Aquí el code:

dofile("captura.ini")
captura=screen.toimage()
image.save(captura,"ms0:/PICTURE/captura"..os.nick().."_"..capturas..".png")
configuracion = io.open("config.ini","w") -- abrimos el archivos "w" es modo de escritura
configuracion:write(capturas = "..(capturas+1))
io.close(configuracion)
os.message("Tu pantalla ha sido capturada y almacenada en tu Stick con éxito :D")

Si hay algo que esta mal, es mal copy/paste del Notepad++

Salu2!


 

 

Imagen de NEKERAFA

Mmm...

¿Y porque no intentas comprobar el numero de imagenes? Te pongo un ejemplo (lo acabo de programar ahora, por lo que no se si funcionara).

ncaptura=0
while files.exist("ms0:/PICTURE/captura"..ncaptura..".PNG") do
   ncaptura=ncaptura+1
end
captura = screen.capture()
image.save(captura, "ms0:/PICTURE/captura"..ncapture..".PNG")

Saludos ^-^


NekeOS, el nuevo shell para PSP

PS4 500GB OFW, PS3 320GB OFW, PS3 500GB OFW, PSP 6.39 PRO-C Fix4.

Sony Xperia Z1 Compact con Android 5.1.1

Portatil Lenovo z50-70 Intel® Core™ i7-4510U y NVIDIA GeForce 840M con Elementary OS 0.3.2 Freya (64 bits) y Windows 10 (64 bits).

MUCHAS, muchísimas

MUCHAS, muchísimas gracias!

Tenía muchas dudas sobre esto y tú me lo has solucionado, gracias (:

Imagen de m.rr

Pues cuando acabe de

Pues cuando acabe de instalar...
if files.exists("La ruta de instalación") == true then
INSTALL = ini.open("Ruta del ini")
INSTALL:WRITE("INSTALL=1")
END
 
 
 
 
 
 
 
 
 
 
 
el codigo no funciona, pero se entiende lo que hay que hacer, no?

Si, gracias, se entiende,

Si, gracias, se entiende, pero tengo otra dudita...

Antes de instalar, como hago para comprobar el estado del ini:

me explico:

leer el archivo

comprobar el estado (install=0 o install=1)

si es install=0, mandarte a la funcion Install()

si es install=1, mandarte a la función Inicio()

Imagen de m.rr

Pues ini.read() y si install

Pues ini.read() y si install es 0 o 1 haz las distintascosas. Leete la docu

No, si me la he leido, pero

No, si me la he leido, pero no entiendo ni papa

 

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.