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