|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Помогите разобраться |
|
[решено] Помогите разобраться
|
Старожил Сообщения: 247 |
Есть код:
#include <GUIConstantsEx.au3> #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <StaticConstants.au3> #requireadmin #NoTrayIcon Global $sProgs = 'Setup1.exe=Прог1|Seup2.exe=Прог2|Seup3.exe=Прог3|Seup4.exe=Прог4|Seup5.exe=Прог5' Global $sProgs2 = 'Setup1.exe=Прог1|Seup2.exe=Прог2|Seup3.exe=Прог3|Seup4.exe=Прог4|Seup5.exe=Прог5' Global Const $aProgs = StringSplit($sProgs, '|') Global Const $aProgs2 = StringSplit($sProgs2, '|') Global $anCheckBoxes[$aProgs[0]+1] Global $aCheckedIcons[$aProgs[0]+1] Global $aUnCheckedIcons[$aProgs[0]+1] Global $aCompleteIcons[$aProgs[0]+1] Global $aInstalledIcons[$aProgs[0]+1] Global $anCheckBoxes2[$aProgs2[0]+1] Global $aCheckedIcons2[$aProgs2[0]+1] Global $aUnCheckedIcons2[$aProgs2[0]+1] Global $aCompleteIcons2[$aProgs2[0]+1] Global $aInstalledIcons2[$aProgs2[0]+1] GUICreate("My GUI Tab",600,550) GUISetBkColor(0xFFFFFF) $nStart = GUICtrlCreateButton("Выполнить", 30, 510, 150, 30) $tab=GUICtrlCreateTab (10,10, 580,480) GUISetBkColor(0xFFFFFF) $tab0=GUICtrlCreateTabitem ("tab0") GUISetBkColor(0xFFFFFF) $iTop = 35 $iLeft = 15 For $i = 1 To $aProgs[0] $aCheckedIcons[$i] = "common\images\01.ico" $aUnCheckedIcons[$i] = "common\images\01.ico" $aInstalledIcons[$i] = "common\images\03.ico" $aCompleteIcons[$i] = "common\images\02.ico" $anCheckBoxes[$i] = _GUICtrlCreateCheckboxEx(StringRegExpReplace($aProgs[$i], '^.*=', ''), $iLeft, $iTop, -1, 15, $aUnCheckedIcons[$i]) $iTop += 20 If $iTop > 480 Then $iTop = 10 $iLeft += 170 EndIf Next $tab1=GUICtrlCreateTabitem ("tab1") GUISetBkColor(0xFFFFFF) $iTop = 35 $iLeft = 15 For $s = 1 To $aProgs2[0] $aCheckedIcons2[$s] = "common\images\01.ico" $aUnCheckedIcons2[$s] = "common\images\01.ico" $aInstalledIcons2[$s] = "common\images\03.ico" $aCompleteIcons2[$s] = "common\images\02.ico" $anCheckBoxes2[$s] = _GUICtrlCreateCheckboxEx(StringRegExpReplace($aProgs2[$s], '^.*=', ''), $iLeft, $iTop, -1, 15, $aUnCheckedIcons2[$s]) $iTop += 20 If $iTop > 480 Then $iTop = 10 $iLeft += 170 EndIf Next GUICtrlCreateTabitem ("") GUISetState () While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $nStart For $i = 1 To $aProgs[0] $aCheckBox = $anCheckBoxes[$i] If GUICtrlRead($aCheckBox[1]) = 1 Then $iChecked_Counter += 1 GUICtrlSetImage($aCheckBox[0], $aInstalledIcons[$i]) $sProgName = StringRegExpReplace($aProgs[$i], '^.*=', '') $sProgExe = StringRegExpReplace($aProgs[$i], '=.*$', '') MsgBox(64, $sProgName, "zz", 3) GUICtrlSetImage($aCheckBox[0], $aCompleteIcons[$i]) Else GUICtrlSetImage($aCheckBox[0], $aUnCheckedIcons[$i]) EndIf Next For $s = 1 To $aProgs2[0] $aCheckBox2 = $anCheckBoxes2[$s] If GUICtrlRead($aCheckBox2[1]) = 1 Then $sChecked_Counter += 1 GUICtrlSetImage($aCheckBox2[0], $aInstalledIcons2[$s]) $sProgName2 = StringRegExpReplace($aProgs2[$s], '^.*=', '') $sProgExe2 = StringRegExpReplace($aProgs2[$s], '=.*$', '') RunWait(@ScriptDir & $sProgExe2) GUICtrlSetImage($aCheckBox2[0], $aCompleteIcons2[$s]) Else GUICtrlSetImage($aCheckBox2[0], $aUnCheckedIcons2[$s]) EndIf Next $iChecked_Counter = 0 $sChecked_Counter = 0 EndSwitch WEnd Func _GUICtrlCreateCheckboxEx($sText, $iLeft, $iTop, $iWidth, $iHeight, $sIconFile="", $nIconIndex=0) Local $aRetArr[2] $aRetArr[0] = GUICtrlCreateIcon($sIconFile, $nIconIndex, $iLeft + 17, $iTop, 16, 16) GUICtrlSetState(-1, $GUI_DISABLE) $aRetArr[1] = GUICtrlCreateCheckbox(" " & $sText & " ", $iLeft, $iTop, $iWidth, $iHeight) GUICtrlSetBkColor($aRetArr[1], 0xFFFFFF) Return $aRetArr EndFunc |
|
Отправлено: 15:03, 25-05-2010 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:40, 25-05-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать последние две твои темы конечно атас. Модератор(ы) проявляют невиданную выдержку и терпение к твоей персоне.
ну ду ладно, бог с ним - с темой. но ты неправильно задаешь вопрос, заставляя тех, кто (возможно) хочет тебе помочь выуживать у тебя информацию. к примеру Цитата Centrinar:
Цитата Centrinar:
Цитата Centrinar:
в остальном, если справишься с своей невнимательностью и приучишь себя нормально ставить задачи, в первую очередь самому себе, то твой ответ сведется до примитива |
|||
------- Отправлено: 15:46, 25-05-2010 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата kaster:
Centrinar, неудачное название темы, переименуй во что нибудь вменяемое, не смотря на то что тема решена (как?). Цитата Centrinar:
|
||
------- Отправлено: 18:17, 25-05-2010 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Помогите разобраться | Felixcat | Видеокарты | 1 | 27-09-2009 13:15 | |
C/C++ - Помогите разобраться | morgan1991 | Программирование и базы данных | 3 | 04-11-2008 17:16 | |
FreeBSD - Помогите разобраться. | Myrzilka | Общий по FreeBSD | 0 | 15-01-2008 23:51 | |
Помогите разобраться | blackrokk | Автоматическая установка Windows 2000/XP/2003 | 2 | 09-08-2006 09:13 | |
Помогите разобраться..... | Dimskiy | Microsoft Windows 2000/XP | 4 | 26-06-2006 18:50 |
|