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

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

Ответить
Настройки темы
Условие выхода при ошибке в работе скрипта

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


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

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


Люди вот столкнулся с такой проблемкой не как не получаеться написать коректное условие закрытия при ошибке выполнения скрепта?
Дело в том,что все окна в используемой мной програмке имеют одинаковое название!

Я решил выйти из положения каким образом поставил выскакивающее окно типа
Код: Выделить весь код
MsgBox(64, "Ошибка установки", "Закройте все открытые окна и попробуйте заново")
Ну чёт получаеться не совсем то, что я планировал дело в том что когда ищёзает указаное мною окно то начинает действовать
часть скрипта "ложь" ну вообщем сейчас всё покажу на примере:

Код: Выделить весь код
BlockInput(1)
DirCreate("D:\Test")
FileDelete("D:\Test\*.tib")
RegWrite('HKCU\SOFTWARE\Acronis\TrueImageHome\DontShow', 'IncrementalTip', 'REG_SZ', '1')
Run(@ProgramFilesDir & "\Acronis\TrueImageHome\TrueImage.exe")
WinWaitActive("Acronis*True*Image*Home")
Sleep(8000)
Send("{LALT}")
Send("{ENTER}")
Send("{ENTER}")
WinWaitActive("Мастер резервного копирования")
Send("{ENTER}")
WinWaitActive("Мастер резервного копирования")
Send("{ENTER}")
WinWaitActive("Мастер резервного копирования")
Send("{ENTER}")
Sleep(2000)
Send("{BS 25}") 
Send("D:\Test\Образ.tib")
Send("{ENTER}")
WinExists("Мастер резервного копирования")
Sleep(1000)
Send("{ENTER}")
WinExists("Мастер резервного копирования")
Sleep(1000)
Send("{ENTER}")
WinExists("Мастер резервного копирования")
Sleep(1000)
ControlClick("Мастер резервного копирования", "", "FXWindow6")
WinWaitActive("Мастер резервного копирования")
ControlClick("Мастер резервного копирования", "", "FXWindow6")
Send("{ENTER}")
MsgBox(64, "Информация", "Дождитесь пока программа завершит работу", 5)
If WinExists("Информация")==1 Then 
WinClose("Acronis*True*Image*Home")
RegDelete("HKCU\SOFTWARE\Acronis\TrueImageHome\DontShow")
Exit
Else
BlockInput(0)	
MsgBox(64, "Ошибка установки", "Закройте все открытые окна и попробуйте заново")
Exit
EndIf

Люди может подскажите, может кто уневерсальный код придумал типа как на повторный запуск скрипта:

Код: Выделить весь код
$g_szVersion = "My Script 1.1"
If WinExists($g_szVersion) Then Exit ; Он уже запущен
AutoItWinSetTitle($g_szVersion)

Или подскажите к примеру как сделать ,что бы при ошибке скрипт не на паузу ставал а завершал работу по умолчанию...

Отправлено: 00:31, 30-05-2009

 

Аватара для Creat0R

Must AutoIt


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

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


Я несколько раз перечитал пост, но так и не понял проблемы. Какое условие должен проверять скрипт, и что он должен делать при выходе?

Или просто нужно не запускать скрипт повторно? Для этого есть функция _SingleTon().

Цитата ShadowMas:
как сделать ,что бы при ошибке скрипт не на паузу ставал а завершал работу по умолчанию »
А почему он должен на паузу вставать? Если речь про msgbox, то да, он блокирует выполнение скрипта, но никто не принуждает его использовать

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 00:55, 30-05-2009 | #2



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

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


Аватара для beve

Старожил


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

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


Я так понял, что ты с помощью скрипта планируеш запуск Acronis и создавать резервную копию... Почему бы тебе не использовать встроенный в Acronis планировщик (Действие -->Создать новое задание и т.д.)? Если сделать так, то можно запланировать любое, задание, а потом выбрать режим запуска, который тебе подходит, или по времени, или по событию, единократно, или каждый день и т. д., или же выбрать режим запуска Вручную, а потом, когда это задание появится в списке заданий, то можеш с помощью скрипта, автоматом запустить Acronis, выбрать пункт Управление заданиями, и запустить на выполнение твое задание. Думаю так будет проще, и ошибок не будет...

-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.


Отправлено: 01:06, 30-05-2009 | #3


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


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

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


Да нет вопрос в другом нужнео сделать условие выхода если вдруг скрипт по какимто причинам не сработал или появилось неожиданое окно!

Отправлено: 21:29, 30-05-2009 | #4


Аватара для Creat0R

Must AutoIt


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

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


Цитата ShadowMas:
нужнео сделать условие выхода если вдруг скрипт по какимто причинам не сработал или появилось неожиданое окно! »
Другими словами, если скрипт потерпел крах? Это не столь тривиально как кажется.

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

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 22:17, 30-05-2009 | #5


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


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

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


Ясно ну спасибо за участие думаю,чуть поменять условие и всё должно получиться!

Всем ещё раз огромное спасибо!!!

Отправлено: 22:26, 30-05-2009 | #6


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


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

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


Всё люди я розобрался с условием

Вот рабочий код на автоматическое создание архива для 10-го Акрониса + проверка на случайную ошибку или сбой при установке, думаю так будет работать нормально

Код: Выделить весь код
BlockInput(1)
DirCreate("D:\Test")
FileDelete("D:\Test\*.tib")
RegWrite('HKCU\SOFTWARE\Acronis\TrueImageHome\DontShow', 'IncrementalTip', 'REG_SZ', '1')
Run(@ProgramFilesDir & "\Acronis\TrueImageHome\TrueImage.exe")
WinWaitActive("Acronis*True*Image*Home")
Sleep(8000)
Send("{LALT}")
Send("{ENTER}")
Send("{ENTER}")
WinWaitActive("Мастер резервного копирования")
Send("{ENTER}")
WinWaitActive("Мастер резервного копирования")
Send("{ENTER}")
WinWaitActive("Мастер резервного копирования")
Send("{ENTER}")
Sleep(2000)
Send("{BS 25}") 
Send("D:\Test\Образ.tib")
Send("{ENTER}")
WinExists("Мастер резервного копирования")
Sleep(1000)
Send("{ENTER}")
WinExists("Мастер резервного копирования")
Sleep(1000)
Send("{ENTER}")
WinExists("Мастер резервного копирования")
Sleep(1000)
ControlClick("Мастер резервного копирования", "", "FXWindow6")
WinWaitActive("Мастер резервного копирования")
ControlClick("Мастер резервного копирования", "", "FXWindow6")
Send("{ENTER}")
If WinActive("Acronis*True*Image*Home") Then
WinWait("Информация")	
Send("{ENTER}")
WinClose("Acronis*True*Image*Home")
RegDelete("HKCU\SOFTWARE\Acronis\TrueImageHome\DontShow")
BlockInput(0)
MsgBox(64, "Сообщение", "Запись успешно окончина!")
Else
BlockInput(0)	
MsgBox(64, "ОШИБКА ВЫПОЛНЕНИЯ", "Закройте все активные окна и попробуйте заново")
WinClose("Мастер резервного копирования")
WinClose("Acronis*True*Image*Home")
EndIf

Отправлено: 01:30, 31-05-2009 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
При ошибке выдаются неправильные номера строки из IE.au3 evg64 AutoIt 2 25-09-2009 00:24
CMD/BAT - [решено] Не всегда отрабатывается условие при использовании rasdial hosco Скриптовые языки администрирования Windows 8 04-05-2009 10:16
не могу разобраться в работе скрипта Sidelong Microsoft Windows NT/2000/2003 6 28-08-2007 12:47
Запуск скрипта при подключении к сети Neu-iskatell Сетевые технологии 7 31-10-2005 16:09
Ошибка при работе скрипта Rudy Вебмастеру 18 13-10-2004 06:52




 
Переход