Что нового

[Ошибки] Ошибка в примере из книги AutoIt v3: краткое руководство. Andy Flesner

freepad

Новичок
Сообщения
2
Репутация
0
Начал изучать книгу AutoIt v3: краткое руководство. Andy Flesner http://autoit-script.ru/autoit_rv_ua/files/Other/AutoIt_v3_Kratkoe_Rukovodstvo.pdf

Полностью перепечатал пример номер 5, со страниц 9-10
Но при запуске получил ошибку:

Помогите пожалуйста решить проблему и заставить скрипт работать :smile:

Код:
; Подключаем вложенные GuiConstants (необходимы для использования функций GUI)
#include <GUIConstants.au3>

; Скрываем иконку в трее
#NoTrayIcon

; Настройка режима показа системных сообытий OnEvent();
Opt('GUIOnEventMode',1)

; Создание GUI
GUICreate("Ai Smart Homes - Saint Louis, Missouri", 400, 300)
GUISetIcon("icon.ico")

; Запуск функций GUIExit() при закрытии GUI
GUISetOnEvent($GUI_EVENT_CLOSE, 'GUIExit')

; Логотип / изображение
GUICtrlCreatePic("logo.jpg",120,5,156,160)

; Инструкции 
GuiCtrlCreateLabel("Please Choose an Option Below:", 50, 180, 300, 15, $SS_CENTER) 
GuiCtrlSetColor(-1, 0xFF0000) ; цвет инструкции (здесь красный)

; Кнопка1
GUICtrlCreateButton("Visit Our Web Site", 100, 210, 200, 30)
GUICtrlSetOnEvent(-1, "WebSite"); при нажатии запускается website()

; Кнопка2 
GUICtrlCreateButton("Send an Email", 100, 210, 200, 30)
GUICtrSetOnEvent(-1, "email"); при нажатии запускается email()

Func website()
   ; скрыть GUI на время выполнения функции 
   GuiSetState(@SW_HIDE)
   Run("C:\Program Files\Internet Expoler\iexplore.exe www.aismarthones.com")
   Exit
EndFunc

Func email()
   ; скрыть GUI на время выполнения Функции 
   GUISetState(@SW_HIDE)
   Run("mailto: [email protected]")
   Exit
EndFunc

; показывать GUI после завершения функции
GUISetState(@SW_SHOW)

; Бездействие скрипта во время выполнения цикла - эта функция ДОЛЖНА БЫТЬ ПОДКЛЮЧЕНА
OnEvent
mode While 1
   (Sleep 500)
WEnd   


; Эта функция заставляет выйти из скрипта при закрытии GUI
Func GUIExit()
   Exit
EndFunc
 

Viktor1703

AutoIT Гуру
Сообщения
1 535
Репутация
410
Возьмите код в тег AutoIt


Код:
; Подключаем вложенные GuiConstants (необходимы для использования функций GUI)
#include <GUIConstants.au3>
#include <StaticConstants.au3>
; Скрываем иконку в трее
#NoTrayIcon

; Настройка режима показа системных сообытий OnEvent();
Opt('GUIOnEventMode',1)

; Создание GUI
GUICreate("Ai Smart Homes - Saint Louis, Missouri", 400, 300)
GUISetIcon("icon.ico")

; Запуск функций GUIExit() при закрытии GUI
GUISetOnEvent($GUI_EVENT_CLOSE, 'GUIExit')

; Логотип / изображение
GUICtrlCreatePic("logo.jpg",120,5,156,160)

; Инструкции
GuiCtrlCreateLabel("Please Choose an Option Below:", 50, 150, 300, 15, $SS_CENTER)
GuiCtrlSetColor(-1, 0xFF0000) ; цвет инструкции (здесь красный)

; Кнопка1
GUICtrlCreateButton("Visit Our Web Site", 100, 180, 200, 30)
GUICtrlSetOnEvent(-1, "WebSite"); при нажатии запускается website()

; Кнопка2
GUICtrlCreateButton("Send an Email", 100, 210, 200, 30)
GUICtrlSetOnEvent(-1, "email"); при нажатии запускается email()

Func website()
   ; скрыть GUI на время выполнения функции
   GuiSetState(@SW_HIDE)
   ShellExecute("www.aismarthones.com")
   Exit
EndFunc

Func email()
   ; скрыть GUI на время выполнения Функции
   GUISetState(@SW_HIDE)
   ShellExecute("mailto: [email protected]")
   Exit
EndFunc

; показывать GUI после завершения функции
GUISetState(@SW_SHOW)

; Бездействие скрипта во время выполнения цикла - эта функция ДОЛЖНА БЫТЬ ПОДКЛЮЧЕНА OnEventmode

While 1
   Sleep(500)
WEnd

; Эта функция заставляет выйти из скрипта при закрытии GUI
Func GUIExit()
   Exit
EndFunc


1. Не подключен инклуд

Код:
#include <StaticConstants.au3>


для $SS_CENTER

2. Кнопки располагаются на одном и том же месте

Код:
; Кнопка1
GUICtrlCreateButton("Visit Our Web Site", 100, 210, 200, 30)
...
; Кнопка2 
GUICtrlCreateButton("Send an Email", 100, 210, 200, 30)


3. Пропущена буква L

Код:
GUICtrSetOnEvent(-1, "email"); при нажатии запускается email()


4. Ошибка расстановки скобок в Sleep

Код:
While 1
   (Sleep 500)
WEnd 

; Должно быть

While 1
   Sleep(500)
WEnd


Вообще в книге код как - то коряво написан, пример из этой книги

Код:
While 1
$guimsg = GuiGetMsg()
Select
Case $guimsg = $GUI_EVENT_CLOSE   
    Exit ; выход из GUI 
Case $guimsg = $button1
function1() ; выполнение кода для Button1 
function Case $guimsg = $button2
function2() ; выполнение кода для Button2 
function EndSelect WEnd
 
Автор
F

freepad

Новичок
Сообщения
2
Репутация
0
[Ошибки] Ошибка в примере из книги AutoIt v3: краткое руководство. Andy Flesner. Пример#7

Надеюсь на помощь сообщества :smile:

Что-выдает компилятор:


Конечно я понимаю, что книга довольна таки странная и мб вредная ;). Но, я твердо решил прочитать ее до конца.

Код:
; Подключаем GUIConstants (Необходимо для использования GUI функций)
#include <GuiConstants.au3>
#include <StaticConstants.au3>

; Настройка режима OnEvent
Opt('GUIOnEventMode',1);

; Создание GUI
GuiCreate("Menu",400,150)

; Запуск функций GUIExit() при закрытии формы 
GUISetOnEvent($GUI_EVENT_CLOSE, 'GUIExit')

; Кнопка 1 
GUICtrlCreateButton("Button1", 100, 20, 200, 30)
GUICtrlSetOnEvent(-1, function1);запуск function1 при нажатии

; Кнопка 2 
GUICtrlCreateButton("Button2", 100, 70, 20, 30)
GuiCtrlSetOnEvent(-1, function2); запуск function2 при нажатии

Func function1
; Скрыть Gui на время выполнения функции
GuiSetState(@SW_HIDE)
; ======================================
; скрипт аналогичный составленному для 1 кнопки
; ======================================
EndFunc


Func function2
   ; Скрыть Gui на время выполнения функции
   GuiSetState(@SW_HIDE)
; ======================================
; скрипт аналогичный составленному для 1 кнопки
; ======================================
EndFunc

; Показать Gui после выполнения функции 
GUISetState(@SW_SHOW)

; Бездействия скрипта во время выполнения цикла - эта функция ДОЛЖНА БЫТЬ 
; ПОДКЛЮЧЕНА во время режима OnEvent

While 1
   Sleep(500)
WEnd
;Данная функция создает скрипт для закрытия формы 
Func GuiExit()
   Exit
EndFunc
 

Viktor1703

AutoIT Гуру
Сообщения
1 535
Репутация
410
Re: [Ошибки] Ошибка в примере из книги AutoIt v3: краткое руководство. Andy Flesner. Пример#7

Код:
; Подключаем GUIConstants (Необходимо для использования GUI функций)
#include <GuiConstants.au3>
#include <StaticConstants.au3>

; Настройка режима OnEvent
Opt('GUIOnEventMode',1);

; Создание GUI
GuiCreate("Menu",400,150)

; Запуск функций GUIExit() при закрытии формы
GUISetOnEvent($GUI_EVENT_CLOSE, 'GUIExit')

; Кнопка 1
GUICtrlCreateButton("Button1", 100, 20, 200, 30)
GUICtrlSetOnEvent(-1, 'function1');запуск function1 при нажатии

; Кнопка 2
GUICtrlCreateButton("Button2", 100, 70, 200, 30)
GuiCtrlSetOnEvent(-1, 'function2'); запуск function2 при нажатии

Func function1()
; Скрыть Gui на время выполнения функции
    GuiSetState(@SW_HIDE)
    Sleep(1000)
    GUISetState(@SW_SHOW)
; ======================================
; скрипт аналогичный составленному для 1 кнопки
; ======================================
EndFunc


Func function2()
   ; Скрыть Gui на время выполнения функции
   GuiSetState(@SW_HIDE)
   Sleep(1000)
   GUISetState(@SW_SHOW)
; ======================================
; скрипт аналогичный составленному для 1 кнопки
; ======================================
EndFunc

; Показать Gui после выполнения функции
GUISetState(@SW_SHOW)

; Бездействия скрипта во время выполнения цикла - эта функция ДОЛЖНА БЫТЬ
; ПОДКЛЮЧЕНА во время режима OnEvent

While 1
   Sleep(500)
WEnd
;Данная функция создает скрипт для закрытия формы
Func GuiExit()
   Exit
EndFunc
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
Re: [Ошибки] Ошибка в примере из книги AutoIt v3: краткое руководство. Andy Flesner. Пример#7

freepad,
Скачайте Развитие русской справки, полазайте по форуму и сравнивайте код.
 
Верх