Se puede?

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
voy a probarlo y te comento
Impresionante,viendo el codigo entiendo las cosas,pero llegar a hacer eso me parece subreal.

Funciona todo perfecto,pero he probado a ponerle otra progressbar como me dijistes y hacen las 2 lo mismo y la segunda en cuanto se instala el primer programa se queda parada

esto es lo que puse,por si me he equivocado,cosa que no me extrañaria:

arriba esto:
ProgressBarX.CreateObject("Plugin3", 0, SS_MediaPlayer, OS_Horizontal, true);
y aqui:
for k in pairs(instalar) do
	TreeList.InsertRow("Plugin2", k-1, titulo[instalar[k]], nil, 0);
	TreeList.SetCellText("Plugin2", k-1, 1, "Instalando...");
	File.Run(programa[instalar[k]], "", "", SW_SHOWNORMAL, true)-- instala el programa
	TreeList.SetCellText("Plugin2", k-1, 1, "Instalado");
	ProgressBarX.SetCurrentPos("Plugin1", porcentaje*k)
	end  
lo puse asi:
for k in pairs(instalar) do
	TreeList.InsertRow("Plugin2", k-1, titulo[instalar[k]], nil, 0);
	TreeList.SetCellText("Plugin2", k-1, 1, "Instalando...");
	File.Run(programa[instalar[k]], "", "", SW_SHOWNORMAL, true)-- instala el programa
	TreeList.SetCellText("Plugin2", k-1, 1, "Instalado");
	ProgressBarX.SetCurrentPos("Plugin1", porcentaje*k)
           	ProgressBarX.SetCurrentPos("Plugin3", porcentaje)
	end  
Muchisimas gracias de nuevo y por las molestias
Claro, es que lo de "porcentaje" de la segunda bar lo puse como ejemplo, ahí tienes que poner el % ya sea en número (10, 50, 80...) o calculándolo como lo hago yo con la otra (porcentage *k).

Si no me he enterado mal quieres que el % suba según se va instalando el programa, y en la segunda suba al terminar de instalar, vamos como un progreso parcial y uno total, lo que pasa es que no es posible al menos que sea ficticio, ya que el programa no es capaz de leer el % que lleva los programas ejecutados con File.Run.
cierto,se me olvidaba lo del file,run.

son los otros como file,copy o file.install que puedes llamar a una funcion haciendo un progreso segun el archivo.

Una duda que tengo,seria muy complicado hacer lo mismo pero en vez que habriera el instalador en un Dialog que fuese en otra pagina distinta?

De nuevo muchisimas gracias por tu ayuda y perdona las molestias
Gracias a tu aplicación descubri que existian :lol:, te pasará igual, poco a poco irás aprendiendo y ordenando mejor los scripts. A mi me pasaba, si vieras lo que hacía yo...

Mira, tu añades una página nueva.
Pasas a la del Dialog y das a Ctrl+A para seleccionar todo.
Das a CTRL+C para copiarlo y pasa a la página nueva.
Das a CTRL+V para pegarlo y se quedaría con los objetos iguales.
Despues de mover los objetos tendrías que entrar en las propiedades del dialog y copiar todo el script de "On Show" al mismo pero de la página nueva.
Cambias el fondo para que tenga el mismo y modificas en el boton "instalar" de la página 3 esto:
DialogEx.Show("Dialog1", true, nil, nil) 
por esto:
Page.Jump("Pagina 4");
Eso en el caso de que la página nueva la llamases "Pagina 4", si no pon el nombre que la pongas.

Saludos!!!
creo que me he explicado mal,jejejejejeje

me refiero a que si la instalacion funcionaria igual si pongo el codigo que esta en dialog en otra pagina,por ejemplo la 4 y que en vez de saltar al dialog saltase a la pagina.

Sino estoy equicocado al saltar a dialog lee lo de la pagina 3 pero si salta a otra pagina no sabria de donde se han sacado esos datos no?
Los datos son globales, una vez que los pones los lee toda la aplicación ya sea en página o dialog. La única forma de que no pase eso es con la opción "local", que lo habrás visto que lo he usado yo, esos datos una vez que se termina esa parte del script se borran.

Puedes hacerlo sin problemas, los datos los sigue leyendo.
tenias razon como siempre va perfecto aun cambiando de pagina y en lo refenrente al Dialog yo lo descubri al instalar autoplay 8 creo que en el 7 no estaba aunque tampoco me fije mucho porque solo lo use 1 par de dias.

Una pregunta.si meto mas programas solo con meter el codigo en donde estan programas,titulo es suficiente no?

ahora estoy probando a cambiar el tree por un listboxex,no lo conocia a fondo pero es mucho mas completo

haber si lo consigo,jejejejeje


de nuevo muchas gracias
tendrás que modificar el código para un ListBoxEx ya que no es igual que el Tree.

En lo referente al programa si, simplemente añades lo de:
programa[xx],titulo[xx] = rutaprograma,titulo
sumándole cada vez un número y lo añadiría bien, despues lo añades al Tree y listo.
ok muchas gracias por todo

si ya me di cuenta de lo del codigo,jejejejeje

ya salta a la pagina 4,eso fue facil, en la ayuda viene como hacerlo, ahora solo me falta que instale los programas jejejejeje

a comerse la cabeza un poco,jejejejejeje

de nuevo muchas gracias
jejeje, de nada y suerte ;)

Si necesitas más ayuda ya sabes donde estamos aunque en finde desconecto normalmente :lol:
No digas eso que sino me lo tomo al pie de la letra,jejejejejeje

yo ya a la cama que a las 5 toca levantarse a trabajar, ya mañana seguire comiendome la cabeza ,jejejejeje
interesante
Bueno ya casi lo tengo,lo de cambiar el tree por un listboxEx pero necesito el ultimo empujoncito,jejejejeje

salta a la pagina 4 con este codigo:
seleccion = ListBoxEx.GetCheckedItems("Plugin1");

if (seleccion ~= nil) then
Page.Jump("Page2");
else
Dialog.TimedMessage("Por favor Espere...", "Elija algún Programa para Instalar...", 2000, MB_ICONINFORMATION);
end


y instala el programa y avanza el progress con esto:
programa = ListBoxEx.GetItemData("Plugin1", nIndex);
--Calcula el % que deberá subir la barra cada vez que termine de instalar un programa.
local porcentaje = {};
porcentaje = Math.Round(100/Table.Count(seleccion),0)
File.Run(programa, "", "", SW_SHOWNORMAL, true);
ProgressBarX.SetCurrentPos("Plugin2", porcentaje);
solo me falta el paso de en medio que sepa cuales estan chequeados para que los instale ya que sino no instala nada

muchas gracias
ustedes si que se están metiendo al rollo de esto y sin duda están haciendo un gran trabajo haber si cuando lo terminen publican el ejemplo, claro si ustedes quieren.
que es exactamente nIndex???
Con "GetItemData" intuyo que has puesto a lo mejor la ruta del programa como datos en el ListBox por lo que habría que sacar los datos de ahí no?
exacto daniel_Lechu en el item data le he metido a cada a cada item la ruta de su programa respectivo y nIndex es el nombre de cada item,se llaman todos igual.mira estan creados asi:
nIndex = ListBoxEx.AddItem("Plugin1", "<b>Burnaware Pro</b>", "Programa para grabar todo tipo de Cd´s y Dvd´s incluido en formato Blueray", "AutoPlay\\Docs\\ccsetup\\ccsetup.exe", "", 10, LBXITEM_HTML, 0, {46819,10092543}, {46819,10092543});  --
    ListBoxEx.SetItemGStyle("Plugin1", nIndex, BACKWARD_DIAGONAL, LBXISTATE_NORMAL);
    ListBoxEx.SetItemVisible("Plugin1", nIndex, true);
    ListBoxEx.SetItemIconSize("Plugin1", nIndex, 16);

nIndex = ListBoxEx.AddItem("Plugin1", "<b>Seguridad</b>", "", "", "", 2, LBXITEM_HTML, 0, {16316664,16764057,16316664}, {16316664,16764057,16316664}, {16316664,16764057,16316664});  
    ListBoxEx.SetItemGStyle("Plugin1", nIndex, VERTICAL, LBXISTATE_NORMAL);
    ListBoxEx.SetItemDataEx("Plugin1", nIndex, "open");
    ListBoxEx.SetItemCheckBoxVisible("Plugin1", nIndex, false);
    ListBoxEx.SetItemIconSize("Plugin1", nIndex, 16);

nIndex = ListBoxEx.AddItem("Plugin1", "<b>CCleaner</b>", "Programa para la limpieza de windows incluido el registro", "AutoPlay\\Docs\\ccsetup\\ccsetup.exe", "", 23, LBXITEM_HTML, 0, {46819,10092543}, {46819,10092543});  
    ListBoxEx.SetItemGStyle("Plugin1", nIndex, BACKWARD_DIAGONAL, LBXISTATE_NORMAL);
    ListBoxEx.SetItemVisible("Plugin1", nIndex, true);
    ListBoxEx.SetItemIconSize("Plugin1", nIndex, 16);
solo me falta eso que instala los checkeados y que calcule el nuevo porcentaje la progress bar
muchas gracias de nuevo
Wenas , me he entrenido haciendo este ejemplo , así es mas o menos como yo haría lo que tu quieres , no se si a estas alturas es lo que buscas , pero a lo mejor te sirve de algo;)

El archivo pesa un pelin porque lleva varios archivos a modo de instaladores como seria lo tuyo.

HIDE: ON
Hidebb Message Hidden Description
probando,muchas gracias rafaxplayer
Ante todo decirte que impresionante trabajo rafaxplayer solo un par de cosas:

te modifique la posicion de:
Path = tbChecks[count]["Data"]
	    File.Run(Path, "", "AutoPlay\\Docs", SW_SHOWNORMAL, true);
ya que sino la barra de progreso no salia hasta que no se instalaba el primer programa y tambien modifique lo que ponia de instalando archivos ya que son programas,pero bueno eso son memeces que ya uno definiria a su gusto.

te dejo aqui el apz por si quieres ver como te lo deje:

HIDE: ON
Hidebb Message Hidden Description


lo del tree ya lo habiamos solucionado,jejejejejeje,pero muchas gracias de todas formas solo que ahora me gusto el plugin ListBoxEx y estoy intentado adaptar el trabajo el el y no al Tree

si me decis a donde tengo que subir el apz,lo subire de mucho gusto en el se usa en conjunto combobox,Tree,plugin Treelist y ProgressBarX y cuando logre terminar este con el cambio del tree por el pluging ListBoxEx tambien lo subire de mucho agrado

ante todo decir que sin vuestra ayuda este trabajo hubiese sido imposible y sobre todo y en especial a Daniel_Lechu

muchas gracias a todos por vuestra ayuda a un novato muy novato en esto