Se puede?

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Estoy ya con los ultimos retoques en mi proyecto y me puse a probar cosas nuevas.

en el boton instalar tengo esto y va bien
result1 = Tree.GetNode("Tree1", "1.1");
result2 = Tree.GetNode("Tree1", "1.2");
result3 = Tree.GetNode("Tree1", "1.3");
result4 = Tree.GetNode("Tree1", "1.4");
result5 = Tree.GetNode("Tree1", "1.5");
result6 = Tree.GetNode("Tree1", "2.1");
result7 = Tree.GetNode("Tree1", "2.2");
result8 = Tree.GetNode("Tree1", "3.1");
result9 = Tree.GetNode("Tree1", "3.2");
result10 = Tree.GetNode("Tree1", "3.3");
result11 = Tree.GetNode("Tree1", "4.1");
result12 = Tree.GetNode("Tree1", "4.2");
result13 = Tree.GetNode("Tree1", "4.3");
result14 = Tree.GetNode("Tree1", "4.4");
result15 = Tree.GetNode("Tree1", "4.5");
result16 = Tree.GetNode("Tree1", "5.1");
result17 = Tree.GetNode("Tree1", "5.2");
result18 = Tree.GetNode("Tree1", "5.3");
result19 = Tree.GetNode("Tree1", "5.4");
result20 = Tree.GetNode("Tree1", "5.5");
result21 = Tree.GetNode("Tree1", "6.1");
result22 = Tree.GetNode("Tree1", "6.2");
result23 = Tree.GetNode("Tree1", "6.3");
result24 = Tree.GetNode("Tree1", "6.4");
result25 = Tree.GetNode("Tree1", "7.1");
result26 = Tree.GetNode("Tree1", "7.2");
result27 = Tree.GetNode("Tree1", "7.3");
result28 = Tree.GetNode("Tree1", "7.4");
result29 = Tree.GetNode("Tree1", "8.1");
result30 = Tree.GetNode("Tree1", "8.2");
result31 = Tree.GetNode("Tree1", "8.3");
result32 = Tree.GetNode("Tree1", "8.4");
result33 = Tree.GetNode("Tree1", "9.1");
result34 = Tree.GetNode("Tree1", "9.2");
result35 = Tree.GetNode("Tree1", "9.3");
result36 = Tree.GetNode("Tree1", "9.4");
result37 = Tree.GetNode("Tree1", "9.5");
result38 = Tree.GetNode("Tree1", "9.6");
result39 = Tree.GetNode("Tree1", "9.7");
result40 = Tree.GetNode("Tree1", "9.8");
result41 = Tree.GetNode("Tree1", "9.9");
result42 = Tree.GetNode("Tree1", "10.1");
result43 = Tree.GetNode("Tree1", "10.2");

if result1.Checked == true  or result2.Checked == true or result3.Checked == true or result4.Checked == true or result5.Checked == true or 
   result6.Checked == true  or result7.Checked == true or result8.Checked == true or result9.Checked == true or result10.Checked == true or 
   result11.Checked == true  or result12.Checked == true or result13.Checked == true or result14.Checked == true or result15.Checked == true or
   result16.Checked == true  or result17.Checked == true or result18.Checked == true or result19.Checked == true or result20.Checked == true or
   result21.Checked == true  or result22.Checked == true or result23.Checked == true or result24.Checked == true or result25.Checked == true or
   result26.Checked == true  or result27.Checked == true or result28.Checked == true or result29.Checked == true or result30.Checked == true or
   result31.Checked == true  or result32.Checked == true or result33.Checked == true or result34.Checked == true or result35.Checked == true or
   result36.Checked == true  or result37.Checked == true or result38.Checked == true or result39.Checked == true or result40.Checked == true or
   result41.Checked == true  or result42.Checked == true or result43.Checked == true then
   
 DialogEx.Show("Dialog1", true, nil, nil)
    else

Dialog.TimedMessage("Por Favor Espere...", "Elija algun Programa para Instalar", 2000, MB_ICONINFORMATION);
end
pero probando quise cambiar esto:
 if result1.Checked == true  or result2.Checked == true or result3.Checked == true or result4.Checked == true or result5.Checked == true or 
   result6.Checked == true  or result7.Checked == true or result8.Checked == true or result9.Checked == true or result10.Checked == true or 
   result11.Checked == true  or result12.Checked == true or result13.Checked == true or result14.Checked == true or result15.Checked == true or
   result16.Checked == true  or result17.Checked == true or result18.Checked == true or result19.Checked == true or result20.Checked == true or
   result21.Checked == true  or result22.Checked == true or result23.Checked == true or result24.Checked == true or result25.Checked == true or
   result26.Checked == true  or result27.Checked == true or result28.Checked == true or result29.Checked == true or result30.Checked == true or
   result31.Checked == true  or result32.Checked == true or result33.Checked == true or result34.Checked == true or result35.Checked == true or
   result36.Checked == true  or result37.Checked == true or result38.Checked == true or result39.Checked == true or result40.Checked == true or
   result41.Checked == true  or result42.Checked == true or result43.Checked == true then
para no tener que poner tanto codigo

y lo puse todo asi:
result = {};
result[1] = Tree.GetNode("Tree1", "1.1");
result[2] = Tree.GetNode("Tree1", "1.2");
result[3] = Tree.GetNode("Tree1", "1.3");
result[4] = Tree.GetNode("Tree1", "1.4");
result[5] = Tree.GetNode("Tree1", "1.5");
result[6] = Tree.GetNode("Tree1", "2.1");
result[7] = Tree.GetNode("Tree1", "2.2");
result[8] = Tree.GetNode("Tree1", "3.1");
result[9] = Tree.GetNode("Tree1", "3.2");
result[10] = Tree.GetNode("Tree1", "3.3");
result[11] = Tree.GetNode("Tree1", "4.1");
result[12] = Tree.GetNode("Tree1", "4.2");
result[13] = Tree.GetNode("Tree1", "4.3");
result[14] = Tree.GetNode("Tree1", "4.4");
result[15] = Tree.GetNode("Tree1", "4.5");
result[16] = Tree.GetNode("Tree1", "5.1");
result[17] = Tree.GetNode("Tree1", "5.2");
result[18] = Tree.GetNode("Tree1", "5.3");
result[19] = Tree.GetNode("Tree1", "5.4");
result[20] = Tree.GetNode("Tree1", "5.5");
result[21] = Tree.GetNode("Tree1", "6.1");
result[22] = Tree.GetNode("Tree1", "6.2");
result[23] = Tree.GetNode("Tree1", "6.3");
result[24] = Tree.GetNode("Tree1", "6.4");
result[25] = Tree.GetNode("Tree1", "7.1");
result[26] = Tree.GetNode("Tree1", "7.2");
result[27] = Tree.GetNode("Tree1", "7.3");
result[28] = Tree.GetNode("Tree1", "7.4");
result[29] = Tree.GetNode("Tree1", "8.1");
result[30] = Tree.GetNode("Tree1", "8.2");
result[31] = Tree.GetNode("Tree1", "8.3");
result[32] = Tree.GetNode("Tree1", "8.4");
result[33] = Tree.GetNode("Tree1", "9.1");
result[34] = Tree.GetNode("Tree1", "9.2");
result[35] = Tree.GetNode("Tree1", "9.3");
result[36] = Tree.GetNode("Tree1", "9.4");
result[37] = Tree.GetNode("Tree1", "9.5");
result[38] = Tree.GetNode("Tree1", "9.6");
result[39] = Tree.GetNode("Tree1", "9.7");
result[40] = Tree.GetNode("Tree1", "9.8");
result[41] = Tree.GetNode("Tree1", "9.9");
result[42] = Tree.GetNode("Tree1", "10.1");
result[43] = Tree.GetNode("Tree1", "10.2");

i = 1, 43;
if result[i].Checked == true  then

result = DialogEx.Show("Dialog1", true, nil, nil) else

Dialog.TimedMessage("Por Favor Espere...", "Elija algun Programa para Instalar", 2000, MB_ICONINFORMATION);
end 
el problema es que asi tenga o no tenga chekeado algo me sale siempre el mensaje de elija un programa.
voy mal encaminado o es que no se puede hacer lo que intento o sencillamente no sale rentable

Muchas gracias
Esto no me convence:
i = 1, 43;
if result[i].Checked == true  then

result = DialogEx.Show("Dialog1", true, nil, nil) else

Dialog.TimedMessage("Por Favor Espere...", "Elija algun Programa para Instalar", 2000, MB_ICONINFORMATION);
end
Corregidme si me equivoco pero esto no es un loop. el loop sería algo así:
for i = 1, 43 do
	if result[i].Checked == true then
		...
	end
end
Personalmente probaría esto:
for i = 1, 43 do
	if result[i].Checked == true then
		DialogEx.Show("Dialog1", true, nil, nil) 
	else
		Dialog.TimedMessage("Por Favor Espere...", "Elija algun Programa para Instalar", 2000, MB_ICONINFORMATION);
	end
end
Lo que pasa es que así comprobaría cada Checkbox monstrando el DialogEx si esta activada o el Dialog si no, lo que equivaldría a 43 mensajes... habría que cambiarlo un poco para que solo lo hiciera una vez

