|
v7: програмная задержка (sleep) | ☑ | ||
---|---|---|---|---|
0
perkos
14.09.12
✎
08:49
|
сейчас делаю так
Процедура глПауза(Сек) scr = СоздатьОбъект("WScript.Shell"); scr.Run("ping 127.0.0.1 -n "+СокрЛП(Число(Сек)+1),0,1); КонецПроцедуры но у меня есть пример батника который делает так cscript //nologo /e:jscript "%~f0" 5000 */ WScript.Sleep(WScript.Arguments(0)) как бы такую штуку вместо пинга засунуть подскажите |
|||
1
perkos
14.09.12
✎
08:50
|
5000 время в милисекундах
|
|||
2
perkos
14.09.12
✎
08:59
|
Функция ПаузаСекунды(Секи)
Попытка scrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl"); scrptCtrl.language="vbscript"; КодСкрипта=" |Function GetPause() |Set WScript = CreateObject(""WScript.Shell"") |WScript.Sleep ("; КодСкрипта=КодСкрипта+Строка(Секи*1000)+")"; КодСкрипта=КодСкрипта+" |GetPause = """" |End Function |"; scrptCtrl.addcode(КодСкрипта); Рез = ScrptCtrl.Run("GetPause"); Исключение Возврат ""; КонецПопытки; Возврат Рез; КонецФункции вот такую штуку нашел но Рез = ScrptCtrl.Run("GetPause"); {D:\1C\ТЕСТПАУЗЫ.ERT(26)}: Ошибка выполнения Microsoft VBScript: Объект не поддерживает это свойство или метод: 'WScript.Sleep' |
|||
3
Voronve
14.09.12
✎
09:02
|
глWScript = СоздатьОбъект("WScript.Shell"); // Где то в глобальнике
глWScript.Run(КаталогИБ() + "sleep.vbs", 0, -1); // В нужном месте Файл sleep.vbs (1 строка): WScript.sleep 2000 |
|||
4
aleks-id
14.09.12
✎
09:04
|
слип это зло. обсуждалось мильён раз. меняй алгоритм
|
|||
5
perkos
14.09.12
✎
09:04
|
а без файла скрипта можно?
|
|||
6
PaulBC
14.09.12
✎
09:04
|
|Set WScript = CreateObject(""WScript.Shell"") - это лишнее
Объект WScript можно использовать в сценарии WSH сразу, без какого-либо предварительного описания или создания, т.к. его экземпляр создаётся сервером сценариев (CScript.exe или WScript.exe) автоматически. |
|||
7
Voronve
14.09.12
✎
09:05
|
(5) У меня не получилось.
|
|||
8
perkos
14.09.12
✎
09:06
|
(6)
Функция ПаузаСекунды(Секи) //Попытка scrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl"); scrptCtrl.language="vbscript"; КодСкрипта=" |Function GetPause() |WScript.Sleep ("; КодСкрипта=КодСкрипта+Строка(Секи*1000)+")"; КодСкрипта=КодСкрипта+" |GetPause = """" |End Function |"; scrptCtrl.addcode(КодСкрипта); Рез = ScrptCtrl.Run("GetPause"); //Исключение // Возврат ""; //КонецПопытки; Возврат Рез; КонецФункции Рез = ScrptCtrl.Run("GetPause"); {D:\1C\ТЕСТПАУЗЫ.ERT(25)}: Ошибка выполнения Microsoft VBScript: Требуется объект: 'WScript' |
|||
9
Serg_1960
14.09.12
✎
09:08
|
Лаконично - по нраву мне. Автор - не я.
Wrapper=Новый ComОбъект("DynamicWrapper"); Wrapper.Register("KERNEL32.DLL","Sleep","i=l","f=s"); Wrapper.Sleep(мсек); |
|||
10
perkos
14.09.12
✎
09:20
|
(9) вся система висит во время таких пауз... уф не годно
|
|||
11
dk
14.09.12
✎
09:47
|
а просто
ВвестиСтроку("Ждем",,,, 1) не вариант? ) |
|||
12
mikecool
14.09.12
✎
09:51
|
в КЗ есть статья по организации паузы
|
|||
13
mikecool
14.09.12
✎
09:51
|
(11) и по рукам линейкой...
|
|||
14
mikecool
14.09.12
✎
09:52
|
||||
15
dk
14.09.12
✎
09:54
|
(13) ты свою ссылку смотрел? )) так-то этот пример там есть
|
|||
16
mikecool
14.09.12
✎
09:56
|
(15) пох, за всю статью не отвечаю, но раздачу бы устроил за твой пример )
|
|||
17
dk
14.09.12
✎
09:57
|
(16) а аргументация?
сильно подозреваю что ты не в курсе как ввестистроку работает |
|||
18
perkos
14.09.12
✎
11:05
|
(14) хмм делать паузы чтобы база не тормозила это идея конечно... впринципе кучу задач можно так размазать во времени... интересно так то
|
|||
19
Fragster
гуру
14.09.12
✎
11:07
|
а чем пинг не устраивает?
|
|||
20
Fragster
гуру
14.09.12
✎
11:07
|
(9) а DEP не ругается?
|
|||
21
perkos
14.09.12
✎
11:26
|
(19) не красивый код только и всего(= я думаю тема исчерпана, неплохой варик вбс файл запускать, пинг, скопировать слип.exe, ну и предупреждение впринципе тоже может сойти.
|
|||
22
varelchik
14.09.12
✎
15:46
|
а так:
Функция глПауза(ЧислоСек) Экспорт Система=СоздатьОбъект("Система"); Для н=1 По ЧислоСек Цикл Система.Уснуть(1000); Состояние("Пауза : "+Строка(н)+" сек."); КонецЦикла; КонецФункции |
|||
23
varelchik
14.09.12
✎
15:46
|
Паравда надо что 1С++ была загружена.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |