Как я могу сменить системное время 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 do
begin
wYear := 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);
|
- работает быстрее и код короче |