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

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

Ответить
Настройки темы
как правильно: if not @error или if isArray????

Новый участник


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

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


добрыи день у меня какая-то неполатка в скрипте в @error как то нереагирует хотя всё работает скрипт просто выключается. Может кто подскажет что исправить чтобы заработал @error??? Или для этои ситуации if isArray неподходит????



Код: Выделить весь код


WinWaitActive("www.--- - Windows Internet Explorer")
sleep(3000)
Call("generate")

Func generate ()

    TrayTip("", "Работаем", 3, 16)
    Sleep(4500)
    $random = Random(0, 1, 1)
    If $random = 0 Then
        TrayTip("", "Работает функция odin", 3, 16)
        odin()
        TrayTip("", "", 0)
    Else
        TrayTip("", "Работает функция dva", 3, 16)
        dva()
        TrayTip("", "", 0, 16)
    EndIf

EndFunc





Func odin ()
$Pos = PixelSearch(329, 352, 380, 444, 0x689CFE)
if IsArray($Pos) Then 
	MouseClick("left", $Pos[0], $Pos[1]) 
	call ("generate") 
	EndIf
If @error  then
	sleep(1000)
	Call("check1")
 	endIf
EndFunc

Func dva ()
	$Pos = PixelSearch(870, 352, 901, 444, 0x689CFE)
if IsArray($Pos) Then 
	MouseClick("left", $Pos[0], $Pos[1]) 
	sleep(100)
	call ("generate") 
	EndIf
If @error  then
	sleep(1000)
	Call("check1")
 	endIf
EndFunc


Func check1 ()
	$Pos = PixelSearch(329, 352, 380, 444, 0x689CFE)
if IsArray($Pos) Then 
	MouseClick("left", $Pos[0], $Pos[1]) 
	call ("generate") 
	EndIf
If @error  then
	sleep(1000)
	Call("check2")
 	endIf
EndFunc

Func check2 ()
	$Pos = PixelSearch(870, 352, 901, 444, 0x689CFE)
if IsArray($Pos) Then 
	MouseClick("left", $Pos[0], $Pos[1]) 
	sleep(100)
	call ("generate") 
	EndIf
If @error  then
	sleep(1000)
	Call("check3")
 	endIf
EndFunc

Func check3 ()
	$Pos = PixelSearch(329, 352, 380, 444, 0x689CFE)
if IsArray($Pos) Then 
	MouseClick("left", $Pos[0], $Pos[1]) 
	call ("generate") 
	EndIf
If @error  then
	sleep(1000)
	Call("reset")
 	endIf
EndFunc


Func reset()
	MouseClick("left",194, 424, 1)
	sleep(7500)
	MouseClick("left", 780, 897, 1)
	sleep(700)
	$random = Random(0, 1, 1)
    If $random = 0 Then
       TrayTip("Бинго", "Бикини", 3, 16)
        babi3()
        TrayTip("Бинго", "Бикини", 0, 16)
    Else
        TrayTip("Бинго", "Минирок", 3, 16)
        babi2()
        TrayTip("Бинго", "Минирок", 0, 16)
		EndIf
	EndFunc
	

	Func babi2()
		MouseClick("left", 746, 937, 1)
		sleep(3000)
		call ("generate")
	EndFunc
	
	Func babi3()
		MouseClick("left", 747, 951, 1)
		sleep(3000)
		call ("generate")
	EndFunc

Отправлено: 22:10, 08-04-2010

 

Пользователь


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

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


Antoschka2, если так за каждым вопросом прыгать на форум, то написание скриптов будет значительно растягиваться во времени.
Предлагаю более простой вариант: расставляй отметки о ходе работы программы в виде месседжбоксов или записей в консоль.
Я, например, предпочитаю вариант с консолью:
Код: Выделить весь код
ConsoleWrite("Выполняется строка N"&@CR)
Расставляешь такие пометки в проблемных участках и запускаешь...
Так ты сможешь отследить ход работы программы и понять в каком месте происходит ошибка.

-------
Информация для размышления
Такому в вузах не научат


Отправлено: 23:53, 08-04-2010 | #2



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

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


Новый участник


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

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


266903582, хорошая идея. только я не знаю как CONSOLE пользоватся

Отправлено: 00:37, 11-04-2010 | #3


Пользователь


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

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


Antoschka2, в редакторе пишешь "ConsoleWrite", жмешь F1, получаешь всю необходимую информацию...

-------
Информация для размышления
Такому в вузах не научат


Отправлено: 15:49, 11-04-2010 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Как правильно - "лицензионное" ПО или "лицензированное"? Lutatovsky Лицензирование продуктов Microsoft 3 22-08-2011 19:36
Ошибка - [решено] Error loading operating system и disk error occurred! Error95 Microsoft Windows 2000/XP 5 12-12-2009 14:05
Интерфейс - [решено] Ошибка локализаторов или все правильно? PsyDuck Microsoft Windows Vista 3 04-04-2009 23:44
Mandriva/Mandrake - spamass-milter Thrown error: execution error: No such file or directory _k4 Общий по Linux 1 24-01-2009 21:22
[решено] скачал как бы образ фильма в папках,не знаю,как правильно записать illusionmgs Видео и аудио: обработка и кодирование 9 12-09-2008 01:13




 
Переход