Anuncios Google

[Ultima duda mia de hoy]Como hago que si presiono X en un files.listdirs abra esa carpeta.

Bueno, mi ultima duda de programacion el dia de hoy, como hago esto: Liste las carpetas de ms0, hay dos carpetas, si presiono x se cambie el nombre, pero tengofiles.rename("ms0:/MUSIC","MUSICR") y la otra carpeta es video, como le hago para que cada carpeta se cambie a dicho nombre, o que se le agregue una letra nadamas, o tengo que hacer la funcion files.rename para todas las carpetas, pero no se que carpetas hay en las otras ms.

Lenguaje: LuaDEV

 


HiderDEV 2.0: 100%  3D Images: 100%   American Run: 100%

 

 

 


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.

Extenderé el ejemplo de

Extenderé el ejemplo de abajo:

Por lo que entendí, necesitas que si están las carpetas MUSIC y VIDEO en la lista, y el usuario las selecciona, cambien su nombre a MUSICA y VIDEOS, cierto? Eso es sencillo, realmente.

lista = files.listdirs("la dirección que quieras listar")
sel = 1     --Para el menu de selección
 
while true do
y = 30     --Posición inicial de la lista, la reseteo todos los ciclos para q siempre empiece a blitearse en el mismo lugar
	controls.read()
		screen.print(0,5,"Selecciona un archivo: ")     --Como si no supiéramos que hacer xD
 
			for i=1, #lista do
				screen.print(240 - screen.textwidth(files.nopath(lista[i].name))/2,y,string.lower(files.nopath(lista[i].name)))     
					if i == sel then screen.print(240 - (screen.textwidth(files.nopath(lista[i].name))/2 + 35),y,"==>") end     
						y = y + 15     --Para que no se empalmen los elementos, modificar de acuerdo al tamaño de la fuente usada (ensayo y error :P)
			end
				--Para mover mi selector, usaré las siguientes dos líneas
				if controls.press("down") and sel < #lista then sel = sel + 1 end  
					if controls.press("up") and sel > 0 then sel = sel - 1 end
--Ara viene lo interesante:
    if controls.press("cross") and files.nopath(lista[sel].name) == "MUSIC" then     --Si estoy sobre la carpeta MUSIC, la renombro. Hacer lo mismo para las otras carpetas a renombrar ;)
			files.rename(lista[sel].name,files.nopath(lista[sel].name).."RG")     --Al nombre original le agrego un par de letras, q después podría quitar fácilmente, para regresarle su nombre original :)
				lista = files.listdirs("la dirección que quieras listar")     --Recargo la lista, para que se vean los cambios en el explorador ;)
     end
 
screen.flip()     --Todo listo? Bien, flip! xDD
end

Notar que:

  • Ejemplo para una carpeta, te toca hacer lo mismo para las otras.
  • También te toca hacer que puedas regresar su nombre original a las carpetas (mismo procedimiento, realmente xD)

PD. Estos codes son libres, que los tomen quienes los necesiten (mencionando fuente y autor, claro)

Saludos

Imagen de lostdajt

Y no se podría hacer así:

Esque, en cada MS no se que carpetas tienen, entonces, lo que quiero, es que si presiono X, sea la carpeta que sea se le agregue una letra.


HiderDEV 2.0: 100%  3D Images: 100%   American Run: 100%

 

 

 

Imagen de Dioni0396

El metodo que ha puesto rober

permite ver cualquier MS es decir, nunca fallaras.

Imagen de lostdajt

Pero

Nomas renombra MUSIC, mas no las otras carpetas.

Es justo como dice dioni, de

Es justo como dice dioni, de hecho debajo del code te dejé un par de notas ;)

Si te fijas, la condición donde renombras dice literalmente esto:
"Si se presiona X, y el nombre de la carpeta sobre la que estoy es MUSIC, entonces..." y el código para renombrarla. Es decir, si la carpeta sobre la que está el selector no se llama MUSIC, no hará absolutamente nada (porque no se cumple la condición).
Lo mismo para el resto de carpetas que quieras renombrar ;)

