Имя: Пароль:
1C
 
Ожидание, пауза в алгоритме. "Давайте делать паузы в словах..."(с)
,
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 = Неопределено;

КонецПроцедуры;
1 Krom
 
28.10.08
11:26
(0), тогда уж в книгу знаний
2 smaharbA
 
28.10.08
11:31
Вечная тема ))
3 Serg_1960
 
28.10.08
11:50
(Скромно) А я ещё крестиком вышиваю... (про себя) а основу алгоритма я у ZAV'а спёр (тихо) и только немножно украсил рюшками и бантиками
4 Jolly Roger
 
28.10.08
11:56
Через rundll элегантней...
5 Serg_1960
 
28.10.08
12:01
(4) Пример на сцену... а лавры раздавать другим предоставь право :)
6 Serg_1960
 
28.10.08
12:05
Может кто-нибудь для пингвина пример покажет :)
7 Jolly Roger
 
28.10.08
13:01
(5) Я и есть другой, а автор - smaharbA
8 Serg_1960
 
28.10.08
16:32
Добавлю дровишек в костер :)
В фоновом задании (например: с наименованием "Моё первое задание") можно организовать цикл с паузами до смешного просто :)

// Делаем три попытки с паузой в одну минуту
Пока Повтор = 1 По 3 Цикл
  // что-то делаем... а потом пауза
  // А ведь никто не спросил "А зачем это нужно?" - значит кому-то "это" нужно :)
  Попытка
     ФоновыеЗадания.ПолучитьФоновыеЗадания(Новый Структура("Наименование", "Моё первое задание"))[0].ОжидатьЗавершения(60);
  Исключение
  КонецПопытки;
КонецЦикла;
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.