PDTA: intenta usar poco el nombre "result" ya que se te pueden mezclar unos con otros y montarse un caos.

Saludos!!!
gracias por el intento pero nada,me sale que no tengo elegido ningun programa y ademas se queda pillado en el mensaje y no desaparece

muchas gracias de todas formas
El código modificado por lo que te decía antes:
local activado = false
for i = 1, 43 do
        if result[i].Checked == true then
                activado = true
        end
end
if activado == true then
        DialogEx.Show("Dialog1", true, nil, nil) 
else
        Dialog.TimedMessage("Por Favor Espere...", "Elija algun Programa para Instalar", 2000, MB_ICONINFORMATION);
end
Prueba con este, es más menos lo que hace el primero que has puesto:
if result1.Checked == true  or result2.Checked == true or...
vale,creo que por fin entendi la forma de trabajar del bucle

como bien decias iva 1 por 1 comprobando el bucle y en los que no estaban checkeados ponia el mensaje hasta que llegaba a 1 checkeado

lo he solucionado gracias a tu ultimo mensaje pero añadiendole esto :
activado = resutl;
sino me daba error para dejarlo asi al final:
activado = resutl;
activado = false
for i = 1, 43 do
        if result[i].Checked == true then
                activado = true
        end
end
if activado == true then
        DialogEx.Show("Dialog1", true, nil, nil) 
else
        Dialog.TimedMessage("Por Favor Espere...", "Elija algun Programa para Instalar", 2000, MB_ICONINFORMATION);
end
muchas gracias por tu ayuda
De nada ;), me alegro de que te funcionase.

Otras formas de hacer bucles serían:
for i = 1, Table.Count(result) do
end
for i in pairs(result) do
end
El primero cuenta la tabla y hace un loop del 1 al número de entradas, y el segundo recorre la tabla de principio a fin devolviendo el número de entrada actual, misma función pero dos formas de hacerlo.

A la segunda opción le puede añadir un ",k" por ejemplo, que haría que "j" fuese el número de entrada y "k" el contenido, por ejemplo:
prueba = {}
prueba[1] = "uno"
prueba[2] = "dos"
prueba[3] = "tres"
prueba[4] = "cuatro"

for j,k in pairs(prueba) do
	Dialog.Message("texto", j.." - "..k)
end
este código te daría como resultado cuatro mensajes con el texto "1 - uno", "2 - dos"...

Te recomiendo modificar el código poniendo el segundo ejemplo (for i in pairs(result) do) ya que lo hace más dinámico y si añades más cosas en el "tree1" no tienes que modificar el número 43 para ajustarlo a las nuevas.
Siento el doble post pero es por si ya has leído el anterior:

he estado haciendo cálculos y puedes sustituir 44 líneas por 6, haciendo a la vez que el programa sea más dinámico y no tengas que andar haciendo algunas cosas manualmente.

En tu código tienes:
result = {}
result1 = Tree.GetNode("Tree1", "1.1");
...
result43 = Tree.GetNode("Tree1", "10.2");
lo puedes sutituir por esto:
result = {}
for j = 1, Tree.GetChildCount("Tree1", "0") do
	for k = 1, Tree.GetChildCount("Tree1", j) do
		result[Table.Count(result)+1] = Tree.GetNode("Tree1", j.."."..k).Checked
	end
end
Que lo que hace es con el primero "for" hace loop por todos los nodos raíz que hay (1 a 10), y el segundo loop recorre cada nodo hijo (1.1 a 10.2), despues con result[Table.Count(result)+1] te aseguras de que el último dato lo añada siempre al final de la tabla por lo que el resultado sería el mismo.

He de decir que lo he probado con dos items, con 3 subitems el primero y uno el segundo (4 en total), y las pruebas de texto (result[x].Text) y de checkbox (result[x].Checked) me han funcionado correctamente, espero que a ti te sirva igual de bien, ya que ahorrarías tiempo a la hora de añadir más items al arbol ;)

He de decir que no se programar... el día que aprenda :lol:

Saludos y cuéntame que tal :yes:
Primero:
el primer codigo que me habias mandado:
local activado = false
for i = 1, 43 do
        if result[i].Checked == true then
                activado = true
        end
end
if activado == true then
        DialogEx.Show("Dialog1", true, nil, nil) 
else
        Dialog.TimedMessage("Por Favor Espere...", "Elija algun Programa para Instalar", 2000, MB_ICONINFORMATION);
end
estaba correcto se me olvido poner local al principio

En lo referente a este ultimo mensaje siento decirte que he probado este ultimo codigo y al cambiarlo no me salta el dialog y me ha surgido otro problema.

mi proyecto es un instalador y tenia cada result por separado porque dependiendo del checkeo debe instalar una cosa u otra y quise acortar codigo porque supongo que el programa ira mejor,pero asi no me va la instalacion ya que me pone que result no tine ningun valor.
Para ver si me explico bien te pongo el codigo como lo tenia al principio es este:

este es mi codigo inicial en la pagina:
result1 = Tree.GetNode("Tree1", "1.1");
result2 = Tree.GetNode("Tree1", "1.2");
result3 = Tree.GetNode("Tree1", "1.3");
result4 = Tree.GetNode("Tree1", "1.4");
result5 = Tree.GetNode("Tree1", "1.5");
result6 = Tree.GetNode("Tree1", "2.1");
result7 = Tree.GetNode("Tree1", "2.2");
result8 = Tree.GetNode("Tree1", "3.1");
result9 = Tree.GetNode("Tree1", "3.2");
result10 = Tree.GetNode("Tree1", "3.3");
result11 = Tree.GetNode("Tree1", "4.1");
result12 = Tree.GetNode("Tree1", "4.2");
result13 = Tree.GetNode("Tree1", "4.3");
result14 = Tree.GetNode("Tree1", "4.4");
result15 = Tree.GetNode("Tree1", "4.5");
result16 = Tree.GetNode("Tree1", "5.1");
result17 = Tree.GetNode("Tree1", "5.2");
result18 = Tree.GetNode("Tree1", "5.3");
result19 = Tree.GetNode("Tree1", "5.4");
result20 = Tree.GetNode("Tree1", "5.5");
result21 = Tree.GetNode("Tree1", "6.1");
result22 = Tree.GetNode("Tree1", "6.2");
result23 = Tree.GetNode("Tree1", "6.3");
result24 = Tree.GetNode("Tree1", "6.4");
result25 = Tree.GetNode("Tree1", "7.1");
result26 = Tree.GetNode("Tree1", "7.2");
result27 = Tree.GetNode("Tree1", "7.3");
result28 = Tree.GetNode("Tree1", "7.4");
result29 = Tree.GetNode("Tree1", "8.1");
result30 = Tree.GetNode("Tree1", "8.2");
result31 = Tree.GetNode("Tree1", "8.3");
result32 = Tree.GetNode("Tree1", "8.4");
result33 = Tree.GetNode("Tree1", "9.1");
result34 = Tree.GetNode("Tree1", "9.2");
result35 = Tree.GetNode("Tree1", "9.3");
result36 = Tree.GetNode("Tree1", "9.4");
result37 = Tree.GetNode("Tree1", "9.5");
result38 = Tree.GetNode("Tree1", "9.6");
result39 = Tree.GetNode("Tree1", "9.7");
result40 = Tree.GetNode("Tree1", "9.8");
result41 = Tree.GetNode("Tree1", "9.9");
result42 = Tree.GetNode("Tree1", "10.1");
result43 = Tree.GetNode("Tree1", "10.2");

if result1.Checked == true  or result2.Checked == true or result3.Checked == true or result4.Checked == true or result5.Checked == true or 
   result6.Checked == true  or result7.Checked == true or result8.Checked == true or result9.Checked == true or result10.Checked == true or 
   result11.Checked == true  or result12.Checked == true or result13.Checked == true or result14.Checked == true or result15.Checked == true or
   result16.Checked == true  or result17.Checked == true or result18.Checked == true or result19.Checked == true or result20.Checked == true or
   result21.Checked == true  or result22.Checked == true or result23.Checked == true or result24.Checked == true or result25.Checked == true or
   result26.Checked == true  or result27.Checked == true or result28.Checked == true or result29.Checked == true or result30.Checked == true or
   result31.Checked == true  or result32.Checked == true or result33.Checked == true or result34.Checked == true or result35.Checked == true or
   result36.Checked == true  or result37.Checked == true or result38.Checked == true or result39.Checked == true or result40.Checked == true or
   result41.Checked == true  or result42.Checked == true or result43.Checked == true then
   
 DialogEx.Show("Dialog1", true, nil, nil)
    else

Dialog.TimedMessage("Por Favor Espere...", "Elija algun Programa para Instalar", 2000, MB_ICONINFORMATION);
end 

y esto lo que hacia en le dialog:
Button.SetVisible("Button1", false);
 	resultRandom = {}
for count = 1, 100 do
	resultRandom[count] = Math.Random(0, 100)
end
ProgressBarX.CreateObject("Plugin1", 0, SS_MediaPlayer, OS_Horizontal, true);
for count = 1, 100 do
	for countX = 0, resultRandom[count] do
		ProgressBarX.SetCurrentPos("Plugin"..countX, count)
		end
if (count > 0 and count <=1) then
	if result1.Checked then
		TreeList.InsertRow("Plugin2", 0, "Directx"..sep.."Instanlado...", nil, 0);
		File.Run("AutoPlay\\Docs\\directx\\directx.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 0, "Directx "..sep.."Instalado", nil, 0);
end		
	elseif (count > 1 and count <= 2) then
	if result2.Checked then
	    TreeList.InsertRow("Plugin2", 1, "Flash"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\flash\\flash.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 1, "Flash"..sep.."Instalado", nil, 0);
end	
	elseif (count > 3 and count <= 4) then
		if result3.Checked then
		TreeList.InsertRow("Plugin2", 2, "Java"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\java\\java.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 2, "Java"..sep.."Instalado", nil, 0);
end	
	elseif (count > 4 and count <= 5) then
	if result4.Checked then
		TreeList.InsertRow("Plugin2", 3, "Net Framework 1,2,3 y 3.5"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\netframework\\netframework.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 3, "Net Framework 1,2,3 y 3.5"..sep.."Instalado", nil, 0);
end	
    elseif (count > 5 and count <= 6) then
	if result5.Checked then
		TreeList.InsertRow("Plugin2", 4, "Shockwave"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\shockwave\\shockwave.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 4, "Shockwave"..sep.."Instalado", nil, 0);
end
    elseif (count > 6 and count <= 7) then
	if result6.Checked then
		TreeList.InsertRow("Plugin2", 5, "JDownloader"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\jdownloader\\jdownloader.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 5, "JDownloader"..sep.."Instalado", nil, 0);
end		
    elseif (count > 7 and count <= 8) then
    if result7.Checked then
		TreeList.InsertRow("Plugin2", 6, "Utorrent 2.2"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\utorrent\\utorrent.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 6, "Utorrent 2.2"..sep.."Instalado", nil, 0);
end
	elseif (count > 8 and count <= 9) then
	if result8.Checked then
		TreeList.InsertRow("Plugin2", 7, "Burnaware Pro"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\burnawarepro\\burnawarepro.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 7, "Burnaware Pro"..sep.."Instalado", nil, 0);
end		
	elseif (count > 9 and count <= 10) then
	if result9.Checked then
		TreeList.InsertRow("Plugin2", 8, "Daemon Tools Lite"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\daemoontools\\daemoontools.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 8, "Daemon Tools Lite"..sep.."Instalado", nil, 0);
end			
	elseif (count > 10 and count <= 11) then
	if result10.Checked then
		TreeList.InsertRow("Plugin2", 9, "UltraISO 9.3.6"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\ultraiso\\UltraIS09.3.6.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 9, "UltraISO 9.3.6"..sep.."Instalado", nil, 0);
end	
    elseif (count > 11 and count <= 12) then
	if result11.Checked then
		TreeList.InsertRow("Plugin2", 10, "Adobe Photoshop CS4"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\photoshop\\adobephotoshopcs4.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TTreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 10, "Adobe Photoshop CS4"..sep.."Instalado", nil, 0);
end
    elseif (count > 12 and count <= 13) then
	if result12.Checked then
		TreeList.InsertRow("Plugin2", 11, "Image Resizer"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\imageresizer\\imageresizer.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 11, "Image Resizer"..sep.."Instalado", nil, 0);
end		
    elseif (count > 13 and count <= 14) then
    if result13.Checked then
        TreeList.InsertRow("Plugin2", 12, "ImageShack"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\imageshack\\imageshack.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 12, "ImageShack"..sep.."Instalado", nil, 0);
end
    elseif (count > 14 and count <= 15) then
	if result14.Checked then
		TreeList.InsertRow("Plugin2", 13, "PaintNET"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\paintnet\\paintnet.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 13, "PaintNET"..sep.."Instalado", nil, 0);
end	
	elseif (count > 15 and count <= 16) then
	if result15.Checked then
		TreeList.InsertRow("Plugin2", 14, "Total Image Converter"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\totalimageconverter\\setup.cmd", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 14, "Total Image Converter"..sep.."Instalado", nil, 0);
end		
	elseif (count > 16 and count <= 17) then
	if result16.Checked then
		TreeList.InsertRow("Plugin2", 15, "Foxmail"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\foxmail\\foxmail.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 15, "Foxmail"..sep.."Instalado", nil, 0);
end	
    elseif (count > 17 and count <= 18) then
	if result17.Checked then
		TreeList.InsertRow("Plugin2", 16, "Google Chrome"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\chrome\\chrome.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 16, "Google Chrome"..sep.."Instalado", nil, 0);
end
    elseif (count > 18 and count <= 19) then
	if result18.Checked then
		TreeList.InsertRow("Plugin2", 17, "Mozilla Firefox"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\firefox\\firefox.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 17, "Mozilla Firefox"..sep.."Instalado", nil, 0);
end		
    elseif (count > 19 and count <= 20) then
    if result19.Checked then
		TreeList.InsertRow("Plugin2", 18, "Opera 11"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\opera\\opera.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 18, "Opera 11"..sep.."Instalado", nil, 0);
end
	elseif (count > 20 and count <= 21) then
	if result20.Checked then
		TreeList.InsertRow("Plugin2", 19, "Windows Live Messenger"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\msn\\msn.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 19, "Windows Live Messenger"..sep.."Instalado", nil, 0);
end		
	elseif (count > 21 and count <= 22) then
	if result21.Checked then
	    TreeList.InsertRow("Plugin2", 20, "CCleaner"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\ccsetup\\ccsetup.exe", "", "", SW_SHOWNORMAL, true)
	    borrar = TreeList.CountRows("Plugin2", true);
	    TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 20, "CCleaner"..sep.."Instalado", nil, 0);
end			
	elseif (count > 22 and count <= 23) then
	if result22.Checked then
		TreeList.InsertRow("Plugin2", 21, "Esset Smart Security"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\esset\\esset.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 21, "Esset Smart Security"..sep.."Instalado", nil, 0);
end	
    elseif (count > 23 and count <= 24) then
	if result23.Checked then
		TreeList.InsertRow("Plugin2", 22, "Revo Unistaller Pro"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\revounistallerpro\\revounistallerpro.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 22, "Revo Unistallar Pro"..sep.."Instalado", nil, 0);
end
    elseif (count > 24 and count <= 25) then
	if result24.Checked then
		TreeList.InsertRow("Plugin2", 23, "SmartDefrag 2"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\smartdefrag\\smartdefrag.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 23, "SmartDefrag 2"..sep.."Instalado", nil, 0);
end		
    elseif (count > 25 and count <= 26) then
    if result25.Checked then
		TreeList.InsertRow("Plugin2", 24, "Aimp + Plugins"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\aimpplugins\\aimpplugins.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 24, "Aimp + Plugins"..sep.."Instalado", nil, 0);
end
    elseif (count > 26 and count <= 27) then
	if result26.Checked then
		TreeList.InsertRow("Plugin2", 25, "K-Lite Mega Pack"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\klitecodec\\klitecodec.exe", "", "", SW_SHOWNORMAL, true)-- Esto sucede si el result2 es TRUE
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 25, "K-Lite Mega Pack"..sep.."Instalado", nil, 0);
end	
	elseif (count > 27 and count <= 28) then
	if result27.Checked then
		TreeList.InsertRow("Plugin2", 26, "KMPlayer"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\kmplayer\\kmplayer.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 26, "KMPlayer"..sep.."Instalado", nil, 0);
end		
	elseif (count > 28 and count <= 29) then
	if result28.Checked then
		TreeList.InsertRow("Plugin2", 27, "Total Audio Converter"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\totalaudioconverter\\setup.cmd", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 27, "Total Audio Converter"..sep.."Instalado", nil, 0);
end	
    elseif (count > 29 and count <= 30) then
	if result29.Checked then
		TreeList.InsertRow("Plugin2", 28, "Adobe Reader X"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\adobereader\\setup.cmd", "", "", SW_SHOWNORMAL, true)-- Esto sucede si el result2 es TRUE
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 28, "Adobe Reader X"..sep.."Instalado", nil, 0);
end
    elseif (count > 30 and count <= 31) then
	if result30.Checked then	    
	    TreeList.InsertRow("Plugin2", 29, "Notepad"..sep.."Instalando...", nil, 0);
	    File.Run("AutoPlay\\Docs\\notepad\\notepad.exe", "", "", SW_SHOWNORMAL, true)
	    borrar = TreeList.CountRows("Plugin2", true);
	    TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 29, "Notepad"..sep.."Instalado", nil, 0);
end	
    elseif (count > 31 and count <= 32) then
    if result31.Checked then
		TreeList.InsertRow("Plugin2", 30, "Office 2003"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\office2003\\office2003.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 30, "Office 2003"..sep.."Instalado", nil, 0);
end
	elseif (count > 32 and count <= 33) then
	if result32.Checked then
		TreeList.InsertRow("Plugin2", 31, "PDF SUite 2011"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\pdfsuite\\pdfsuite.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 31, "PDF Suite 2011"..sep.."Instalado", nil, 0);
end		
	elseif (count > 33 and count <= 34) then
	if result33.Checked then
		TreeList.InsertRow("Plugin2", 32, "7zip"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\7zip\\7zip.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 32, "7zip"..sep.."Instalado", nil, 0);
end			
	elseif (count > 34 and count <= 35) then
	if result34.Checked then
		TreeList.InsertRow("Plugin2", 33, "Autoplay 8"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\autoplay\\autoplay.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 33, "Autoplay 8"..sep.."Instalado", nil, 0);
end	
    elseif (count > 35 and count <= 36) then
	if result35.Checked then
		TreeList.InsertRow("Plugin2", 34, "CamStudio"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\camstudio\\camstudio.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 34, "CamStudio"..sep.."Instalado", nil, 0);
end
    elseif (count > 36 and count <= 37) then
	if result36.Checked then
		TreeList.InsertRow("Plugin2", 35, "nLite"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\nlite\\nlite.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 35, "nLite"..sep.."Instalado", nil, 0);
end		
    elseif (count > 37 and count <= 38) then
    if result37.Checked then
		TreeList.InsertRow("Plugin2", 36, "ObjectDock"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\objectdock\\setup.cmd", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 36, "ObjectDock"..sep.."Instalado", nil, 0);
end
    elseif (count > 38 and count <= 39) then
	if result38.Checked then
		TreeList.InsertRow("Plugin2", 37, "Sonidos para Windows"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\sonidoswindows\\sonidoswindows.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 37, "Sonidos para Windows"..sep.."Instalado", nil, 0);
end	
    elseif (count > 39 and count <= 40) then
	if result39.Checked then
		TreeList.InsertRow("Plugin2", 38, "Teracopy"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\teracopy\\teracopy.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 38, "Teracopy"..sep.."Instalado", nil, 0);
end
    elseif (count > 40 and count <= 41) then
	if result40.Checked then
		TreeList.InsertRow("Plugin2", 39, "Wifihooper"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\wifihooper\\wifihooper.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 39, "Wifihooper"..sep.."Instalado", nil, 0);
end		
    elseif (count > 41 and count <= 42) then
    if result41.Checked then
		TreeList.InsertRow("Plugin2", 40, "Winrar + Skin"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\winrarskins\\winrarskins.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 40, "Winrar + Skin"..sep.."Instalado", nil, 0);
end
    elseif (count > 42 and count <= 43) then
    if result42.Checked then
        TreeList.InsertRow("Plugin2", 41, "Modificaciones Windows Admin Off"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\modificaciones windows\\modificaciones windowsadminoff.exe", "", "", SW_SHOWNORMAL, true)
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 41, "Modificaciones Windows Admin Off"..sep.."Instalado", nil, 0);
end
    elseif (count > 43 and count <= 44) then
    if result43.Checked then
		TreeList.InsertRow("Plugin2", 42, "Modificaciones Windows Admin On"..sep.."Instalando...", nil, 0);
		File.Run("AutoPlay\\Docs\\modificaciones windows\\modificaciones windowsadminon.exe", "", "", SW_SHOWNORMAL, true
		borrar = TreeList.CountRows("Plugin2", true);
		TreeList.RemoveRow("Plugin2", borrar -1);
		TreeList.InsertRow("Plugin2", 42, "Modificaciones Windows Admin On"..sep.."Instalado", nil, 0);
end   
	else
	end
	Application.Sleep(50);
end 
Dialog.Message("Instalación...", "Instalación Terminada con Exito\n\n\Disfrute sus Programas Elegidos\n\nWarlock", 2000, MB_ICONINFORMATION);
Button.SetVisible("Button1", true); 
Muchas gracias por tu ayuda y disculpa las molestias

Menos mal que tu no sabes programar,jejejejejeje

el que no sabe y se confunde con todo soy yo,que descubri este programa y llevo 1 mes y medio con pruebas,tutos y ejemplos para ver si le pillo el hilo a esto,pero tengo un cacao que no me entero

jejejejejejej
Me podrías pasar el APZ???, así lo estudio y puedo saber mas exactamente como está hecho, ya que por ejemplo en el script de abajo no entiendo el porque de un random o de esto:
elseif (count > 0 and count <= 1) then
Me suena parecido a un
elseif count == 1 then
Ya que arriba dices que si es mayor de 0 y menor o igual a 1 lo que solo da como opción el 1 :lol:


A mi me pasaba lo mismo al principio, de hecho la primera vez que vi el AMS pasé de largo porque dije "Pero como voy a hacer esto..." ya que no entendía nada, y despues la segunda vez empecé a aprender y ahora más menos hago algo xD.
aqui lo tienes,no te he metido los archivos de los programas porque sino ocuparia casi 900 megas,jejejejejeje

en lo referente a lo que mencionas es porque sino no sabia como hacer funcionar en conjunto plugings con instalacion,pero bueno,ya ahora lo podras ver tu mismo

HIDE: ON
Hidebb Message Hidden Description
Ok, mañana te lo miro que hoy es tarde y mañana madrugo, cuando eso te comento o te subo el APZ modificado ;)

Saludos!!!
muchisimas gracias por tu ayuda.
muy interesante el tema echare un vistazo.
michas gracias a ti tambien agotaras123. toda la ayuda que me podais dar es bienvenida,
no me metais muchos palos que soy novato novato jejejejejejeje
Bueno warlock, estoy echando un vistazo a el proyecto y ya estoy trabajando en él, he solucionado el problema del último código que te puse, y era que le sobraba el .Ckecked ya que lo hacía previamente...

También he visto el significado del Random y sobra, ya que lo usas en este código:
ProgressBarX.SetCurrentPos("Plugin"..countX, count)
Te serviría con poner:
ProgressBarX.SetCurrentPos("Plugin1", count)
ya que donde ponias el random era simplemente poner el nombre del plugin. He estado mirando el ejemplo del plugin y he visto que el usa ese código pero porque tiene 9 plugins y para no poner uno a uno (9 líneas) pones un loop y le pones que vaya cambiando del 1 al 9 con lo que usas 3 líneas y sería como si pusieras:
ProgressBarX.SetCurrentPos("Plugin1", count)
...
ProgressBarX.SetCurrentPos("Plugin9", count)
Una duda que tengo es acerca de una variable que usas llamada "sep" y que no encuentro donde empieza y aparte el AMS me dice que está vacía (nil).

Saludos y sigo trabajando ;), puede que en breve se vea la luz. De momento sigo reduciendo líneas, he reducido de 58 a 20 en el botón de instalar y manteniendo el funcionamiento.
el tema del pluging pues mira que yo probe a poner
pluging 1
porque quiero implementar otra explorarbar para cada result aparte pero no me funcionaba poniendolo asi

por eso deje lo de
pluging
y el problema es que al dejarlo asi,me funcionaban las 2 a la vez,tengo otro tema abierto con ese problema

en lo referente a sep ,es prque no sabia para que servia entonces no lo elimine,casi todo el codigo que tengo lo cogi de ejemplos y como no tengo ni idea pues hice un copia pega y le fui añadiendo mis cosas para que funcionase como yo quiero

de 50 a 20? madre mia,jejejejejeje

muchas gracias por tu ayuda daniel_lechu

PD:el AMS te dice que esta nil,me puedes decir eso en donde se puede mirar?
Lo que pasa es que te lo estoy modificando entero :lol:, ya casi he terminado pero me falta el último empujón que es que ejecute solo los que actives y con barra de progreso.

Lo de saber si es nil es fácil, tu pones un type(variable) y te devuelve lo que es, por ejemplo:
Dialog.Message("Tipo", type(sep));
Me sale un mensage indicandome que sep es nil. Tambien te indica si es tabla, boolean (true o false), o texto.

Resuélveme una duda, el Tree de cuando instalas para que es exáctamente???, se que antes de que se instale añade un mensage diciendo "instalando" y cuando termina otro poniendo "terminado" pero quiero saber exáctamente que es lo que quieres que haga ese Tree para dejarlo igual.

Saludos!!!
el tree,es porque al ser la accion
File,Run


pues no sabia implementar una barra de progreso de para archivo en particular entonces le puese el tree para que mas o menos indicase por donde iva la instalación y la progress bar como estado de la instalacion en total
el tree,es porque al ser la accion
File,Run


pues no sabia implementar otra progressbarX de para cada archivo en particular con cada file.run entonces le puese el tree y la progressbarX como estado de la instalacion en total
Bueno, ya he terminado de modificarlo:
HIDE: ON
Hidebb Message Hidden Description


Tal y como te lo he dejado solo necesitarias añadir la barra de progreso donde quisieras, activarla con este código:
ProgressBarX.CreateObject("Plugin1", 0, SS_MediaPlayer, OS_Horizontal, true);
cambiando "Plugin1" por el nombre de la nueva barra y cambiando el % con este otro código:

ProgressBarX.SetCurrentPos("Plugin1", porcentaje);

Donde "porcentaje" es el número del 1 al 100 que quieras y tendrás que cambiar también lo de "Plugin1" por el nombre de la nueva.

Comentame lo que sea ;)

Saludos!!!