Список городов и работа с часовыми поясами, на примере VB6 (28.07.2012). Печать
2012 - Июль
28.07.2012 16:52
Save & Share

Этот список - детище меня и ещё одной очень усердной девушки, и вместе мы справились с этой рутиной.

Список был необходим для программы Яркостник, т.к. была необходимость работы с городами и с временными зонами. Первоначально он был англоязычным, пришлось сделать ещё и русский перевод. Найти список городов можно в полезных исходниках для программистов.

Теперь как с ним работать. Пробелы в роли разделителей - в большинстве случаев, сначала идет долгота, потом широта. Расчет временной зоны для конкретного города делается по формуле, связанной только с долготой:

Dim timezone_automatic as String
timezone_automatic = Form.Text_longitude.text \ 15 + Sgn(Form.Text_longitude.text) * Abs((Form.Text_longitude.text Mod 15) \ 7.5)

Часовой пояс в системе Windows можно получить следующим образом:

Dim timezone_system As String
Dim Reg As Variant
Set Reg = CreateObject("WScript.Shell")
timezone_system = Reg.RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\ActiveTimeBias")
timezone_system = -CLng(timezone_system) / 60