![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Snake_B |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 72 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не могу разобраться как считать из реестра даные часовых поясов о датах перехода на летнее/зимнее время.
Хранятся тут: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\ Параметр TZI, в reg_binary... ![]() |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Snake_B, зачем тебе реестр? Вызывай GetTimeZoneInformation Function, и смотри в полученной структуре поле DaylightDate (там будет дата перехода на летнее время для твоего часового пояса) и StandardDate (дата перехода от летнего назад к зимнему)...
|
Snake_B |
![]()
Сообщение
#3
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 72 Пол: Мужской Репутация: ![]() ![]() ![]() |
Snake_B, зачем тебе реестр? Вызывай GetTimeZoneInformation Function, и смотри в полученной структуре поле DaylightDate (там будет дата перехода на летнее время для твоего часового пояса) и StandardDate (дата перехода от летнего назад к зимнему)... такой вот вопрос... собственно имеем системное время и дату (не сегодняшние), надо посчитать сколько в это время будет в гринвиче... брать данные из реестра нельзя (вин 6-7 хранит эту информацию в другой ветке, даже не знаю где, но она и не нужна), можно вот этим получить - GetTimeZoneInformation Function... но тут что всплывает, для некоторых часовых поясов есть "Dynamic DST", т.е. переход на летнее/зимнее время происходит в разные дни каждый год... в win 6 добавили функцию "GetDynamicTimeZoneInformation Function"... Minimum supported client Windows Vista Minimum supported server Windows Server 2008 Header Winbase.h (include Windows.h) Library Kernel32.lib DLL Kernel32.dll но мой делфи об этом не знает... как её подключить (тогда наверно можно будет сделать так - в 2k и XP считывать из реестра, а в висте и выше этой функцией) ? или может кто знает более простой способ... а то у меня уже скоро мозг закипит ![]() п.с. и может кто-нибудь подскажет по какому адресу в висте и 7-ке хранятся данные часовых поясов, которые раньше были тут - "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\"? я как бы сделал ini-файлы с этой информацией, но по хорошему лучше бы из реестра брать... Сообщение отредактировано: Snake_B - 1.09.2010 23:50 |
![]() ![]() |
![]() |
Текстовая версия | 25.06.2025 6:45 |