Hola, Como veran trato de hacer un instalador, haciendo en el codigo que cuando cumpla la funcion imprima "Instalar". Y cuando se presione X en el texto ya impreso que se elimine y se imprima "Instalando" y empiece a extraer el archivo .zip.
Aprovheando. Cuando trato de extraer el archivo .zip no se extrae, coloco bien los argumentos pero no pasa nada.
He aqui el codigo (Si hay manera de simplificar el codigo, porfavor comente como hacerlo):
function Instalador() dofile("System/Cursor.lua") controls.read() if not files.exists("Setup.zip") then screen.print(50,170,"Error: El archivo |Setup.zip| no existe.",Blanco) end if not files.exists("Setup.zip") then screen.print(50,185,"No se podra continuar con la instalación.",Blanco) end if not files.exists("Setup.zip") then screen.print(50,200,"Presione L/R para activar/Desactivar el modo USB",Blanco) end if not files.exists("Setup.zip") then screen.print(50,215,"Despues de verificar, por favor reinicie la instalación.",Blanco) end if controls.l() then sound.play(USBon) end if controls.l() then usb.on() end if controls.r() then sound.play(USBoff) end if controls.r() then usb.off() end if files.exists("Setup.zip") then screen.print(180,155,"Instalar",Blanco) end if files.exists("Setup.zip") then image.blit(Siguiente,295,153) end if controls.cross() then sound.play(Click) end if Cursor:on(0,0,0,0) and controls.cross() then os.message("Comenzará la instalación, esto puede tardar varios minutos. Por favor no suspenda ni apague la consola") end ---No es necesario if Cursor:on(0,0,0,0) and controls.cross() then zip.extract("Setup.zip","MiHB","",true) end end while true do draw.fillrect(0,0,480,272,Blanco) image.blit(Fondo,0,0) Instalador() screen.flip() end -----LuaDEV-----
--[NO EXISTEN LOS LIMITES =D]--
Demonios :S.
Si que vas empezando xD, pero no te preocupes aqui estamos para ayudar, sugerencias...
No abuses de los "if" ya que a la larga eso daña tu programa, recuerda que existe tambien "else" y "elseif" aunque en tu codigo se pueden usar unos cuantos nada mas por ejemplo si pones muchas veces "if not" y a todo le das texto y todos los textos son en X=50 entonces puedes usar un solo "if not" ya sea poniendo "/n" despues de cada texto algo asi "texto1 /n texto2 /n texto3" y se te imprimiran en tres lineas cada texto, otra opcion seria poner los textos en el mismo "if not", solo deja el primer "if not" y borra los otros tres y quita los primeros tres "end" y deja solo el ultimo,y lo mismo para lo de presionar "L,R" y pues todo lo demas xD, espero te sirva saludos amigo.
XD
Gracias, tomo todas las sugerencias, cualquier es bienvenido :). Solo una pequeña duda: se usa "\n" ó "/n" abajo en m.rr pusó \n y tu me muestras que es /n. No es por ofender a nadie, lo digo con todo el debido respeto.
--[NO EXISTEN LOS LIMITES =D]--
Nunca he probado con \n xD y
Nunca he probado con \n xD y programo en C ya desde hace rato y nunca he tenido problemas entonces creo es lo mismo :D.
En C desde luego la funcion
En C desde luego la funcion para saltar de linea es \n si usas la stdlib.h, si usas otras librerias ya no lo se.
EJEM...
Ninguna función, es una secuencia de escape.
Pues \n
tambien funciona en C. ;)
Yo creo que funciona de las
Yo creo que funciona de las dos maneras. A mi me va \n
\n
Me funciona solo con \n
Es que creo que en Lua es \n
Es que creo que en Lua es \n pero en C se puede de las dos formas.
Tal vez si tengas razon ya
Tal vez si tengas razon ya que en lua casi no uso textos xD.
Mmm...
De manera que no es necesario que repitas las condiciones:
By PerezRE
Estube mejorando el codigo antes de checar el foro. Y si, creo que es mejor cargar el dofile al inicio, controls.read() ponerlo en el bucle. Tambien separe las condiciones if not e if en dos funciones, para que si el archivo no estubiera tenga la posibiliadad de activar y desactivar el modo usb y no tener la posibilidad de activarlo cuando se extraiga el archivo.
Sobre el cursor, creo que tendre que reprogramarlo, tuve muchos fallos. Ya que me no se muy bien mover una imagen por la pantalla. (Vere un tuto para esto).
Respecto al error de zip.extract. Tengo entendido que los argumentos son así: zip.extract("Archivo.zip","Ruta","Contraseña"). Si coloco bien los argumentos, creo que intentare de varias formas.
Gracias Rober Galarga por la ayuda.
EDITADO: Listo, despues de varios intentos. Por fin pude lograrlo, creo que era por que había carpetas vacías y no era del todo .zip (el error fue haberlo creado con winrar y no con el metodo; enviar a... carpeta comprimida (en zip) y colocar la ruta del .zip y ruta del destino.
entonces seria así:
if <condicion> then zip.extract("ms0:/PSP/GAME/MIHB/Setup.zip","ms0:/PSP/GAME/MIHB",true) end
Editado: Crear hilos y comentarios duplicados incumple las Normas de la Comunidad, si necesita cambiar su comentario puede usar la opción de Editar. Antes de volver a postear por favor revise las Normas.| Rober Galarga
--[NO EXISTEN LOS LIMITES =D]--
Hay una manera de que
Hay una manera de que extraiga un zip en cualquier parte de la memoria??
Justamente en el segundo
Justamente en el segundo argumento tu especificas la ruta de extracción que prefieras (si, en cualquier parte de la memoria).
K.o y también se podría un
K.o y también se podría un ejemplo si una carpeta está en la raíz como puedo hacer que el usuario ponga donde quiera extraerlo.
Pues... una de dos: o abres
Pues... una de dos: o abres el teclado para pedir la ruta directamente (podrías checar si la ruta existe y crearla si no) o pones un selector de carpetas (esta sería la forma más cómoda de cara al user, y se resuelve con la magia de files.list)
Entendí más o menos me lo
Entendí más o menos me lo podrías explicar con un ejemplo de cada. Por favor.
¿Sabes que puedes meter mas
¿Sabes que puedes meter mas de una función o sentencia dentro de una sentencia, verdad? xD
No XD
La verdad no lo sabía XD jaja. Se que aun me falta aprender, pero no cuesta nada aceptar ayuda de los demas. Gracias
function
Cursor:on(0,0,0,0)
Lo se no puse las coordenadas, alto y ancho. Puesto que olvide mencionar no haber puesto una imagen cargada xD... aun así gracias.
--[NO EXISTEN LOS LIMITES =D]--