Советы по Delphi

       

Изменение системного времени из Delphi


Как я могу сменить системное время Windows 95 из программы, написанной на Delphi 2.0?

Вот правильное решение:

//*************************************************************************
// Функция (раздел Public) SetPCSystemTime изменяет системную дату и время.
// Параметр(ы) : tDati Новая дата и время
// Возвращаемые значения: True - успешное завершение
// False - метод несработал
//*************************************************************************
function SetPCSystemTime(tDati: TDateTime): Boolean;
var
tSetDati: TDateTime;vDatiBias: Variant;tTZI: TTimeZoneInformation;tST: TSystemTime;begin
GetTimeZoneInformation(tTZI);vDatiBias := tTZI.Bias / 1440;tSetDati := tDati + vDatiBias;with tST dobeginwYear := StrToInt(FormatDateTime('yyyy', tSetDati));wMonth := StrToInt(FormatDateTime('mm', tSetDati));wDay := StrToInt(FormatDateTime('dd', tSetDati));wHour := StrToInt(FormatDateTime('hh', tSetDati));wMinute := StrToInt(FormatDateTime('nn', tSetDati));wSecond := StrToInt(FormatDateTime('ss', tSetDati));wMilliseconds := 0;end;SetPCSystemTime := SetSystemTime(tST);end;

добавляет:

Для изменения системного времени используется сложный спобой (через строки).

DateTimeToSystemTime(tSetDati,Tst);

- работает быстрее и код короче [000017]



Содержание раздела