![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » GUI, обработка функций вместе с ним. |
|
GUI, обработка функций вместе с ним.
|
![]() Старожил Сообщения: 215 |
Есть GUI, а также некоторые функции, которые работают достаточно долго, от нескольких секунд, до нескольких часов.
В связи с этим мне нужна остановка выполнения функции (но не выход из скрипта). Причём не только по горячей клавише. но и через GUI Примерная структура скрипта: ;Create GUI While 1 GUIProcess() WEnd Func GUIProcess() Switch GUIGetMsg() ;... Case $ButtonStop $NotStop=0 EndSwitch EndFunc Func Some() While 1 And $NotStop ;... GUIProcess() WEnd EndFunc http://www.autoitscript.com/forum/in...howtopic=95510 - здесь вроде бы то, что мне надо, но к сожалению, я не понял, как этим воспользоваться ![]() |
|
Отправлено: 12:35, 24-05-2009 |
Старожил Сообщения: 192
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:40, 24-05-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 307
|
Профиль | Отправить PM | Цитировать Цитата Sylver Dragon:
Цитата Sylver Dragon:
|
||
------- Отправлено: 15:42, 24-05-2009 | #3 |
![]() Старожил Сообщения: 215
|
Профиль | Отправить PM | Цитировать Ну... Если бы у меня было что-то типо Sleep(n) - я бы даже не спрашивал и плюнул бы на это дело. А так, моя функция работает долго за счёт скачки файлов из интернета. Но качаю я то их в фоне. Поэтому и имею возможность при этом обрабатывать GUI.
То есть вот эта функция вызывыается достаточно часто: Func GetSourceOrFile($URL, $SourceOrFile = "Source", $PathToDownLoad = "") ; Готово #cs ---------------------------------------------------------------------------- Готово. Внешние связи: #include <File.au3>, переменная $AllowDownLoad для немедленного завершения и цикл обработки GUI {GUIProcess()} Получает файл или исходный текст файла в интернете. При этом обрабатывает GUI Возвращаемое значение: Исходный текст файла или пустая строка #ce ---------------------------------------------------------------------------- Local $Handle Local $Return = "" If $PathToDownLoad = "" Then $PathToDownLoad = _TempFile() $Handle = InetGet($URL, $PathToDownLoad, 0, 1) While (NOT(InetGetInfo($Handle, 2))) And $AllowDownLoad GUIProcess() WEnd InetClose($Handle) If $SourceOrFile = "Source" Then $Return = FileRead($PathToDownLoad) FileDelete($PathToDownLoad) EndIf Return $Return EndFunc |
------- Отправлено: 16:14, 24-05-2009 | #4 |
Старожил Сообщения: 192
|
Профиль | Отправить PM | Цитировать моя идея подойдёт - в функции паузы создать создать такую же форму или форму с кнопкой продолжить...
|
|
Последний раз редактировалось Twix1124, 24-05-2009 в 16:58. Отправлено: 16:38, 24-05-2009 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать У меня есть утилита работающая похожим образом. Для отмены действии (функции) я использую глобальную переменную, которой присваивается значение True если необходимо остановить функцию, а в самой функции в критичных местах проверяю эту переменную.
Цитата Sylver Dragon:
![]() |
|
------- Отправлено: 18:21, 24-05-2009 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Использование некоторых функций AutoIt3Wrapper Gui | FlatX007 | AutoIt | 8 | 08-07-2009 18:26 | |
Не работает GUI после выхода другова GUI | sashadeg | AutoIt | 3 | 15-05-2009 22:03 | |
Перехват API функций | ники | Лечение систем от вредоносных программ | 23 | 09-04-2009 11:21 | |
Теория - Число функций n аргументов? | Gamover jr | Программирование и базы данных | 13 | 30-10-2007 09:25 | |
Java - Перегрузка функций библиотеки Win32API | EvgeniyQQQ | Программирование и базы данных | 2 | 02-10-2007 14:53 |
|