Что нового

[Элементы GUI] Включение переменной вводимой в окне UICtrlCreateInput в Send

Tipograf

Новичок
Сообщения
1
Репутация
0
Добрый день, есть 2 скрипта

1
Код:
While 1 
    PixelSearch(0, 0, 500, 500, 0xFFFFFF)
    if Not @error Then                              
       Send("#a")
WEnd


2 окно с кнопками (взят с сайта)

Код:
Opt('GUIOnEventMode',       1) 
Opt('MustDeclareVars',      1) 
Opt('TrayIconDebug',        1) 
Opt('TrayIconHide',         0)
 
#include <GUIConstantsEx.au3>  
HotKeySet('{ESC}', '_Pro_Exit')


Global  $hProgress, $hStartPause, $iPercent
Global  $fWork=0
;   $fWork = 0 - stop
;   $fWork = 1 - start


GUICreate('', 345, 200)

GUISetOnEvent($GUI_EVENT_CLOSE,     '_Pro_Exit')
 
$hProgress = GUICtrlCreateProgress(20, 150, 302, 25)

$hStartPause = GUICtrlCreateButton('Старт', 20, 100, 100, 25) 
    GUICtrlSetOnEvent(-1, '_StartPause')

GUICtrlCreateButton('Стоп', 20+100+2, 100, 100, 25) 
    GUICtrlSetOnEvent(-1, '_Stop')

GUICtrlCreateButton('Выход', 20+100*2+4, 100, 100, 25) 
    GUICtrlSetOnEvent(-1, '_Pro_Exit')

GUISetState()


While 1 
    Sleep(10)
;   Если прогресс запущен (т.е. $fWork = 1), то вызвать функцию установки значения прогресса
    If $fWork Then _Progress()
WEnd 
 
Func _Pro_Exit() 
    Exit 
EndFunc

; Запуск / пауза прогресса
Func _StartPause()
    If Not $fWork Then
        $fWork = 1
        GUICtrlSetData($hStartPause, 'Пауза')
        Return _Progress()
    Else
        $fWork = 0
        GUICtrlSetData($hStartPause, 'Старт')
    EndIf
EndFunc

; Остановка прогресса
Func _Stop()
    $fWork = 0
    $iPercent = 0
    GUICtrlSetData($hStartPause, 'Старт')
    GUICtrlSetData($hProgress, $iPercent)
EndFunc

; Установка значения прогресса
Func _Progress()
    $iPercent += 1
    If $iPercent > 100 Then $iPercent = 0
    GUICtrlSetData($hProgress, $iPercent)
EndFunc

Суть вопроса - что-бы вставить поле для ввода информации нужно применить GUICtrlCreateInput

Код:
$a = GUICtrlCreateInput("", 20, 20, 25, 25)


Вот только куда? ))
Что у меня должно получится в итоге:

Окошко для введения переменной ($a), после нажатия старт при поиске по пикселю нажимается введенный символ (Send("#a") я так понимаю), при нажатии стоп - скрипт останавливается.

ЗЫ возможно где-то уже есть похожее, но уже часа 2 мучаю форум, пока темный лес )))

Вижу я себе это как-то так (что-бы понятней было)

 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Изменения для скрипта из пункта 2
Код:
...

Global  $fWork=0, $a ; <= объявляем

...

    GUICtrlSetOnEvent(-1, '_Pro_Exit')

$a = GUICtrlCreateInput("", 20, 20, 25, 25) ; <= создаём

GUISetState()

While 1
    Sleep(10)
;   Если прогресс запущен (т.е. $fWork = 1), то вызвать функцию установки значения прогресса
    If $fWork Then
      PixelSearch(0, 0, 500, 500, 0xFFFFFF) ; <= ищем
      if Not @error Then Send(GUICtrlRead($a)) ; <= отправляем введённые символы
      _Progress()
    EndIf
WEnd

...
 
Верх