Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.07.2012, 05:40   #1
HellMercenariess
Форумчанин
 
Аватар для HellMercenariess
 
Регистрация: 27.07.2009
Сообщений: 547
По умолчанию Элегантно реализовать задержку

Есть необходимость вносить изменения в текстовый файл, но оказалась маленькая проблемка в том что малоизвестная мне процедура(мониторинг изменений в файлах и папках) срабатывает несколько раз примерно по (6-8),чтобы не дёргать файл 8 раз на секунду, придумал такую задержку:
Код:
Delai:=13;     //ставлю задержку.
Timer1.Enabled:=true;
Код:
  if delai>0 then
 dec(delai) else
     begin
   SaveMDT(ix);           // запись в файл.
   Timer1.Enabled:=false; // остановка таймера.
     end;
По моей задумке не первое срабатывание только устанавливает задержку наново. Ошибок никаких нет, но меня гложет то что такой механизм задержки не слишком элегантен.

А как вы боретесь с излишне-частым перезаписыванием файлов?
"Виновник этого парада,он не дурак, ушел как надо!" Похороны панка.

Последний раз редактировалось HellMercenariess; 20.07.2012 в 13:07. Причина: ,
HellMercenariess вне форума Ответить с цитированием
Старый 20.07.2012, 07:22   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А как вы боретесь с излишне-частым перезаписыванием файлов?
1) Пихаю процедуру логирования только в том месте, где требуется.
2) Не пишу в файл сразу, а храню логи в неком списке, который скажем раз в час выгружается дописывая файл и очищается для нового наполнения.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.07.2012, 08:02   #3
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
2) Не пишу в файл сразу, а храню логи в неком списке, который скажем раз в час выгружается дописывая файл и очищается для нового наполнения.
Я бы добавил "либо при заполнении буфера". Лог ведь не обязан сохранять примерно одинаковый темп пополнения в течение длительного времени.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как реализовать задержку в визуальной программе?? RegediK Общие вопросы C/C++ 2 16.02.2012 01:40
Как убрать задержку после нажатия на клавишу liquidon Общие вопросы Delphi 7 24.01.2012 11:11
Расчитать задержку (PIC) dimkoo Помощь студентам 1 27.12.2011 00:12
как сделать задержку вывода изображения pupilMartyr Общие вопросы Delphi 9 03.05.2011 21:57
Как организовать задержку выполнения?? Kenifer Общие вопросы Delphi 12 03.09.2007 21:56