![]() |
|
Как сделать задержку? | ☑ | ||
---|---|---|---|---|
0
xenos
20.12.11
✎
12:21
|
Как в 1С сделать задержку в выполнении кода?
|
|||
1
Evgenchik
20.12.11
✎
12:21
|
цикл?
|
|||
2
xenos
20.12.11
✎
12:23
|
Желательно одинаковую
есть варинат получать время и делать цикл пока время не изменится до нужной но хотелось как-то по красивее |
|||
3
xenos
20.12.11
✎
12:23
|
З.ы. точность до милисекунд
|
|||
4
acsent
20.12.11
✎
12:24
|
Задержка - это плохо. А особенно задержка цикла
|
|||
5
Hawk_1c
20.12.11
✎
12:24
|
А в чем смысл? Может регламентные задания и по частям выполнять, по времени. Задача в чем?
|
|||
6
ДенисЧ
20.12.11
✎
12:25
|
WShell.Sleep()
|
|||
7
Галахад
гуру
20.12.11
✎
12:25
|
Предупреждение("Тута задержка...", 10) :-)
|
|||
8
xenos
20.12.11
✎
12:25
|
(5)
Чтобы увидеть результат, задержка, следующий результат. ОДновременно водводить все результаты - не подходит. |
|||
9
Лефмихалыч
20.12.11
✎
12:25
|
на люббой вкус от абрахамсА
Шел=новый COMОбъект("WScript.Shell"); Шел.run("ping -n 1 -w 2000 0.0.0.1",0,-1); Шел.run("timeout /t 2",0,-1); Шел.run("choice /t 2 /d y",0,-1); |
|||
10
Evgenchik
20.12.11
✎
12:25
|
все обычно пытаются оптимизировать код, а ты...
|
|||
11
xenos
20.12.11
✎
12:26
|
(9) А где там время?
|
|||
12
Лефмихалыч
20.12.11
✎
12:26
|
||||
13
Абирамбул
20.12.11
✎
12:26
|
(0) Можно использовать ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>)
|
|||
14
Anita_Rost
20.12.11
✎
12:26
|
||||
15
YF
20.12.11
✎
12:27
|
(1) За циклы для задержки расстреливать
|
|||
16
Evgenchik
20.12.11
✎
12:29
|
(15) я б вообще за задержку расстреливал
|
|||
17
Advan
20.12.11
✎
12:30
|
Самое простое :
Предупреждение("ждем 5 сек",5) |
|||
18
Stim213
20.12.11
✎
12:31
|
(17) на сервере?
|
|||
19
Advan
20.12.11
✎
12:31
|
(16)А детей как делать без задержки? :)
|
|||
20
Advan
20.12.11
✎
12:31
|
(18)А в (0) есть что-то про сервер?
|
|||
21
xenos
20.12.11
✎
12:32
|
(20) - нет
|
|||
22
Advan
20.12.11
✎
12:32
|
вообще правильней WShell.Sleep() - но это муторней немного.
|
|||
23
xenos
20.12.11
✎
12:32
|
(9) Так куда время ставить.
З.Ы. Задержка нужзна в милисекундах |
|||
24
Defender aka LINN
20.12.11
✎
12:33
|
(17) И кого предупреждать на сервере собрались? Серверный шкаф?
|
|||
25
Stim213
20.12.11
✎
12:33
|
хотелось бы узнать все-таки. зачем нужна задержка
|
|||
26
Mikeware
20.12.11
✎
12:33
|
Если в "цикле" "задержка" - это какгбэ намекает...
|
|||
27
Wamark
20.12.11
✎
12:34
|
я за (13) больше по теме добавить нечего. Но автор, объясни пожалуйста зачем тебе это нужно. Может это можно решить другим способом
|
|||
28
Lama12
20.12.11
✎
12:34
|
(8) Вопрос задать "Продолжить?".
Пока кнопку пользователь не нажмет, дальше не выводить. Почему именно так? Потому, что результаты нужно хоть малость проанализировать. Если анализировать данные не нужно, то можно без задержек вывести все сразу. |
|||
29
Wamark
20.12.11
✎
12:36
|
а всё, извиняюсь, увидел цель поставленной задачи)
|
|||
30
Wamark
20.12.11
✎
12:38
|
в таком случае идеально подойдёт ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>)(13)
|
|||
31
xenos
20.12.11
✎
12:56
|
(25)
Извращаюсь. Добавляем на Типовую форму Поле географической схемы, и копируем модуль: перем Схема,СлойЛиний,СлойЛиний1,СлойЛиний2,Линия1,Линия2; Процедура Лайн1(МассивХ,МассивУ,ТочкаВращенияХ,ТочкаВращенияУ,Угол) СлойЛиний1.Объекты.Очистить(); Линия1=СлойЛиний1.Объекты.Добавить(); НовыйСегмент = Линия1.Сегменты.Добавить(); Pi = 3.1415926535897932; УголРадианы=Угол*Pi/180; син=Sin(УголРадианы); кос=Cos(УголРадианы); Линия1.Видимость=Ложь; Линия1.ОтображатьДанные=Ложь; Для н=1 По 21 Цикл хН=МассивХ[н]-ТочкаВращенияХ; уН=МассивУ[н]-ТочкаВращенияУ; х=хН*кос-уН*син+ТочкаВращенияХ; у=хН*син+уН*кос+ТочкаВращенияУ; НовыйСегмент.Добавить(Новый КоординатыГеографическойСхемы(х,у)); КонецЦикла; Линия2.Видимость=Ложь; Линия2.ОтображатьДанные=Ложь; Линия1.Видимость=Истина; Линия1.ОтображатьДанные=Истина; КонецПроцедуры Процедура Лайн2(МассивХ,МассивУ,ТочкаВращенияХ,ТочкаВращенияУ,Угол) СлойЛиний2.Объекты.Очистить(); Линия2=СлойЛиний2.Объекты.Добавить(); НовыйСегмент = Линия2.Сегменты.Добавить(); Pi = 3.1415926535897932; УголРадианы=Угол*Pi/180; син=Sin(УголРадианы); кос=Cos(УголРадианы); Линия2.Видимость=Ложь; Линия2.ОтображатьДанные=Ложь; Для н=1 По 21 Цикл хН=МассивХ[н]-ТочкаВращенияХ; уН=МассивУ[н]-ТочкаВращенияУ; х=хН*кос-уН*син+ТочкаВращенияХ; у=хН*син+уН*кос+ТочкаВращенияУ; НовыйСегмент.Добавить(Новый КоординатыГеографическойСхемы(х,у)); КонецЦикла; Попытка Линия1.Видимость=Ложь; Линия1.ОтображатьДанные=Ложь; исключение КонецПопытки; Линия2.Видимость=Истина; Линия2.ОтображатьДанные=Истина; КонецПроцедуры Процедура Лайн(х1,у1,х2,у2) Линия=СлойЛиний.Объекты.Добавить(); НовыйСегмент = Линия.Сегменты.Добавить(); НовыйСегмент.Добавить(Новый КоординатыГеографическойСхемы(х1,у1)); НовыйСегмент.Добавить(Новый КоординатыГеографическойСхемы(х2,у2)); Линия.Видимость=Истина; Линия.ОтображатьДанные=Истина; КонецПроцедуры Процедура КнопкаВыполнитьНажатие(Кнопка) // Вставить содержимое обработчика. Схема=ЭлементыФормы.ПолеГеографическойСхемы1; Схема.ОбластьЛегенды.Элементы.Очистить(); Схема.Слои.Очистить(); СлойЛиний = Схема.Слои.Добавить("Линии", Тип("ПолилинейныйОбъектГеографическойСхемы")); СлойЛиний1 = Схема.Слои.Добавить("Линии1", Тип("ПолилинейныйОбъектГеографическойСхемы")); СлойЛиний2 = Схема.Слои.Добавить("Линии2", Тип("ПолилинейныйОбъектГеографическойСхемы")); СлойТочек = Схема.Слои.Добавить("Точки", Тип("ТочечныйОбъектГеографическойСхемы")); Точка = СлойТочек.Объекты.Добавить(); Точка.Координаты=Новый КоординатыГеографическойСхемы(-20,-20); Точка.Маркер= ТипМаркераГеографическойСхемы.БольшойКвадрат; Точка.Видимость=Истина; Точка.ОтображатьДанные=Истина; Точка = СлойТочек.Объекты.Добавить(); Точка.Координаты=Новый КоординатыГеографическойСхемы(20,20); Точка.Маркер= ТипМаркераГеографическойСхемы.БольшойКвадрат; Точка.Видимость=Истина; Точка.ОтображатьДанные=Истина; //СлойЛиний = Схема.Слои.Добавить("Линии", Тип("ПолилинейныйОбъектГеографическойСхемы")); // Линия=СлойЛиний.Объекты.Добавить(); // НовыйСегмент = Линия.Сегменты.Добавить(); // НовыйСегмент.Добавить(Новый КоординатыГеографическойСхемы(1,2)); // НовыйСегмент.Добавить(Новый КоординатыГеографическойСхемы(4,4)); // Линия.Видимость=Истина; // Линия.ОтображатьДанные=Истина; МассивХ=Новый Массив(22); МассивУ=Новый Массив(22); МассивХ[1]=2; МассивУ[1]=2; МассивХ[2]=8; МассивУ[2]=2; МассивХ[3]=8; МассивУ[3]=6; МассивХ[4]=10; МассивУ[4]=6; МассивХ[5]=10; МассивУ[5]=2; МассивХ[6]=12; МассивУ[6]=2; МассивХ[7]=12; МассивУ[7]=8; МассивХ[8]=8; МассивУ[8]=8; МассивХ[9]=8; МассивУ[9]=10; МассивХ[10]=12; МассивУ[10]=10; МассивХ[11]=12; МассивУ[11]=12; МассивХ[12]=6; МассивУ[12]=12; МассивХ[13]=6; МассивУ[13]=8; МассивХ[14]=4; МассивУ[14]=8; МассивХ[15]=4; МассивУ[15]=12; МассивХ[16]=2; МассивУ[16]=12; МассивХ[17]=2; МассивУ[17]=6; МассивХ[18]=6; МассивУ[18]=6; МассивХ[19]=6; МассивУ[19]=4; МассивХ[20]=2; МассивУ[20]=4; МассивХ[21]=2; МассивУ[21]=2; Задержка = 0.001; СтрокаЗапроса = "ping -n 1 -w "+Формат(1000*Задержка, "ЧЦ=6; ЧДЦ=3; ЧРД=.; ЧГ=0") +" 127.255.255.255"; WshShell = Новый COMОбъект("WScript.Shell"); Для н=0 по 359 Цикл ЕСли н/2=Цел(н/2) Тогда Лайн2(МассивХ,МассивУ,7,7,н); Иначе Лайн1(МассивХ,МассивУ,7,7,н); КонецЕсли; ТекДата = ТекущаяДата(); WshShell.Run(СтрокаЗапроса, 0, -1); КонецЦикла; //Лайн(2,2,8,2); //Лайн(8,2,8,6); //Лайн(8,6,10,6); //Лайн(10,6,10,2); //Лайн(10,2,12,2); //Лайн(12,2,12,8); //Лайн(12,8,8,8); //Лайн(8,8,8,10); //Лайн(8,10,12,10); //Лайн(12,10,12,12); //Лайн(12,12,6,12); //Лайн(6,12,6,8); //Лайн(6,8,4,8); //Лайн(4,8,4,12); //Лайн(4,12,2,12); //Лайн(2,12,2,6); //Лайн(2,6,6,6); //Лайн(6,6,6,4); //Лайн(6,4,2,4); //Лайн(2,4,2,2); КонецПроцедуры |
|||
32
Lama12
20.12.11
✎
12:58
|
(31) Блин.
Так бы и сказал, что анимацию сделать хочешь. |
|||
33
xenos
20.12.11
✎
12:58
|
Цикл лучше заменить на
Для н=0 по 59 Цикл ЕСли н/2=Цел(н/2) Тогда Лайн2(МассивХ,МассивУ,7,7,н*6); Иначе Лайн1(МассивХ,МассивУ,7,7,н*6); КонецЕсли; ТекДата = ТекущаяДата(); WshShell.Run(СтрокаЗапроса, 0, -1); КонецЦикла; |
|||
34
xenos
20.12.11
✎
12:58
|
(32) Типа того
|
|||
35
Advan
20.12.11
✎
13:05
|
(24)Смотри (20)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |