Anuncios Google

Ayuda zip lua

Tengo una duda para mi HB PSP Noob Recognizer..y es que cuando este descomprime el arcivo zip en la memoria...este sale como dato dañado..este es el codigo:

--[[ Funcion msgdialog escrita por klozz diseñado por Clizana
	msg_dialog(mensaje, [tipo])
	si tipo se omite es un mensaje con el boton cancelar solamente
 	si tipo es 1 entonces es un dialogo con botones Si/No
	Al ser el dialogo de tipo 1, puede devolver como resultado un:
		0 = Presionaron SI
		1 = Presionaron NO
		2 = Presionaron CANCELAR
	   -1 = ERROR
--]]
function msg_dialog(txtmsg, tipo)
local enabled = true
local pressed = -1
local opciones
local result = ""
	if tipo==nil or tipo==0 then
		opciones = PGE_UTILS_MSG_DIALOG_DEFAULT_BUTTON_NO
	elseif tipo==1 then
		opciones = PGE_UTILS_MSG_DIALOG_YESNO_BUTTONS
	end
	if not pge.utils.msginit(txtmsg, opciones) then
		error("Error iniciando el msgdialog.")
	end
	while pge.running() do
		-- Start drawing
		pge.gfx.startdrawing()
		-- Clear screen (to black)
		pge.gfx.clearscreen()
		if not enabled then
			return result
		end
 
		pge.gfx.enddrawing()
 
		if enabled then
		-- pge.utils.msgupdate() must be called after pge.gfx.enddrawing(), but before pge.gfx.swapbuffers()
		pressed = pge.utils.msgupdate()
			if pressed == PGE_UTILS_MSG_DIALOG_RESULT_YES then
				result = 0
				enabled = false
			elseif pressed == PGE_UTILS_MSG_DIALOG_RESULT_NO then
				result = 1
				enabled = false
			elseif pressed == PGE_UTILS_MSG_DIALOG_RESULT_BACK then
				result = 2
				enabled = false
			elseif pressed ~= PGE_UTILS_DIALOG_RUNNING then
				result = -1
				enabled = false
			end			
		end
		pge.gfx.swapbuffers()
	end
end
 
 
function extraer_zip(archivo, destino)
	local zipfile = pge.zip.open(archivo) --abrimos el zip
	local diroriginal = pge.dir.getcwd() --obtenemos el directorio original
	msg_dialog("Iniciando la instalacion en "..diroriginal.."\nDe Psp Recognizer")
	if zipfile then
		pge.dir.chdir(destino) --cambiamos al directorio donde vamos a descomprimir
		if(pge.zip.extract(zipfile, "")) then
			msg_dialog("Se ha instalado en "..destino.." Psp Recognizer")
		else
			msg_dialog("Error")
		end
	end
	pge.dir.chdir(diroriginal) --volvemos al directorio original
end
 
archivo = "psprecognizer.zip" --este es el archivo quye descomprimira
destino = "ms0:/" --la raiz de la psp
 
while pge.running() do
	msg_dialog("Instalar Psp recognizer")
	extraer_zip(archivo, destino) --llamamos a la funcion antes creada
	break
end


When you feel that Earth is shaking...a magic carpet comes from heaven(:


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.

Solucionado

Ya te lo solucione Mr Bryann, el problema estaba en la línea

if(pge.zip.extract(zipfile,"")) then

Has de quitar las comillas, si el archivo zip que vas a descomprimir no tiene password simplemente no pongas nada, omite ese argumento de la función y listo

if(pge.zip.extract(zipfile)) then

Ale, un saludo, un placer ayudar.

Imagen de clizana

.

Prueba con distintos zips (comprimiendo con winzip, winrar, 7zip etc).

Asegurate que el nombre es el correcto psprecognizer.zip, con mayusculas y cosas asi que concuerden

Yo lo probe con un zip y me funcionó, los errores pueden ser los que te nombré arriba.
Saludos


Version Actual GoearPSP: Descontinuado

http://dev.cristian.lizana.in/

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.