Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Компонент TNMDayTime


Пользователь технической поддержке:
- Да что же это такое?!!! Всякий раз, когда я вам звоню, мой интернет отключается!!!

Этот компонент предназначен для получения даты и времени от серверов даты и времени в интернет и интранет в соответствии со стандартом 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;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay