Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » запуск GUICtrlSetData в цикле

Ответить
Настройки темы
запуск GUICtrlSetData в цикле

Аватара для bugmenotagain

Старожил


Сообщения: 293
Благодарности: 1


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


http://forum.oszone.net/post-1963371-28.html
в справке конечно же не предусмотрено такой информации, гугл тоже молчит, подскажите если кто-нибудь знает.
может это For...In...Next?
спасибо

Отправлено: 12:53, 03-08-2012

 

Аватара для bugmenotagain

Старожил


Сообщения: 293
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


читать дальше »

; Массив
Dim $aArray[4]

$aArray[0]="a"
$aArray[1]=0
$aArray[2]=1.3434
$aArray[3]="test"

$string = ""
For $element In $aArray
$string = $string & $element & @CRLF
Next

MsgBox(4096,"For..In тест, массив","Результат: " & @CRLF & $string)


чет не понятно как-то написано, что это значит и как это приспособить для GUICtrlSetData?

Отправлено: 13:41, 03-08-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить 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


Аватара для bugmenotagain

Старожил


Сообщения: 293
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


ferget, нет не получается
в GUICtrlSetData($list, $Array[$i]) выдается ошибка и не получается выдать $Array[$i]
вообще команда или описание с ошибкой, читаем описание
GUICtrlSetData ( controlID, data [, default] )
controlID Идентификатор элемента возвращаемый функцией GUICtrlCreate....
$list это не идентификатор никакой (ошибка команды)
data список пунктов задан $Array[$i], но не выдается (ошибка описания, видимо)

Отправлено: 11:05, 04-08-2012 | #4


Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


Покажите ваш код

Отправлено: 11:54, 04-08-2012 | #5


Аватара для bugmenotagain

Старожил


Сообщения: 293
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


ferget, собсно обычный код из примера, совмещенный с другим кодом из другого примера
читать дальше »

#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[3]
$Array[0]=1
$Array[1]=2
$Array[2]=3

$Button1 = GUICtrlCreateButton("Продолжить", 135, 310, 80)
$Button2 = GUICtrlCreateButton("Закончить", 235, 310, 80)
$read = GUICtrlCreateButton("Смотреть", 20, 20, 150)
;
GUISetState(@SW_SHOW)
;
GUISetState()
$msg = 0
While $msg <> $GUI_EVENT_CLOSE
$msg = GUIGetMsg()
Select
Case $msg = $read
For $i= 0 To 3
$Reg = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE", $i)
$Reglist = GUICtrlCreateList("", 180, 30, 190, 200, $GUI_SS_DEFAULT_LIST + $LBS_NOINTEGRALHEIGHT)
GUICtrlSetData($Reglist, Array[$i])
GUICtrlSetLimit(-1, 200) ; ограничить прокрутку по горизонтали
Next
EndSelect
WEnd
;
While 1
$msg = GUIGetMsg(1)

Select
Case $msg[0] = $Button1
MsgBox(0, "Нажали кнопку1", "Вы нажали OK!")

Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $mainwindow1
MsgBox(0, "Событие GUI", "Вы нажали ЗАКРЫТЬ в главном окне! Завершаем...")
ExitLoop

Case $msg[0] = $Button2 And $msg[1] = $mainwindow1
MsgBox(0, "Событие GUI", "Вы нажали ЗАКРЫТЬ в главном окне! Завершаем...")
ExitLoop
EndSelect
WEnd

Отправлено: 14:11, 04-08-2012 | #6


Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить 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


Аватара для bugmenotagain

Старожил


Сообщения: 293
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


ferget,
Код: Выделить весь код
Dim $Array[10]
$Array[0]=""
почему именно так? в примере это делалось по другому. такое вообще в справке есть?

все остальное вроде понятно, но опять же справка и примеры умалчивают эти способы и возможности, хорошо что есть форум.

Отправлено: 15:41, 04-08-2012 | #8


Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


Это просто на всякий случай

массивы нумеруются от 0

а все циклы начинаются с 1

Отправлено: 15:59, 04-08-2012 | #9


Аватара для bugmenotagain

Старожил


Сообщения: 293
Благодарности: 1

Профиль | Сайт | Отправить 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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » запуск GUICtrlSetData в цикле

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход