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

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

Закрытая тема
Настройки темы
Общие вопросы по AutoIt

Аватара для bugmenotagain

Старожил


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


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

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


После чтения основной справки появился вопрос, буду рад если вы на него подскажите ответ.
Есть в справке вот такой пример скрипта
читать дальше »
Код: Выделить весь код
#include <GUIConstants.au3>

$mainwindow = GUICreate("Hello World", 200, 100)
GUICtrlCreateLabel("Hello world! How are you?", 30, 10)
$okbutton = GUICtrlCreateButton("OK", 70, 50, 60)

$dummywindow = GUICreate("Dummy window for testing ", 200, 100)

GUISwitch($mainwindow)
GUISetState(@SW_SHOW)

While 1
  $msg = GUIGetMsg(1)

  Select
    Case $msg[0] = $okbutton
      MsgBox(0, "GUI Event", "You pressed OK!")

    Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $mainwindow 
      MsgBox(0, "GUI Event", "You clicked CLOSE on the main window! Exiting...")
      ExitLoop
  EndSelect
WEnd

$dummywindow = GUICreate("Dummy window for testing ", 200, 100)
создает ложное окошко? что оно делает если при его комментировании ничего не изменяется?
$msg = GUIGetMsg(1)
вызывает запрос о получении сообщений о событиях, 1 для массивов, но каких массивов если их не задано?
Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $mainwindow
как это переменую msg[0] без запроса о массивах приравняли к кнопке закрытия и запросу о массивах? и тем более что это за условие такое?
спасибо

Отправлено: 13:35, 15-07-2012

 

Аватара для AZJIO

Старожил


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

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


Вы скачайте справку на русском языке, там по русски написано, что это тестовое окно и пример как GUISwitch делает указанное окно текущим.
Прочтите описание GUIGetMsg и станет понятным что $msg = GUIGetMsg(1) это массив.
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:55, 15-07-2012 | #2



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

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


Аватара для bugmenotagain

Старожил


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

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


Цитата AZJIO:
что это тестовое окно »
там написано для чего оно и почему его не видно?

Отправлено: 14:35, 15-07-2012 | #3


Аватара для bugmenotagain

Старожил


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

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


кажется разобрался с тест окном

Отправлено: 15:20, 15-07-2012 | #4


Аватара для bugmenotagain

Старожил


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

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


почему такой код
читать дальше »

$asResult = StringRegExp("Это тестовый пример", '(тест)', 1)
If @error == 0 Then
MsgBox(0, "SRE, пример 4", $asResult[0])
EndIf
$asResult = StringRegExp("Это тестовый пример", '(те)(ст)', 1)
If @error == 0 Then
MsgBox(0, "SRE, пример 4", $asResult[0] & ",," & $asResult[1])
EndIf

выдает во 2м сообщении "те,,те", а вот такой
читать дальше »

$asResult = StringRegExp("Это тестовый пример", '(тест)', 1)
If @error == 0 Then
MsgBox(0, "SRE, пример 4", $asResult[0])
EndIf
$asResult = StringRegExp("Это тестовый пример", '(те)(ст)', 1)
If @error == 0 Then
MsgBox(0, "SRE, пример 4", $asResult[0] & ",," & $asResult[0])
EndIf

выдает во 2м сообщении "те,,ст"

$asResult[0] это типа возврат без массива, но разве "ст" это массив?

и почему такой код
читать дальше »

$asResult = StringRegExp("Были 18 листов оставшихся в пачке бумаги.", '([0-9]{1,3})', 0)
If @error == 0 Then
MsgBox(0, "SRE, пример 5", $asResult[0])
EndIf

выдает ошибку?
flag [опционально] = Указывает функции, хотите ли вы узнать найдено совпадение по шаблону или нет, или вы хотите получить первое совпадение с шаблоном, или вы хотите получить все совпадения с шаблоном в тексте "test".
ну вот ставлю 0, а не получаю первое совпадение, в чем косяк?

Последний раз редактировалось bugmenotagain, 22-07-2012 в 16:31.


Отправлено: 16:18, 22-07-2012 | #5


Аватара для bugmenotagain

