|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Объявление переменной |
|
[решено] Объявление переменной
|
Новый участник Сообщения: 7 |
Профиль | Отправить PM | Цитировать Здравствуйте. Решил научиться писать программы на AutoIT и столкнулся с небольшой проблемой объявления переменных. Уверен, исправляеться она просто, но сижу уже сутки и никак сделать немогу, помогите пожалуйста.
Вобщем когда программа была в одном файле и без функций интерфейса GUI все работало нормально, но после GUI попросила объявить некоторые переменные, вот с одной то я и столкнулся, никак объявить не могу, прога пишет "Variable used without being declared.:" на файле warp.au3 на строке "if $belt=1 Then $y=0" файл Main.au3 #include <GuiConstantsEx.au3> #include <start.au3> Opt('MustDeclareVars', 1) Opt("GUIOnEventMode", 1) Global $ExitID Global $number_belt GUI() Func GUI() Local $YesID ; GUI GuiCreate("AI BOT 1.0", 400, 300) ; TAB GuiCtrlCreateTab(10, 0, 380, 260) GuiCtrlCreateTabItem("main") GuiCtrlCreateLabel("Number of belts", 20, 40) $YesID = GUICtrlCreateButton("Start", 10, 260, 100, 30) GUICtrlSetOnEvent($YesID, "Start") $ExitID = GUICtrlCreateButton("Exit", 290, 260, 100, 30) GUICtrlSetOnEvent($ExitID, "OnExit") GUISetOnEvent($GUI_EVENT_CLOSE, "OnExit") GUISetState() ; display the GUI While 1 Sleep(1000) WEnd EndFunc Func Start() main2() EndFunc Func OnExit() Exit EndFunc файл start.au3 WinMove("EVE","",0,0) #include "attack.AU3" #include "warp.AU3" Func main2() Local $x $x=1 MsgBox(0,1,"инициализация",2) Do warp($x) sleep(30000) attack() $x=$x+1 Until $x=GUICtrlRead($numberbelt) sleep(2000) MsgBox(0,1,"завершение работы программы",2) EndFunc файл warp.au3 ;WinMove("EVE","",0,0) ;инициализация точки $WinPos = WinGetPos("EVE") $tochkaX = $WinPos[0] + 57 $tochkaY = $WinPos[1] + 73 ;инициализация меню $WinPos = WinGetPos("EVE") $menuX = $tochkaX + 70 $menuY = $tochkaY + 10 ;инициализация меню астероидов $WinPos = WinGetPos("EVE") $asteroidX = $menuX + 200 $asteroidY = $menuY + 0 ;инициализация первого белта $WinPos = WinGetPos("EVE") $beltX = $asteroidX + 190 $beltY = $asteroidY + 3 ;функция варпа, передаваемое значение - номер белта func warp($belt) if $belt=1 Then $y=0 if $belt=2 Then $y=17 if $belt=3 Then $y=34 if $belt=4 Then $y=51 if $belt=5 Then $y=68 if $belt=6 Then $y=85 if $belt=7 Then $y=102 if $belt=8 Then $y=119 if $belt=9 Then $y=136 if $belt=10 Then $y=153 if $belt=11 Then $y=170 MouseClick("left", $tochkaX, $tochkaY, 1, 20) sleep (1000) MouseClick("left", $menuX, $menuY, 1, 20) sleep (1000) MouseClick("left", $asteroidX, $asteroidY, 1, 20) MouseClick("left", $asteroidX, $asteroidY+$y, 1, 20) sleep (1000) MouseClick("left", $beltX, $beltY+$y, 1, 20) MsgBox(0,1,"варпаем на "& $belt &" астероид",2) EndFunc |
|
Отправлено: 12:06, 28-06-2009 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Вобщем сутки не мог решить, а как тему повесил, через час сам сделал. Спс большое за внимание .
|
Отправлено: 13:07, 28-06-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 215
|
Профиль | Отправить PM | Цитировать Проверить нормально не могу. Нет файла attack.au3
Во-вторых, зачем всё в отдельных файлах? Ведь предназначение одно? Может конструкцию if $belt=n Then $y=k заменить на $y = ($belt-1) * 17 А с "ошибкой" всё просто: Установлена опция: перeменные должны быть обявлены Opt('MustDeclareVars', 1) А переменная $y не обявлена. Перед тем, как использовать её: В функции Local $y или Dim $y |
------- Отправлено: 13:08, 28-06-2009 | #3 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Спс большое, а я все думал, что не объявлена belt и ничего не мог поделать, про игрик вообще не думал.
|
Отправлено: 13:58, 28-06-2009 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Проверка по переменной | ware | Скриптовые языки администрирования Windows | 18 | 06-11-2019 01:01 | |
CMD/BAT - [решено] Реализация функций длины переменной, выделение подстроки с параметрами в переменной. | NiOl | Скриптовые языки администрирования Windows | 7 | 31-01-2019 19:58 | |
Как правильно написать объявление в газету??? | Antoniooo | Флейм | 7 | 04-10-2009 19:56 | |
[решено] Считывание параметров переменной | morgan1991 | AutoIt | 3 | 07-03-2009 14:38 | |
объявление при открытии папки | DenSha | Microsoft Windows NT/2000/2003 | 2 | 28-05-2007 16:18 |
|