Компонент TNMDayTime

Материал из DRKB


Этот компонент предназначен для получения даты и времени от серверов даты и времени в интернет и интранет в соответствии со стандартом rfc 867, называемым "Протокол времени суток".

Если у вас в "подчинении" один домашний компьютер, то время на нём можно периодически подводить по своим часам - здесь точность не требуется, но если вы администратор малой или большой сети, если у вас есть многопользовательская программа, то для синхронизации времени на машинах нужно использовать некий механизм. Например, эту возможность, предоставляемую интернет.

В интернете используются 4 временных протокола. Протокол, используемый в tnmdaytime, достаточно простой и даёт время с погрешностью в 1секунду. Этому протоколу требуется наличие 32-битного стека протоколов tcp/ip (библиотеки wsock32.dll), поставляемой с операционными системами windows 95/98/nt. За протоколом даты/времени закреплён порт 13.

Перед тем как использовать этот компонент, вы должны знать имя или ip-адрес соответствующего сервера Интернет и присвоить это значение свойству host, в которое помещается имя сервера или разделённый точками ip-адрес. После того как вы сделали это и установили соединение, вам остаётся считать полученное значение из свойства daytimestr

Пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
  NMDayTime1.ReportLevel := STATUS_BASIC;
  NMDayTime1.Timeout := 30000;
  NMDayTime1.Host := Edit1.Text;
  NMDayTime1.Port := StrToInt(Edit2.Text);
  Label3.Caption := NMDayTime1.DayTimeStr;
end;


Source: http://www.goldfaq.ru
ID: 03392