1. Акция на весь декабрь! Получай оплату х2 за уникальные статьи, объемом от 200 слов, если в заголовке темы и теле статьи присутствует слово Python
    Скрыть объявление

Datetimetosystemtime

Тема в разделе "Delphi - Система", создана пользователем Shnur, 8 ноя 2005.

Статус темы:
Закрыта.
  1. Shnur

    Shnur Гость

    Вот сижу мучаюсь, как сделать так чтобы я мог програмно поменять текущее время на машине, я так понял, что есть команда типа DateTimeToSystemTime...

    Объясните мне плз как ей пользоваться прмиер таков:

    DateTimeToSystemTime(DateTimePicker1.Time, а вот что тут делать я так и не пойму)
     
  2. Maniacosaur

    Maniacosaur Гость

    Приведенная тобой функция лишь преобразует дату из одного формата в другой.
    Тебе поможет функция API - SetSystemTime.

    А вот структура, которая передается в качестве параметра:
    Код (Text):
    _SYSTEMTIME {
     WORD wYear;
     WORD wMonth;
     WORD wDayOfWeek;
     WORD wDay;
     WORD wHour;
     WORD wMinute;
     WORD wSecond;
     WORD wMilliseconds;
    }
    Ферштейн?
     
  3. Shnur

    Shnur Гость

    Ферштейн, но появился теперя другой прикол, значит шо я делаю:

    Код (Text):
    [b]procedure TForm1.Button1Click(Sender: TObject);
    var
    systemtime:_SYSTEMTIME;
    H:TDateTime;
    begin
    H:=('2:00');
    DateTimeToSystemTime(DateTimePicker1.Time-H, systemtime);
    SetSystemTime(systemtime);
    end;[/b]
    тук вот в чем прикол, Н это часавой пояс, так вот как определить этот часовой пояс в системе, что бы не получалось ерунды, вроде ставишь 12:00 а тебе выдает 13:00 или 10:00...

    Что делать и как это исправить????
     
  4. Maniacosaur

    Maniacosaur Гость

    Чтобы не лезть в дебри попробуй следующее:
    1. Получи текущее системное время с помощью функции GetSystemTime.
    2. С помощью функций HourOf, MinuteOf, SecondOf, MilliSecondOf и тд извлеки время из DateTimePicker1.Time и присвой значения соответствующим полям в SYSTEMTIME
    3. Выполни SetSystemTime

    Пиши, если не получится, практически попробую и результат выложу
     
Статус темы:
Закрыта.

Поделиться этой страницей