sjdb45

Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код: Progress.SetRange("Barr", 0, 100); Progress.SetCurrentPos("Barr", 0); function appPathOriginal() local cdPath = ""; local findMarker = "SFXSOURCE:"; local cmdArgs = ""; if (Table.Count(_CommandLineArgs) > 0) then for i = 1, Table.Count(_CommandLineArgs) do if (String.Find(_CommandLineArgs[i], findMarker) > 0) then cmdArgs = _CommandLineArgs[i]; break; end end end if (cmdArgs ~= "") then if (String.Find(cmdArgs, findMarker) == 1) then local fullPath = String.Replace(cmdArgs, findMarker, "", true); local tblFullPath = String.SplitPath(fullPath); cd_Path = tblFullPath.Drive .. tblFullPath.Folder; end else cd_Path = _SourceFolder .. "\\"; end return cd_Path; end sPath = appPathOriginal(); if CheckBox.GetChecked("CheckBox1") then Shell.Execute(sPath.."\\Install\\g01.bat", "open", "", "", SW_HIDE, true); end Application.Sleep(3000); Progress.SetCurrentPos("Barr", 1); if CheckBox.GetChecked("CheckBox2") then Shell.Execute(sPath.."\\Install\\g02.bat", "open", "", "", SW_HIDE, true); end Application.Sleep(3000); Progress.SetCurrentPos("Barr", 2); if CheckBox.GetChecked("CheckBox3") then Shell.Execute(sPath.."\\Install\\g03.bat", "open", "", "", SW_HIDE, true); end Application.Sleep(3000); Progress.SetCurrentPos("Barr", 3); | Последовательно идут все чекбоксы - более 100 штук Всё работает без какого либо перетаскивания установщиков. Батники запускаются из папки Install и каждый батник запускает все что в него пропишут Прогрес бар тоже функционирует, для правильного отображения нужно сто установщиков поделить последовательно на количество чекбоксов Последний ньюанс который мне ещё не понятен - как сделать либо сообщение, либо затухание чекбокса после обработки его комманды чтобы чекбокс отображался выполненым... | Всего записей: 136 | Зарегистр. 17-07-2011 | Отправлено: 00:22 28-10-2011 | Исправлено: sjdb45, 00:24 28-10-2011 |
|