1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Datetimetosystemtime

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

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

    Shnur Гость

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

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

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

    Maniacosaur Гость

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

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

    Shnur Гость

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

    Код:
    [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 Гость

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

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

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