|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » запуск GUICtrlSetData в цикле |
|
|
запуск GUICtrlSetData в цикле
|
Старожил Сообщения: 293 |
Профиль | Сайт | Отправить PM | Цитировать http://forum.oszone.net/post-1963371-28.html
в справке конечно же не предусмотрено такой информации, гугл тоже молчит, подскажите если кто-нибудь знает. может это For...In...Next? спасибо |
|
Отправлено: 12:53, 03-08-2012 |
Старожил Сообщения: 293
|
Профиль | Сайт | Отправить PM | Цитировать чет не понятно как-то написано, что это значит и как это приспособить для GUICtrlSetData? |
Отправлено: 13:41, 03-08-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать Вот пример
#include <GUIConstantsEx.au3> Example() Func Example() Local $MESSAGE = "The following buttons have been clicked" Local $add, $clear, $mylist, $close, $msg GUICreate("My GUI list") ; will create a dialog box that when displayed is centered $add = GUICtrlCreateButton("Add", 64, 32, 75, 25) $clear = GUICtrlCreateButton("Clear", 64, 72, 75, 25) $mylist = GUICtrlCreateList("buttons that have been clicked", 176, 32, 121, 97) GUICtrlSetLimit(-1, 200) ; to limit horizontal scrolling GUICtrlSetData(-1, $MESSAGE) $close = GUICtrlCreateButton("my closing button", 64, 160, 175, 25) Dim $Array[4] $Array[0]="Верхний левый" $Array[1]="Нижний левый" $Array[2]="Верхний правый" $Array[3]="Нижний правый" GUISetState() $msg = 0 While $msg <> $GUI_EVENT_CLOSE $msg = GUIGetMsg() Select Case $msg = $add For $i= 0 To 3 GUICtrlSetData($mylist, $Array[$i]) Next Case $msg = $clear GUICtrlSetData($mylist, "") Case $msg = $close MsgBox(0, "", "the closing button has been clicked", 2) Exit EndSelect WEnd EndFunc ;==>Example |
Отправлено: 13:48, 03-08-2012 | #3 |
Старожил Сообщения: 293
|
Профиль | Сайт | Отправить PM | Цитировать ferget, нет не получается
в GUICtrlSetData($list, $Array[$i]) выдается ошибка и не получается выдать $Array[$i] вообще команда или описание с ошибкой, читаем описание GUICtrlSetData ( controlID, data [, default] ) controlID Идентификатор элемента возвращаемый функцией GUICtrlCreate.... $list это не идентификатор никакой (ошибка команды) data список пунктов задан $Array[$i], но не выдается (ошибка описания, видимо) |
Отправлено: 11:05, 04-08-2012 | #4 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать Покажите ваш код
|
|
Отправлено: 11:54, 04-08-2012 | #5 |
Старожил Сообщения: 293
|
Профиль | Сайт | Отправить PM | Цитировать ferget, собсно обычный код из примера, совмещенный с другим кодом из другого примера
|
Отправлено: 14:11, 04-08-2012 | #6 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <WinAPI.au3> #include <ListBoxConstants.au3> ; $mainwindow1 = GUICreate ( "Пример", 450, 350, -1, -1, -1, -1) ; ;Local $background ;Local $backgroundFile = @ScriptDir & "\444.jpg" Local $read, $Reg, $Reglist Dim $Array[10] $Array[0]="" $Button1 = GUICtrlCreateButton("Продолжить", 135, 310, 80) $Button2 = GUICtrlCreateButton("Закончить", 235, 310, 80) $read = GUICtrlCreateButton("Смотреть", 20, 20, 150) $Reglist = GUICtrlCreateList("", 180, 30, 190, 200, $GUI_SS_DEFAULT_LIST + $LBS_NOINTEGRALHEIGHT) GUICtrlSetLimit(-1, 200) ; ограничить прокрутку по горизонтали ; GUISetState(@SW_SHOW) For $i= 1 To 3 $var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE", $i) If @error Then ExitLoop $Array[$i]=$var Next ; GUISetState() $msg = 0 While $msg <> $GUI_EVENT_CLOSE $msg = GUIGetMsg() Select Case $msg = $read For $i= 1 To 3 GUICtrlSetData($Reglist, $Array[$i]) Next EndSelect WEnd |
Отправлено: 14:39, 04-08-2012 | #7 |
Старожил Сообщения: 293
|
Профиль | Сайт | Отправить PM | Цитировать |
Отправлено: 15:41, 04-08-2012 | #8 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать Это просто на всякий случай
массивы нумеруются от 0 а все циклы начинаются с 1 |
Отправлено: 15:59, 04-08-2012 | #9 |
Старожил Сообщения: 293
|
Профиль | Сайт | Отправить PM | Цитировать да и почему то в предлагаемом скрипте кнопка закрыть в главном окошке срабатывает только со 2 раза, это так и должно быть?
если в ваш скрипт http://forum.oszone.net/post-1964616-7.html дописать While 1 $msg = GUIGetMsg(1) Select .....и так далее..... то оно будет работать? у меня это не дает никакого результата, почему такое может быть? я все правильно задал по примеру. что значит While $msg <> $GUI_EVENT_CLOSE ? |
Отправлено: 16:10, 04-08-2012 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Цикл в Цикле | deamon7 | Скриптовые языки администрирования Windows | 5 | 15-04-2023 09:04 | |
CMD/BAT - Работа с переменными в цикле | DarkDream604 | Скриптовые языки администрирования Windows | 5 | 03-03-2015 16:19 | |
CMD/BAT - [решено] Передача двойных параметров в цикле | RuCosinus | Скриптовые языки администрирования Windows | 5 | 28-10-2011 18:24 | |
Вопрос по GUI - GUICtrlSetData | Space-06 | AutoIt | 20 | 03-08-2009 23:37 | |
Повтор в цикле команды XCopy | babki | Программирование и базы данных | 6 | 29-11-2005 10:22 |
|