Старожил


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

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


вот здесь тоже не работает flag
читать дальше »

$asResult = StringRegExp("Вы использовали 36 из 279 страниц.", '([0-9]{1,3})(?: страниц)', 0)
If @error == 0 Then
MsgBox(0, "SRE, пример 6", $asResult[0])
EndIf


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

$asResult = StringRegExp("15, 16, 17", '([0-9]{1,2})', 0)
If @error == 0 Then
MsgBox(0, "SRE, пример 6", $asResult[0])
EndIf

если писать так StringRegExp("15, 16, 17", '([0-9]{1,2})', 0), то я "хочу получить все совпадения с шаблоном в тексте "15, 16, 17""
но вылазит ошибка, почему?

я хочу чтобы числа 15, 16 и 17 выводились в сообщении
читать дальше »

$asResult = StringRegExp("15, 16, 17", '([0-1]{1,2})', 0)
If @error == 0 Then
MsgBox(0, "SRE, пример 6", $asResult[0])
EndIf

как мне это сделать если StringRegExp("15, 16, 17", '([0-1]{1,2})', 0) не работает?

Отправлено: 16:35, 22-07-2012 | #6


Аватара для bugmenotagain

Старожил


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

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


вот даже простую строку пишу
читать дальше »
MsgBox(0, "SRE, пример 6", StringRegExp("151617 после 111", '1', 1))

вылазит пустое окошко, это как понимать?

в чем различие между $asResult[0] и $asResult[1], это че второе выдает просто совпадение, а второе массив? или как вообще? в справке не могу найти описание этой непонятной фичи

Отправлено: 16:51, 22-07-2012 | #7


Аватара для ferget

Разный


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

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


Цитата bugmenotagain:
вот даже простую строку пишу
« скрыть
MsgBox(0, "SRE, пример 6", StringRegExp("151617 после 111", '1', 1))
вылазит пустое окошко, это как понимать? »
Это естественно, Возвращаемое значение не массив

Цитата bugmenotagain:
в чем различие между $asResult[0] и $asResult[1], это че второе выдает просто совпадение, а второе массив? »
$asResult[0] первый элемент массива, $asResult[1] второй и т.д.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:23, 22-07-2012 | #8


Аватара для bugmenotagain

Старожил


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

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


чем $msg[0] отличается от $msg[1] ?
первое это переменная сообщения, а второе тоже самое но в массиве?
вот тут
читать дальше »
#include <GUIConstantsEx.au3>

$mainwindow = GUICreate("Привет Мир", 200, 100)
GUICtrlCreateLabel("Привет Мир! Как дела?", 30, 10)
$okbutton = GUICtrlCreateButton("OK", 70, 50, 60)

$dummywindow = GUICreate("Dummy window for testing ", 200, 100)

GUISwitch($mainwindow)
GUISetState(@SW_SHOW)

While 1
$msg = GUIGetMsg(1)

Select
Case $msg[0] = $okbutton
MsgBox(0, "Событие GUI", "Вы нажали OK!")

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

почему не работает так?
Case $msg[1] = $GUI_EVENT_CLOSE And $msg[1] = $mainwindow
я не могу понять суть, объясните пожалста, в справку не отправляйте, я это там и нашел, просто она рассчитана на программистов, коим я не являюсь.

Отправлено: 17:25, 22-07-2012 | #9


Аватара для ferget

Разный


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

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


вот возвращаемый массив
$array[0] = 0 или ID-события или идентификатор элемента управления
$array[1] = Дескриптор окна события
$array[2] = Указатель элемента события (если имеется)
$array[3] = Текущая X-координата курсора мыши (относительно GUI-окна)
$array[4] = Текущая Y-координата курсора мыши (относительно GUI-окна)

msg - этот самый массив и есть

Отправлено: 17:37, 22-07-2012 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Общие вопросы о DFS alina1325 Microsoft Windows NT/2000/2003 8 07-04-2016 13:28
Интернет - ICQ .:[ все вопросы ]:. Evil Программное обеспечение Windows 712 06-09-2012 17:32
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. Vadikan AutoIt 1543 18-01-2009 10:46




 
Переход