Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.01.25;
Скачать: [xml.tar.bz2];

Вниз

Отслеживание ситемного времени.   Найти похожие ветки 

 
Андрей (Начинающий)   (2008-12-11 15:33) [0]

Как в приложении организовать проверку наступления определенной даты/времени?
Количество контрольных точек заранее неизвестно.
Пример:
- сегодня мне захотелось, чтобы завтра в 15.00, 18.00 мое приложение в это время сделало ...
- через час к этому добавилась еще одна контрольная точка в 17.00
- на след. день нужно ...
- ...
Органайзер одним словом :)


 
charoey_mag   (2008-12-11 15:38) [1]

TTimer?


 
Ega23 ©   (2008-12-11 15:46) [2]

1. Иметь список пар "время - действие".
2. Иметь таймер с интервалом (ну, например, секунда. Или 10 секунд.)

В обработчике таймера:
var
 i : Integer;
begin
 for i:= TaskList.Count-1 downto 0 do
 begin
   if TaskList[i].TaskDateTime<=Now then
   begin
     DoAction(TaskList[i].Action) ;
     TaskList.Delete(i);
   end;
 end;
end;


 
Андрей (Начинающий)   (2008-12-11 15:59) [3]


> Ega23

спасибо


 
Юрий Зотов ©   (2008-12-12 15:43) [4]

1. Иметь ОТСОРТИРОВАННЫЙ по времени список пар "время - действие".

2. Иметь таймер вообще без всякого интервала

3. При старте программы таймеру устанавливается интервал, равный времени первого действия минус текущее время.

4. При выполнении каждого действия таймеру устанавливается интервал, равный времени следующего действия минус текущее время.

=====================

И тогда таймер не будет тикать зря.


 
Андрей (Начинающий)   (2008-12-12 17:10) [5]


> И тогда таймер не будет тикать зря.

А чем плохо бесполезное тикание?


 
Сергей М. ©   (2008-12-12 17:19) [6]


> Андрей (Начинающий)   (12.12.08 17:10) [5]


Тик таймера требует доп.кванты времени, которые сист.планировщик обязан выделить кодовому потоку, обрабатывающему соотв.сообщение таймера.
Значит, другие кодовые потоки в системе недополучат эти временные кванты и будут выполнять возложенные на них функции менее эффективнго с т.з. производительности.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.01.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
3-1213691445
Ega23
2008-06-17 12:30
2009.01.25
Передача Null через параметры


2-1228771391
cruiser
2008-12-09 00:23
2009.01.25
Как создать компонент в D2009?


15-1227987724
isasa
2008-11-29 22:42
2009.01.25
Свободные (шаровые) DNS сервера.


2-1228391201
aglar
2008-12-04 14:46
2009.01.25
Формат даты


1-1206970814
Дмитрий Белькевич
2008-03-31 17:40
2009.01.25
Настраиваемая транслитерация





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский