Anuncios Google

Explorador de archivos LuaDev

Estoy haciendo un explorador y quiero que ciertas carpetas o archivos se pongan en rojo en vez de en negro. Me explico:

x 		= 35
	y 		= 25
	lugar 	= workDir[posicion].name
	for i= limiteInf, #workDir do
		if posicion == i  then
			screen.print(x,y,files.nopath(workDir[i].name),0.6,negro,blanco)
			Box:blit(x - 25, y - 4)
		elseif files.nopath(workDir[i].name) == "PSP" or "GAME" then
		n = files.nopath(workDir[posicion].name)
		    screen.print(x,y,n,0.6,rojo,blanco)
			Box:blit(x - 25, y - 4)
		else 
			screen.print(x,y,files.nopath(workDir[i].name),0.6,blanco,0x0)
			Box:blit(x - 25, y - 4)
 
		end
		y 	= y + 25
	end

Gracias.


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.

Seudocodigo

Ok, Tienes tu explorador basico, como sacado del tuto de Cam-Maker por tomar uno de ejemplo. pues ahora quieres que solo algunos nombres esten en rojo y otros en blanco. 

--Primero la tabla que contine los nombres de carpetas que quieres en otro color
items_especiales={'PSP','MUSIC','VIDEO'}
 
--Ahora sustituye el print de las carpetas/archivos del explorador por esto
existe = false;
for i=1,#items_especiales do
  if tabla[indice].name==items_especiales then
    existe = true;
    break;
  end
end
if existe then
     print(x,y,tabla[indice].name,rojo)   
  else
     print(x,y,tabla[indice].name,blanco)
end
--sigues con el resto del code

No te corregi el code, solo intento dejarte la solucion de una forma general que cualquiera lo pueda adaptar a su code.

PD: Corregido luego de consultar con Chimecho mi respuesta anterior, ahora si deberia ir bien.

Saludos y exito en tus proyectos.

Imagen de m.rr

Vale me gusta ahora lo

Vale me gusta ahora lo pruebo, pero abría que molderalo a mi code.

Tu puedes

Si has hecho el explorador, y lees bien el pedazo de code y sus anotaciones, lo lograras.

Imagen de m.rr

Conseguido! Gracias,

Conseguido! Gracias, Boujack.

También gracias a 6381. 

Imagen de AitorDB

By Aitor

¿Por que no haces esto? Es más corto

 

Todos lleva como color la variable color1 (por ejemplo)

if variable_de_los_directorios == "PSP" then
color1 = color.new(255,0,0)
else
color1 = color.new(255,255,255)
end


Sígueme en Twitter: @Aitor_db

Imagen de m.rr

No, tampoco.

No, tampoco.

Imagen de AitorDB

By AItor

¿No te vale esto?

x = 35
y = 25
lugar = workDir[posicion].name
	for i= limiteInf, #workDir do
 
		if lugar == "PSP" or lugar == "GAME" then
			color = color.new(255,0,0)
		else
			color = color.new(255,255,255)
		end
 
		if posicion == i  then
			screen.print(x,y,files.nopath(workDir[i].name),0.6,color,blanco)
			Box:blit(x - 25, y - 4)
		else 
			screen.print(x,y,files.nopath(workDir[i].name),0.6,color,0x0)
			Box:blit(x - 25, y - 4) 
		end
		y 	= y + 25
	end

Pruebalo así haber, si no te va me dices, pero debería ir


Sígueme en Twitter: @Aitor_db

Imagen de m.rr

Lo voy a probar, pero me

Lo voy a probar, pero me gusta :)

Imagen de cam-maker

quizas esto

quizas esto te ayude no se si funciona xD

x 		= 35
y 		= 25
lugar 	= workDir[posicion].name
for i= limiteInf, #workDir do
	if posicion == i  then
		if files.nopath(workDir[i].name) == "PSP" or "GAME" then
			n = files.nopath(workDir[posicion].name)
			screen.print(x,y,n,0.6,rojo,blanco)
			Box:blit(x - 25, y - 4)
		else
			screen.print(x,y,files.nopath(workDir[i].name),0.6,negro,blanco)
			Box:blit(x - 25, y - 4)
		end
	else 
		screen.print(x,y,files.nopath(workDir[i].name),0.6,blanco,0x0)
		Box:blit(x - 25, y - 4)
	end
	y 	= y + 25
end


"Las cosas brillantes siempre salen de repente, como la geometría de una flor"


Imagen de m.rr

Me imprime todos los nombres

Me imprime todos los nombres de color rojo porque le has dicho que si hay una carpeta llamada PSP o GAME que imprima de rojo, creo. Ahora lo pruebo.

Imagen de cam-maker

nop

lo dudo, pero pruebalo (:

Imagen de m.rr

No, no funciona.

No, no funciona.

Imagen de Dioni0396

sabes en un elseif

no puede contener un else?

¿Quién ha dicho que no? Por

¿Quién ha dicho que no? Por que si se puede.

Imagen de Dioni0396

Si?

Y entonces el else a que afectaria al if o al elseif?

Con este ejemplo bastará para

Con este ejemplo bastará para entenderlo muy fácilmente:

if operacion == "+" then
	resultado = a + b
elseif operacion == "-" then
	resultado = a - b
elseif operacion == "*" then
	resultado = a*b
elseif operacion == "/" then
	resultado = a/b
else
	error("Operacion invalida")
end
 

Imagen de Dioni0396

Ok

Entendido.

Imagen de m.rr

Ya, ya. Pero es el code

Ya, ya. Pero es el code "malo" recién hechos los cambios, lo que me importa es lo del color rojo. ¿Alguna sugerencia? Gracias.

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.