Прогрессбар
- Alex
- Ас
- Сообщения: 2833
- Зарегистрирован: Вт апр 05, 2005 3:28 pm
- Откуда: Kaliningrad City
- Благодарил (а): 2 раза
- Поблагодарили: 91 раз
- Контактная информация:
Re: Прогрессбар
Да, эта фича уже есть в туду листе, примерно года два. Причем фича такого рода, после которой можно версию на 2.0 например менять.
- iPasha
- Авиаконструктор
- Сообщения: 441
- Зарегистрирован: Чт сен 08, 2005 5:05 pm
- Благодарил (а): 0
- Поблагодарили: 7 раз
- Контактная информация:
Re: Прогрессбар
Кстати, видимо Popup окошко отрисовывается не как стандартное окно и его , например, не видно при подключении к компьютеру по RAdmin'у
- Alex
- Ас
- Сообщения: 2833
- Зарегистрирован: Вт апр 05, 2005 3:28 pm
- Откуда: Kaliningrad City
- Благодарил (а): 2 раза
- Поблагодарили: 91 раз
- Контактная информация:
Re: Прогрессбар
Если по терминалу подключаться - не видно, а по RAdmin должно быть видно. RAdmin ведь просто снимок экрана делает и его отсылает, ему без разницы обычное это окно или необычное.
- iPasha
- Авиаконструктор
- Сообщения: 441
- Зарегистрирован: Чт сен 08, 2005 5:05 pm
- Благодарил (а): 0
- Поблагодарили: 7 раз
- Контактная информация:
Re: Прогрессбар
Не-а! Похоже он как-то по-другому работает! Не все отображается. Попап окошки я не вижу
- Romik©
- Авиаконструктор
- Сообщения: 263
- Зарегистрирован: Пн май 16, 2005 10:05 pm
- Откуда: Кольчугино
- Благодарил (а): 0
- Поблагодарили: 9 раз
- Контактная информация:
Re: Прогрессбар
Эти окошки плупрозрачные и по радмину их не увидеть...
Экономте электроэнергию, выключайте Num Lock!
-
- Командир экипажа
- Сообщения: 61
- Зарегистрирован: Пн июн 18, 2007 9:34 am
- Благодарил (а): 0
- Поблагодарили: 0
Re: Прогрессбар
Написал на AutoIT... пока только 2 прогрессбара, работает медленно, через ini файл, при достижении главного бара = 100 закрывается, прозрачность = 50%
Последовательность работы такая:
1.Запускаем exe - минибар
2.Задаем переменные в теле задачи
3.При записи в ini файл прогрессбар двигается
Примеры и исходники прилагаются, в задаче нужно переписать пути
Вот исходник AutoIT:
#include <GUIConstants.au3>
; Нуно узнать разрешение экрана чтоб поставить окошко в правый нижний угол
$Winset01=@DesktopHeight-38
$Winset02=@DesktopWidth-344
#Region ### START Koda GUI section ### Form=Minibar.kxf
; командная строка
$Inifile = $CmdLineRaw
$Form1 = GUICreate("Minibar "& $Inifile, 294, 60, $Winset01, $Winset02, BitOR($WS_MINIMIZEBOX,$DS_SETFOREGROUND), BitOR($WS_EX_TOOLWINDOW,$WS_EX_STATICEDGE))
; можно в основной стиль добавить $WS_POPUPWINDOW
GUISetFont(8, 400, 0, "Tahoma")
GUISetBkColor(0xA6CAF0)
WinSetTrans("Minibar", "", 170)
WinSetOnTop("Minibar", "", 1)
$Label1 = GUICtrlCreateLabel("", 0, 4, 91, 17, $SS_RIGHT)
$Label2 = GUICtrlCreateLabel("", 0, 20, 91, 17, $SS_RIGHT)
$Progress1 = GUICtrlCreateProgress(96, 8, 185, 8, $PBS_SMOOTH)
$Progress2 = GUICtrlCreateProgress(96, 23, 185, 8, $PBS_SMOOTH)
GUISetState(@SW_SHOW)
; GUISetState(@SW_ENABLE)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
$progress01 = IniRead($Inifile, "1", "progress01", "0")
$progressmain = IniRead($Inifile, "1", "progressmain", "0")
$label01 = IniRead($Inifile, "1", "label01", "0")
$labelmain = IniRead($Inifile, "1", "labelmain", "0")
GUICtrlSetData ($Progress1,$progress01)
GUICtrlSetData ($Progress2,$progressmain)
GUICtrlSetData ($Label1,$label01)
GUICtrlSetData ($Label2,$labelmain)
If $progressmain >=100 Then
For $i=169 to 0
WinSetTrans("Minibar", "", $i)
$i=$i-1
Sleep(50)
Next
Exit
EndIf
Sleep(50)
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Последовательность работы такая:
1.Запускаем exe - минибар
2.Задаем переменные в теле задачи
3.При записи в ini файл прогрессбар двигается
Примеры и исходники прилагаются, в задаче нужно переписать пути
Вот исходник AutoIT:
#include <GUIConstants.au3>
; Нуно узнать разрешение экрана чтоб поставить окошко в правый нижний угол
$Winset01=@DesktopHeight-38
$Winset02=@DesktopWidth-344
#Region ### START Koda GUI section ### Form=Minibar.kxf
; командная строка
$Inifile = $CmdLineRaw
$Form1 = GUICreate("Minibar "& $Inifile, 294, 60, $Winset01, $Winset02, BitOR($WS_MINIMIZEBOX,$DS_SETFOREGROUND), BitOR($WS_EX_TOOLWINDOW,$WS_EX_STATICEDGE))
; можно в основной стиль добавить $WS_POPUPWINDOW
GUISetFont(8, 400, 0, "Tahoma")
GUISetBkColor(0xA6CAF0)
WinSetTrans("Minibar", "", 170)
WinSetOnTop("Minibar", "", 1)
$Label1 = GUICtrlCreateLabel("", 0, 4, 91, 17, $SS_RIGHT)
$Label2 = GUICtrlCreateLabel("", 0, 20, 91, 17, $SS_RIGHT)
$Progress1 = GUICtrlCreateProgress(96, 8, 185, 8, $PBS_SMOOTH)
$Progress2 = GUICtrlCreateProgress(96, 23, 185, 8, $PBS_SMOOTH)
GUISetState(@SW_SHOW)
; GUISetState(@SW_ENABLE)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
$progress01 = IniRead($Inifile, "1", "progress01", "0")
$progressmain = IniRead($Inifile, "1", "progressmain", "0")
$label01 = IniRead($Inifile, "1", "label01", "0")
$labelmain = IniRead($Inifile, "1", "labelmain", "0")
GUICtrlSetData ($Progress1,$progress01)
GUICtrlSetData ($Progress2,$progressmain)
GUICtrlSetData ($Label1,$label01)
GUICtrlSetData ($Label2,$labelmain)
If $progressmain >=100 Then
For $i=169 to 0
WinSetTrans("Minibar", "", $i)
$i=$i-1
Sleep(50)
Next
Exit
EndIf
Sleep(50)
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
- Вложения
-
- ims-minibar.part2.rar
- (30.76 КБ) 506 скачиваний
-
- ims-minibar.part1.rar
- (253.91 КБ) 508 скачиваний
-
- minibar_test.xstk
- (5.75 КБ) 652 скачивания
-
- Командир экипажа
- Сообщения: 61
- Зарегистрирован: Пн июн 18, 2007 9:34 am
- Благодарил (а): 0
- Поблагодарили: 0
Re: Прогрессбар
Ну так стОит ли развивать? похоже ли это на тот прогрессбар который будет в стартере ?
-
- Ас
- Сообщения: 907
- Зарегистрирован: Чт май 08, 2008 2:48 pm
- Откуда: г. Москва, Россия
- Благодарил (а): 6 раз
- Поблагодарили: 16 раз
- Контактная информация:
Re: Прогрессбар
По-моему проще на основе Вашего примера переписать некоторые длительные действия: zip, копирование, перемещение и т.д.... Только еще было бы здорово, если бы сообщения не всегда выводились, а только при наведению мышью!djgoodwin писал(а):Ну так стОит ли развивать? похоже ли это на тот прогрессбар который будет в стартере ?
С уважением, Андрей.
-
- Командир экипажа
- Сообщения: 61
- Зарегистрирован: Пн июн 18, 2007 9:34 am
- Благодарил (а): 0
- Поблагодарили: 0
Re: Прогрессбар
Так вот в том то и дело - что переписать. Alex пообещал что прогрессбар будет, так что ждем и терпим... Если бы можно было получить процент выполнения (любого) действия xstarter то уже можно было бы прогресс видеть...
2Alex - можно какую нить бету где прогресс действия записывается в ini-файл ? Потому как ты говорил что все данные по прогрессу есть, но они не отображаются.
Предлагаю так, взять штук 5 САМЫХ часто используемых действий:
Файловая система - копировать
Архивы - RAR/ZIP
Internet - закачать на +с FTP
xStarter - пауза
ну вот для каждого из этих действий назначить свой ini-файл прогресса в рабочей директории xStarter, т.е.
progress_filesys_copy.ini
progress_arch_rar.ini
progress_inet_ftpup.ini
progress_xs_pause.ini
для различения (к какой именно задаче принадлежит прогресс) предлагаю обозвать название раздела именем задачи
к Примеру так:
progress_filesys_copy.ini
[Examples.copytest]
fcopy=50
[Examples.secondtest]
fcopy=100
[Examples.zerostarttest]
fcopy=0
В задаче Examples.copytest файл копируется в данный момент (50%)
В задаче Examples.secondtest файл скопирован
В задаче Examples.zerostarttest файл начал копироваться
а решать отображать прогресс бар или нет будет сам юзер, добавив строчку с запуском прогрессбара и указанием ini файла
2Alex - это реально ? (без глубоких переделок)
2Alex - можно какую нить бету где прогресс действия записывается в ini-файл ? Потому как ты говорил что все данные по прогрессу есть, но они не отображаются.
Предлагаю так, взять штук 5 САМЫХ часто используемых действий:
Файловая система - копировать
Архивы - RAR/ZIP
Internet - закачать на +с FTP
xStarter - пауза
ну вот для каждого из этих действий назначить свой ini-файл прогресса в рабочей директории xStarter, т.е.
progress_filesys_copy.ini
progress_arch_rar.ini
progress_inet_ftpup.ini
progress_xs_pause.ini
для различения (к какой именно задаче принадлежит прогресс) предлагаю обозвать название раздела именем задачи
к Примеру так:
progress_filesys_copy.ini
[Examples.copytest]
fcopy=50
[Examples.secondtest]
fcopy=100
[Examples.zerostarttest]
fcopy=0
В задаче Examples.copytest файл копируется в данный момент (50%)
В задаче Examples.secondtest файл скопирован
В задаче Examples.zerostarttest файл начал копироваться
а решать отображать прогресс бар или нет будет сам юзер, добавив строчку с запуском прогрессбара и указанием ini файла
2Alex - это реально ? (без глубоких переделок)
-
- Командир экипажа
- Сообщения: 61
- Зарегистрирован: Пн июн 18, 2007 9:34 am
- Благодарил (а): 0
- Поблагодарили: 0
Re: Прогрессбар
Alex, напоминаюсь =) Насчет ini частых действий - ну хоть с файловой системой ???
Прогрессбар прикрутим как отдельный exe а в дальнейшем мож в дистрибутив можно будет включить или как часть самого xStarter...
Прогрессбар прикрутим как отдельный exe а в дальнейшем мож в дистрибутив можно будет включить или как часть самого xStarter...
-
- Ас
- Сообщения: 907
- Зарегистрирован: Чт май 08, 2008 2:48 pm
- Откуда: г. Москва, Россия
- Благодарил (а): 6 раз
- Поблагодарили: 16 раз
- Контактная информация:
Re: Прогрессбар
Лучше уж в xStarter такой функционал заложить...djgoodwin писал(а):Alex, напоминаюсь =) Насчет ini частых действий - ну хоть с файловой системой ???
Прогрессбар прикрутим как отдельный exe а в дальнейшем мож в дистрибутив можно будет включить или как часть самого xStarter...
С уважением, Андрей.
-
- Командир экипажа
- Сообщения: 61
- Зарегистрирован: Пн июн 18, 2007 9:34 am
- Благодарил (а): 0
- Поблагодарили: 0
Re: Прогрессбар
Алекс, обещанного 3 года ждут, 2 прошло уже =)
сломаем стереотипы ?
даёшь прогрессбар!
сломаем стереотипы ?
даёшь прогрессбар!