Как установить системную дату и время программно
|
Билл Гейтс собрал 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;
|
|