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

Билл Гейтс собрал Microsoft на конференцию и говорит:
- Господа, мы установили, что половина людей использующих Windows имеет возраст больше медианного! Другая потрясающая новость - это то, что другая половина людей имеет возраст ниже медианного!
- Простите, что такое медианный возраст?
- Этого мы еще не установили.

Следующие несколько строк кода позволяют установить системную дату и время без использования панели управления. Дата и время устанавливаются двумя раздельными компонентами TDateTimePicker. Дата и время декодируются и передаются в API функцию.

Из значения часа вычитается 2 для установки правильного времени.


procedure TfmTime.btnTimeClick(Sender: TObject);
var
  vsys: _SYSTEMTIME;
  vYear, vMonth, vDay, vHour, vMin, vSec, vMm: Word;
begin
  DecodeDate( Trunc(dtpDate.Date), vYear, vMonth, vDay );
  DecodeTime( dtpTime.Time, vHour, vMin, vSec, vMm );
  vMm := 0;
  vsys.wYear := vYear;
  vsys.wMonth := vMonth;
  vsys.wDay := vDay;
  vsys.wHour := ( vHour - 2 );
  vsys.wMinute := vMin;
  vsys.wSecond := vSec;
  vsys.wMilliseconds := vMm;
  vsys.wDayOfWeek := DayOfWeek( Trunc(dtpDate.Date) );
  SetSystemTime( vsys );
end;

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования