Текущий архив: 2007.01.14;
Скачать: CL | DM;
Вниз
Как задать время выполнения процедуры? Найти похожие ветки
← →
YuMB (2006-12-20 18:14) [0]Есть массив, содержащий временные интервалы (пусть будет в мс).
Есть процедура, которую надо запускать на определенное время.
Как осуществить повторяющееся выполнение процедуры с временами из массива?
С таймером возился, пока не получилось.
← →
alex_*** © (2006-12-20 18:34) [1]выполнение асинхронно? и надо ли делать что процессу между запусками (в лоб - можно в sleep уходить)
← →
Desdechado © (2006-12-20 18:34) [2]как возился?
что значит "запускать на определенное время"? на 5 минут, а потом рубить?
← →
trubin © (2006-12-20 18:37) [3]
> Есть процедура, которую надо запускать на определенное время.
Не понятно, процедура должна периодически вызываться в течении промежитка времени указанного в очередном элементе массива? Если да, то через какой интервал?
← →
alex_*** © (2006-12-20 18:55) [4]интервал в массиве
← →
YuMB (2006-12-21 09:17) [5]Процедура должна выполнятся несколько раз, время работы процедуры и параметры в массиве.
Сделал. Алгоритм такой (если кого интересует) :
В событие таймера помещаем процедуру смены параметров,
которая делает:
- стоп основной процедуры,
- стоп таймер,
- читает следующую строку массива,
- задание времени таймера,
- задание параметров основной процедуры,
- пуск основной процедуры,
- пуск таймера.
← →
Сергей М. © (2006-12-21 09:28) [6]
> стоп основной процедуры
Из всего описанного тобой вот это наиболее интересно.
Соблаговоли поведать общественности как это тобой реализовано ?
← →
iXT © (2006-12-21 09:35) [7]for i:=0 to "несколько раз" - 1 do
begin
TimeStart:= Now;
while Now - TimeStart < x do
begin
{Procedure text}
end;
Sleep(n);
end;
← →
alex_*** © (2006-12-21 10:53) [8]я бы запустил отдельный поток, который бы висел в sleep, а после отсылал сообщение на запуск процедуры, потом опять уходил в sleep со след. интервалом.
а мне непонятно вот это:
> время работы процедуры и параметры в массиве
как можно задать время работы процедуры. Она ничего не делает?
← →
Desdechado © (2006-12-21 10:57) [9]> время работы процедуры
Это сколько она должна работать? Т.е. должна работать, например, 5 минут, после этого завершаться? Или что?
← →
YuMB (2006-12-21 11:12) [10]Прошу меня извинить, за неточность.
В качестве "основной процедуры" выступает внешний прибор.
- стоп внешнего прибора,
- стоп таймер,
- читает следующую строку массива,
- задание времени таймера,
- задание параметров внешнего прибора,
- пуск внешнего прибора,
- пуск таймера.
Но процедура в этом цикле тоже будет нужна.
Может реализовать её внешней программой?
← →
YuMB (2006-12-21 11:31) [11]Придется наверное делать разные потоки.
← →
Anatoly Podgoretsky © (2006-12-21 12:14) [12]> YuMB (21.12.2006 11:12:10) [10]
Ну насчет Стоп основной процедуры ты наконец объянился, а то я чуть не свихнулся, пытаясь понять это, но зато теперь опять проблема с головой, что же это такое -
> Но процедура в этом цикле тоже будет нужна.
> Может реализовать её внешней программой?
Неисповедимы пути твои господни.
← →
YuMB (2006-12-21 12:23) [13]
> Неисповедимы пути твои господни.
Очень полезный совет начинающему.
Не ломай голову, сам разберусь.
← →
Anatoly Podgoretsky © (2006-12-21 12:34) [14]> YuMB (21.12.2006 12:23:13) [13]
> Не ломай голову, сам разберусь.
Да так и придется поступить, а то жалко самого себя любимого и других тоже.
Помощь то конечно не нужна, только поговорить.
← →
Amoeba © (2006-12-21 15:13) [15]
> YuMB (21.12.06 11:12) [10]
> Прошу меня извинить, за неточность.
> В качестве "основной процедуры" выступает внешний прибор.
>
Ничего себе "неточность"!
Страницы: 1 вся ветка
Текущий архив: 2007.01.14;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.042 c