Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Системное время и работа с ним [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 минут. Дальше голая математика.


Наверх

Титульная страница Поиск, карта сайта Написать письмо