|
|
|
Как сделать 2-х секундную паузу ? Ø |
☑ | ||
|---|---|---|---|---|
|
0
McTSIMCO
05.10.05
✎
18:47
|
В цикле нужна 2-х секундная пауза. Как это сделать?
|
|||
|
1
Муму после всплытия
05.10.05
✎
18:48
|
Предупреждение("", 2)
|
|||
|
2
McTSIMCO
05.10.05
✎
18:50
|
Это конечно, но мне нужна таки гарантированно 2-х секундная, а если кто-то нажмет "ОК"... К сожалению, вариант не подходит.
|
|||
|
3
Муму после всплытия
05.10.05
✎
18:52
|
Предупреждение("Не нажимайте ОК", 2)
|
|||
|
4
КонецЦикла
05.10.05
✎
18:56
|
Сделай пустой цикл и сверяй с ГетКаунтером() - если не прошло 2 сек - продолжаем цикл - но это приблизительно
|
|||
|
5
systemstopper
05.10.05
✎
18:58
|
час="";
минут=""; сек=""; час2=""; минут2=""; сек2=""; вр=ТекущееВремя(час, минут, сек); Пока 1=1 Цикл вр=ТекущееВремя(час2, минут2, сек2); Если сек2-сек<2 Тогда Продолжить; Иначе Сообщить("Прошло 2 секунды"); Прервать; КонецЕсли; КонецЦикла; Правда этот код по теории конкретно жрёт ресурсы проца |
|||
|
6
McTSIMCO
05.10.05
✎
19:04
|
(5) Вообще-то код не совсем верен - если запустить в 59 секунд, то все уже...
А в принципе, похоже, так и сделаю, только с часами и минутами. |
|||
|
7
EXH
05.10.05
✎
20:23
|
(0) а разрешите полюбопытствовать - нафига? музыку исполняете?
|
|||
|
8
Caligula
06.10.05
✎
09:39
|
(7) да, причем интересно почему именно 2
|
|||
|
9
Соратник
06.10.05
✎
10:02
|
Все штатные методы грузят процессор, если не ошибаюсь :)
Нештатно только через ВК, например DialMail - там есть метод Ожидание(милисекунд), проц негрузится, что не маловажно, например, при работе на сервере |
|||
|
10
Caligula
06.10.05
✎
10:40
|
(9) народ, да вы не поняли, у человека проц шустрит, вот он и думает, как его обуздать :-)
|
|||
|
11
zak
06.10.05
✎
10:56
|
Как нагнуть проц, можно посмотреть здесь :)
http://www.forum.odessa.ua/files/pic1_114.jpg http://www.forum.odessa.ua/files/pic2.jpg |
|||
|
12
ГеройАсфальта
06.10.05
✎
11:04
|
ии Раз..ии Два..вот
|
|||
|
13
AnS2005
06.10.05
✎
16:16
|
Лучше вот так:
Процедура Таймаут(МиллиСекунды) Темп=КаталогВременныхФайлов()+"sleep.vbs"; Текст=СоздатьОбъект("Текст"); Текст.ДобавитьСтроку("wscript.sleep "+СокрЛП(МиллиСекунды)); Текст.Записать(Темп); cmdLine="wscript.exe "+Темп; WshShell=СоздатьОбъект("WScript.Shell"); WshShell.Run(cmdLine, 0, -1); ФС.УдалитьФайл(Темп); КонецПроцедуры |
|||
|
15
AnS2005
06.10.05
✎
16:33
|
2(14): Это будет грузить проц.
Вариант (13) проц не грузит. |
|||
|
17
dralex
06.10.05
✎
17:07
|
(16) >> проще открыть поток со слипом
Угу. Из 1С. А затем еще заниматься синхронизацией потоков внутренними средствами 1С... |
|||
|
19
dralex
06.10.05
✎
17:43
|
(18) Запускал? Загрузку проца смотрел?
|
|||
|
20
dralex
06.10.05
✎
17:47
|
+19 Кстати, где в 7.7 такая процедура?
|
|||
|
21
smaharbA
06.10.05
✎
17:53
|
WshShell=СоздатьОбъект("WScript.Shell");
WshShell.Popup("",2); |
|||
|
22
McTSIMCO
06.10.05
✎
18:34
|
(21) см. (2).
В конце концов воспользовался вариантом (14), за что Sadovnikov-у большое спасибо. |
|||
|
23
КонецЦикла
06.10.05
✎
19:25
|
Вариант (4) был практически таким же :) .... только надо было самому кодировать
|
|||
|
25
smaharbA
07.10.05
✎
09:02
|
http://www.forum.mista.ru/topic.php?id=127614&
|
|||
|
26
SnarkHunter
07.10.05
✎
09:08
|
ЗапуститьТаймер(?,,);
StartTimer(?,,); Синтаксис: ЗапуститьТаймер(<ИмяПроцедуры>,<ИнтервалВызова>,<ИдентификаторТаймера>) Назначение: Создает таймер с идентификатором <ИдентификаторТаймера> для выполнения процедуры, переданной в параметре <ИмяПроцедуры> через <ИнтервалВызова> секунд. Параметры: <ИмяПроцедуры> - строка кода 1С, который должен быть выполнен через <ИнтервалВызова> секунд. <ИнтервалВызова> - число, количество секунд, через которое должен выполниться код, переданный в параметре <ИмяПроцедуры>. <ИдентификаторТаймера> - строка, уникальный идентификатор таймера. Необходим для перезапуска и останова таймера. и еще: ЗапуститьТаймерНаВремя(?,,); StartTimerOnTime(?,,); Синтаксис: ЗапуститьТаймерНаВремя(<ИмяПроцедуры>,<Часов>,<Минут>,<ИдентификаторТаймера>) Назначение: Создает таймер с идентификатором <ИдентификаторТаймера> для выполнения процедуры, переданной в параметре <ИмяПроцедуры> во время, переданное в параметрах <Часов> и <Минут>. ВНИМАНИЕ!!! Если в процедуре <ИмяПроцедуры> не остановить таймер командой ОстановитьТаймер, то процедура будет выполняться бесконечно с интервалом в 1 минуту. Параметры: <ИмяПроцедуры> - строка кода 1С, который должен быть выполнен через <ИнтервалВызова> секунд. <Часов> - число, количество часов, во сколько должен выполниться код, переданный в параметре <ИмяПроцедуры>. <Минут> - число, количество минут, во сколько должен выполниться код, переданный в параметре <ИмяПроцедуры>. <ИдентификаторТаймера> - строка, уникальный идентификатор таймера. Необходим для останова таймера. |
|||
|
27
SnarkHunter
07.10.05
✎
09:10
|
(+26)Это для (20). Проц на самом деле не грузит.
|
|||
|
28
smaharbA
07.10.05
✎
09:12
|
Вы зачем весь гербарий выкурили...(с)
Где это вы в 7.7 видели? (27) А вот сделай так задержку, а потом взгляни загрузку |
|||
|
30
2S
07.10.05
✎
09:24
|
на взлет, команда системы "pause"
|
|||
|
31
SnarkHunter
07.10.05
✎
09:26
|
(29)Да он просто не в курсе.
|
|||
|
32
fagotov
07.10.05
✎
09:39
|
(29),(31) Господа, прекращайте мистифицировать (читай, разводить) ))
Где в 7.7 эти методы? вернее так, в состав какой ВК они входят? ) |
|||
|
33
smaharbA
07.10.05
✎
09:42
|
Нет вы ребята сделайте именно приостановку выполнения 1С...
Напишите код, он простой будет и поглядите загрузит, незагрузит? Вам без цикла всеравно необойтись, а Nop или DoEvents в 1С отсутствуют... |
|||
|
35
Vaicartana
07.10.05
✎
09:50
|
2 (0) забей "nop"ами
один nop выполняется за 1 машинный цикл Тебе потребуется 2млн циклов при скорости проца в 1МГц. Для своего считай сам. |
|||
|
36
smaharbA
07.10.05
✎
09:58
|
(34) сделай слип, но без "внешнего" скрипта
|
|||
|
37
karek
07.10.05
✎
10:00
|
А мне кажется, чтобы сделать это штатными средствами, и при этом не грузить проц, надо объединить варианты 1 и 14:
Н = _GetPerformanceCounter(); Пока (_GetPerformanceCounter() - Н) < 5000 Цикл Предупреждение("Не нажимайте ОК. Хотя, вобщем-то все равно.", 2); КонецЦикла; |
|||
|
38
smaharbA
07.10.05
✎
10:06
|
(37) И свернуть 1С...
|
|||
|
39
dralex
07.10.05
✎
12:07
|
(17)+(18)+(34) Оценил:)).
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |