![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Системное время и работа с ним [D7, XP]
Tort © (2006-07-23 19:18:00)Добрый вечер, МАСТЕРА!
Подскажите пожалуйста такую вот вещь. Пишу прогу, но для "формальности" решил добавить немного живности - считает, сколько времени она (прога) отработала.
Вопрос: как можно к времени, например: 12:45:00 прибавить отработанные 15 минут? В итоге должно получиться 13:00:00...
Вот такая вот задумка, но пока ничего неп олучилось :(
Anatoly Podgoretsky (2006-07-23 20:31:00) [1]Belorus © (23.07.06 20:17) [14]
Это не требуется, речь о подобном может пойти только в критических приложениях, GetPerformaceCounter выдает теже тики, только минимальная величина поменьше.
Belorus (2006-07-23 20:17:00) [2]RTFM по RDTSC
KilkennyCat (2006-07-23 19:58:00) [3]> [12] Anatoly Podgoretsky © (23.07.06 19:51)
Полезная вещь!
Anatoly Podgoretsky (2006-07-23 19:51:00) [4]KilkennyCat © (23.07.06 19:49) [10]
А если вызвать GetPerformaceCounter то можно узнать и в пикосекундах
Tort (2006-07-23 19:50:00) [5]ВСЕМ ОГРОМНОЕ СПАСИБО ЗА СОВЕТЫ И ПОМОЩЬ !!!!
KilkennyCat (2006-07-23 19:49:00) [6]А еще есть такая функция, как ГетТикКоунт. Вызвав ее в начале работы один раз, в дальнейшем легко узнать, сколько программа проработала. в миллисекундах.
GetTickCount
Desdechado (2006-07-23 19:46:00) [7]> То и дело вызывать TimeToStr
Раз в 15 мин.
> каждую секунду вести такую обработку
Настроить интервал срабатывания на 15 мин. Или запомнить в переменную текущее время, а раз в секунду (например), сравнивать сохраненное с новым на предмет 15 мин разницы. Естественно, в виде TDateTime, а не строки.
Tort (2006-07-23 19:45:00) [8]Примером чего, как разделить 1 на 24*60 и затем умножить на 15 и прибавить это к начальной дате?
T := T + 1/24/60*15
Ну типа того. Вы почти угадали мои мысли :)
Спасибо! Сейчас покопаюсь в коде.
Anatoly Podgoretsky (2006-07-23 19:41:00) [9]Tort (23.07.06 19:40) [5]
Может и правильно выражаешь, но не понятно.
Tort (2006-07-23 19:40:00) [10]То и дело вызывать TimeToStr.....
Вы имеете в виду каждую секунду вести такую обработку?
Тогда как я понимаю нужнео два таймера, один на старте получает текущее время, а второй считает и прибавляет? Правильно ли я излагаю мысли?
Anatoly Podgoretsky (2006-07-23 19:40:00) [11]Примером чего, как разделить 1 на 24*60 и затем умножить на 15 и прибавить это к начальной дате?
T := T + 1/24/60*15
Desdechado (2006-07-23 19:37:00) [12]> в эту строчку (Label) прибавляется
Еще раз вызови TimeToStr
Tort (2006-07-23 19:32:00) [13]Анатолий спасибо за ответ! Я не могу понять только одного.
С помощью TimeToStr(now) я получаю время ПК. Проходит ещё 15 минут например и в эту строчку (Label) прибавляется эти 15 минут.
Прошу помочь мне хотябы маленьким примером. Я начинающий и изучаю работу с таймером.
Desdechado (2006-07-23 19:30:00) [14]Главное - не перепутать понятие длины интервала времени и отметки времени на оси.
Anatoly Podgoretsky (2006-07-23 19:26:00) [15]В сутках 24*60 минут. Дальше голая математика.