Здравствуйте !
Есть скриптик установки программ :
Цитата:
Global $StartTicksNET,$StartTicksNETObshee,$EndTicksNET,$StartTicksNET,$EndTicksNETObshee,$Hour, $Min, $Sec,$Mins,$Secs,$Time,$ProgressBARTime,$HourObshee, $MinsObshee, $SecsObshee
Global $TimeObshee,$ProgressBARTimeObshee,$Label1,$Label2
#include
#include
#include
#include
#include
$Form1 = GUICreate("Form1", 633, 134, 192, 124)
$Progress1 = GUICtrlCreateProgress(8, 32, 614, 17)
$Progress2 = GUICtrlCreateProgress(8, 88, 614, 17)
$Label1 = GUICtrlCreateLabel("", 8, 8, 620, 17, $SS_CENTER)
$Label2 = GUICtrlCreateLabel("", 8, 64, 612, 17, $SS_CENTER)
GUISetState(@SW_SHOW)
AdlibRegister("Timer", 50)
AdlibRegister("Timer_Obshee", 50)
AdlibRegister("TimerReal", 50)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
Func Timer()
_TicksToTime($EndTicksNET-$StartTicksNET, $Hour, $Mins, $Secs)
Local $sTime = $Time ; save current time to be able to test and avoid flicker..
$Time = StringFormat("%02i мин. %02i сек.", $Mins, $Secs)
If $sTime $Time Then
GUICtrlSetData ($Label1,"Время текущей установки : " & $Time)
GUICtrlSetData ($Progress1,100-(((($Mins*60)+$Secs)*100)/$ProgressBARTime))
EndIf
EndFunc ;==>Timer
Func Timer_Obshee()
_TicksToTime($EndTicksNETObshee-$StartTicksNETObshee, $HourObshee, $MinsObshee, $SecsObshee)
Local $sTime = $TimeObshee ; save current time to be able to test and avoid flicker..
$TimeObshee = StringFormat("%02i мин. %02i сек.", $MinsObshee, $SecsObshee)
If $sTime $TimeObshee Then
GUICtrlSetData ($Label2,"Общее время : " & $TimeObshee)
GUICtrlSetData ($Progress2,100-(((($MinsObshee*60)+$SecsObshee)*100)/$ProgressBARTimeObshee))
EndIf
EndFunc ;==>Timer
Func TimerReal()
$StartTicksNET = _TimeToTicks(@HOUR,@MIN,@SEC)
$StartTicksNETObshee = _TimeToTicks(@HOUR,@MIN,@SEC)
EndFunc
Func _NET_TIME_Prog($timeTekInstall)
$EndTicksNET=$StartTicksNET + $timeTekInstall
_TicksToTime($EndTicksNET-$StartTicksNET, $Hour, $Mins, $Secs)
$ProgressBARTime=($Mins*60)+$Secs
EndFunc
Func _NET_TIME_Obshee($Obshee_Vremya)
$EndTicksNETObshee=$StartTicksNETObshee + $Obshee_Vremya
_TicksToTime($EndTicksNETObshee-$StartTicksNETObshee, $HourObshee, $MinsObshee, $SecsObshee)
$ProgressBARTimeObshee=($MinsObshee*60)+$SecsObshee
EndFunc
Func _SpeedTimeProgram($procent)
For $i = $procent To 100 Step 1
Sleep(10)
GUICtrlSetData ($Progress1,$i)
Next
EndFunc
_NET_TIME_Obshee(65000)
_NET_TIME_Prog(15000)
Sleep(7000)
_SpeedTimeProgram(100-(((($Mins*60)+$Secs)*100)/$ProgressBARTime))
Sleep(3000)
Где _NET_TIME_Obshee(65000)-общее время установки всех программ, _NET_TIME_Prog(15000)-Предполагаемое время установки текущей программы,Sleep(7000)-вместо 15000 установилась за 7000
Первая проблема-немогу заставить работать скрипт-только нужно нажать ЗАКРЫТЬ (убирал While 1...WEnd-все равно не хочет).
Вторая проблема-Нужно чтобы, если время текущей программы равно 15 сек., а устанавливается она за 7 сек, то чтобы ускорялся и шёл до конча (вроде бы сделал-правильно или нет, но работает почти) и одновремменно с такой же скоростью время $Label1 уменьшалось до нулей.
Желательно чтобы от общего времени $Label2 и $Progress2 тоже уменьшался.
Заранее спасибо, надеюсь на Вашу помощь.
Работа с временем+прогрессбар в GUI
Ответить
Сообщений: 1
• Страница 1 из 1
Перейти
- Forum-OSzone.ru
- ↳ Информация
- Клиентские ОС Microsoft
- ↳ Microsoft Windows 95/98/Me (архив)
- ↳ Microsoft Windows 2000/XP
- ↳ Microsoft Windows Vista
- ↳ Microsoft Windows 7
- ↳ Microsoft Windows 8 и 8.1
- ↳ Microsoft Windows 10
- ↳ Microsoft Windows 11
- Linux и FreeBSD
- ↳ Общий по Linux
- ↳ Общий по FreeBSD
- ↳ Программное обеспечение Linux и FreeBSD
- ↳ Железо в Linux
- ↳ Новости и флейм из мира *nix
- ↳ Железо во FreeBSD
- ↳ Программирование в *nix
- Общий
- ↳ Флейм
- ↳ О сайте и форуме
- ↳ Юмор
- Компьютеры + Интернет
- ↳ Вебмастеру
- ↳ Хочу все знать
- ↳ Игры
- ↳ Мобильные ОС, смартфоны и планшеты
- ↳ Сетевые технологии
- Зона тестирования
- ↳ Тест-форум
- Железо
- ↳ Поиск драйверов, прошивок и руководств
- ↳ Непонятные проблемы с Железом
- ↳ Процесcоры
- ↳ Материнские платы и память
- ↳ Видеокарты
- ↳ Разгон, охлаждение и моддинг
- ↳ Накопители (SSD, HDD, USB Flash)
- ↳ Оптические приводы
- ↳ Сетевое оборудование
- ↳ Прочее железо
- ↳ Выбор отдельных компонентов компьютера и конфигурации в целом
- ↳ Ноутбуки
- ↳ Металлолом
- Автоматическая установка Windows
- ↳ Автоматическая установка Windows 2000/XP/2003
- ↳ Автоматическая установка приложений
- ↳ Наборы обновлений для Windows XP/2003/Windows 7
- ↳ Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista
- ↳ Проект WinStyle
- Информационная безопасность
- ↳ Защита компьютерных систем
- ↳ Лечение систем от вредоносных программ
- Архив
- ↳ Новости железа
- ↳ Новости информационных технологий
- ↳ Новости и события Microsoft
- ↳ Новости программного обеспечения
- Цифровые технологии
- ↳ Видео и аудио: обработка и кодирование
- ↳ Цифровое изображение
- Серверные продукты Microsoft
- ↳ Microsoft Windows NT/2000/2003
- ↳ Microsoft Exchange Server
- ↳ Windows Server 2008/2008 R2
- ↳ ISA Server / Microsoft Forefront TMG
- ↳ WSUS
- ↳ Другие серверные продукты
- ↳ Windows Server 2012/2012 R2
- ↳ Windows Server 2016/2019/2022
- Программирование, базы данных и автоматизация действий
- ↳ Программирование и базы данных
- ↳ Скриптовые языки администрирования Windows
- ↳ AutoIt
- Сфера Microsoft
- ↳ Программное обеспечение Windows
- ↳ Лицензирование продуктов Microsoft
- ↳ Устранение критических ошибок Windows
- ↳ Microsoft Office (Word, Excel, Outlook и т.д.)
- Изменение внешнего вида Windows
- ↳ Оформление Windows 11/ 10 / 8 / 7 / Vista
- ↳ Оформление Windows XP