[TC] Re[3]: Вопрос по скриптам: перемещение по предложениям и пауза
Здравствуйте, Vladimir.
VD> То есть, допустим, в цикл "while" я вписываю запуск приложения "X".
VD> И мне нужно, чтобы выполнение цикла и скрипта приостановилось до тех пор,
VD> пока не завершится приложение "X".
Это понятно и таким образом эту задачу не решить. Функция run
запускает приложение и сразу возвращает управление в скрипт и как
известно задержки не работают.
VD> Если нужны ещё какие-то данные, уточните, какие именно.
Я просто думаю, если есть текст, например файл или jaws скрипт может
получить весь текст, то тогда эту задачу довольно просто решить на
VBScript или JScript, благо они встроены во все виндосы начиная с 98,
да и в 95 устанавливаются вроде.
VD> Нет, нужно отрабатывать по одному придложению. В крайнем случае,
VD> параграфу, но сути дела ведь это не меняет.
Смотри выше, там можно разобрать весь текст на предложения и по одному
запускать, причем процесс будет синхронный, так как там функция run
может ждать завершения программы.
VD> Если я правильно понял описание, эта функция работает со временем.
VD> Действительно, чисто теоретически, можно было бы периодически
VD> опрашивать систему на предмет запущенности приложения "X", но, во-первых,
VD> можно ли из скрипта узнавать запущено ли конкретное приложение (если
VD> учесть, кстати, что у него нет окна), а, во-вторых, не ясно, как при
VD> этом останавливать (задерживать) цикл, в котором крутится запуск
VD> приложения.
Я как раз и хотел сказать, что бы сделать цикл на этих функциях.
Вы же хотели исползовать в while паузы?
Делаем функцию, которая будет установлена в shedule
Сама функция берет предложение, переходит на следующее, взятое
предложение запускает на обработку и в конце ставит время
ссрабатывания, заведомо сколько нужно для работы внешнего предложения
и все.
Через это время функция будет вызвана и все повториться.
Но это получится асинхронная работа, будет теряться время.
А может Вам запускать предложения пачками по штук 20-30, виндоус по
идее должен справиться.
или их нужно обрабатывать последовательно?