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

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

Часы [D6, Win95/98, WinME, NT4, Win2k, WinXP]


REA ©   (2002-09-12 17:34:00) 

Задача: синхронизировать таймера компьютера и некого устройства.
Вопрос: как получить текущее время в Win32 (желательно с миллисекундами или дождаться перехода через секунду)? Стандартная функция Time aka GetSystemTime()возвращает то время, которое в правом углу, а не то, которое в CMOS. Под WinXP к порту CMOS не добраться. Драйвер часов писать не охота :)


REA   (2002-09-12 18:18:00) [1]

Я подозреваю что нигде она его потом и не берет. После суток работы в W98 расхождение уже приличное.
А как декодировать я уж и сам бы разобрался.


Евген   (2002-09-12 18:01:00) [2]

P.S. А декодировать время можно так:
...
Hour, Min, Sec, MSec :Word;
...

procedure TForm1.Timer1Timer(Sender: TObject);
begin
DecodeTime(Time, Hour, Min, Sec, MSec);
end;


Евген   (2002-09-12 17:56:00) [3]

А ты считаешь, что время в CMOS и время винды отличаеться?
Тогда попробуй при загрузке поменять время в CMOS скажем на час вперед и посмотри какое время будет в винде. Можешь и наоборот попробовать.
Сей незатейливый эксперемент показывает синхронность времени CMOS и винды, а иначе где бы винда брала время после загрузки?


Наверх

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