0
Serg_1960
28.10.08
✎
11:23
|
Была необходимость - написал и использовал. Сейчас уже не нужна стала, - а выбрасывать "просто так" жалко :) Немножко облагородил и дарю на память, безвозмездно, - то есть даром :)
Если хотите - улучшайте,изменяйте, не применяйте, критикуйте - старому графоману уже всё равно...
// Sleep(Х) - пауза, где Х=0 - создать/удалить скрипт-файл, иначе - длительность паузы в секундах
//
Процедура Sleep(ПаузаВСекундах = 0) Экспорт
ИмяСкриптФайла = КаталогВременныхФайлов()+"\sleep.js";
Если ПаузаВСекундах <= 0 Тогда
Если НайтиФайлы(ИмяСкриптФайла).Количество() = 0 Тогда
Скрипт=Новый ТекстовыйДокумент();
Скрипт.УстановитьТекст(
"if (WScript.Arguments.Count()==0)
| WScript.Quit();
|else
| if (isNaN(parseInt(WScript.Arguments(0))))
| WScript.Quit();
|WScript.Sleep(WScript.Arguments(0));");
Скрипт.Записать(ИмяСкриптФайла,КодировкаТекста.ANSI);
Иначе
УдалитьФайлы(ИмяСкриптФайла);
КонецЕсли;
Возврат;
Иначе
Если НайтиФайлы(ИмяСкриптФайла).Количество() = 0 Тогда
Sleep();
КонецЕсли;
КонецЕсли;
Run = "wscript.exe " + """ + ИмяСкриптФайла + """ + " " + Формат(ПаузаВСекундах * 1000,"ЧДЦ=0; ЧГ=");
Shell=Новый COMОбъект("wscript.shell");
Shell.Run(Run,0,-1);
Shell = Неопределено;
КонецПроцедуры;
|
|
8
Serg_1960
28.10.08
✎
16:32
|
Добавлю дровишек в костер :)
В фоновом задании (например: с наименованием "Моё первое задание") можно организовать цикл с паузами до смешного просто :)
// Делаем три попытки с паузой в одну минуту
Пока Повтор = 1 По 3 Цикл
// что-то делаем... а потом пауза
// А ведь никто не спросил "А зачем это нужно?" - значит кому-то "это" нужно :)
Попытка
ФоновыеЗадания.ПолучитьФоновыеЗадания(Новый Структура("Наименование", "Моё первое задание"))[0].ОжидатьЗавершения(60);
Исключение
КонецПопытки;
КонецЦикла;
|
|