Imagen de Dioni0396

[Off topic]

--Adivina

--Que?

--Tengo 4 Segus (Ha saber lo que sera)

--Me das uno?

--No.

--Tacaño

xDDDDDDDDDDDDD

Imagen de barney77

¿Quien va a compartir 4 de

¿Quien va a compartir 4 de estos? ...

 

 

XDDDD.

 

Saludos y FIN DEL TOPIC OF XD,

Imagen de Dioni0396

Que?

Si quieres renombrar las demas, debes continuar tu el codigo (Creo que el no te lo dara)

Imagen de Chimecho

.....

Pero si el code YA se lo dio... a parte que no hay que continuarlo, mas bien habría que borrar algo para que sirva para cualquier carpeta ;)

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 NauTiluS1

and

and files.nopath(lista[sel].name) == "MUSIC"

Debe estar por hay xD

El menu de selección

El menu de selección realmente sencillo, pero como me enredaría mucho explicándote, mejor te dejo un ejemplito:

lista = files.listfiles("la dirección que quieras listar")
sel = 1     --Para el menu de selección
 
while true do
y = 30     --Posición inicial de la lista, la reseteo todos los ciclos para q siempre empiece a blitearse en el mismo lugar
	controls.read()
		screen.print(0,5,"Selecciona un archivo: ")     --Como si no supiéramos que hacer xD
 
			for i=1, #lista do
				screen.print(240 - screen.textwidth(files.nopath(lista[i].name))/2,y,string.lower(files.nopath(lista[i].name)))     --Ver nota 1 xD
					if i == sel then screen.print(240 - (screen.textwidth(files.nopath(lista[i].name))/2 + 35),y,"==>") end     --Ver nota 2
						y = y + 15     --Para que no se empalmen los elementos, modificar de acuerdo al tamaño de la fuente usada (ensayo y error :P)
			end
				--Para mover mi selector, usaré las siguientes dos líneas
				if controls.press("down") and sel < #lista then sel = sel + 1 end  
					if controls.press("up") and sel > 0 then sel = sel - 1 end
screen.flip()     --Todo listo? Bien, flip! xDD
end
 
--Ara si, las notas:
--Nota 1: No hay mucha ciencia. Esa línea solo imprime el elemento que toque (lista[i].name) centrado en la pantalla.
---------files.nopath es para trabajar sólo con nombres de archivo (notar que lista[i].name es la dirección absoluta del archivo, tipo ms0:/bla/bla/bla/archivo.algo xD)
---------string.lower es para trabajar en minúsculas 
 
--Nota 2: Esta línea comprueba si el elemento actual es el "seleccionado". De serlo, blitea "==>" a la izquierda del nombre del archivo (cutre lo sé, es un ejemplo xD)

La salida será algo como ésto:

Le faltan un par de cosillas a ese code, a saber:

  • Dejar de blitear la lista si ya estás fuera de la pantalla (no tiene casi blitear si ya no lo voy a ver :P)
  • Scroll, por si la lista se sale de la pantalla, poder desplazarme por los elementos.
  • Cambio de colores según la extensión

Sobre los colores, se me había ocurrido cargarlos en una tabla:

colores = {
         mp3 = color.new(...),
         jpg = color.new(...),
         pbp = color.new(...),
         otras más xD,
}

y después usar el color que corresponda, indexando con files.ext:

screen.print(x,y,lista[i].name,colores[files.ext(lista[i].name)])

Sólo que de esta manera habría un bug: si la extensión no está declarada, nos daría error al tratar de acceder a un color que no está definido. Lo menciono para que lo arregles por si te interesa.

Saludos

Imagen de lostdajt

Ya vez porque te

Di el rango de programador, aunque no hayas hecho algun HB, hiciste una lib muy buena, y tambien sabes demasiado de LuaDEV.

Gracias por ayudarme.

Salu2


HiderDEV 2.0: 100%  3D Images: 100%   American Run: 100%

 

 

 

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.