Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
15-1166630469
SteepeWolf
2006-12-20 19:01
2007.01.14
Посоветуйте книгу для начинающего пользователя ПК.


15-1166768633
Чапаев
2006-12-22 09:23
2007.01.14
Навеяно ветками про образование. "Их нравы"


2-1167021252
Руслан56
2006-12-25 07:34
2007.01.14
Составление запроса


2-1166641119
Signate
2006-12-20 21:58
2007.01.14
Манипуляции с TSocket...


1-1163803640
SkySpeed
2006-11-18 01:47
2007.01.14
Как определелить конец распечатки информации?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский