Можно получить через реест, но я пока не понимаю как вытянуть числовое значение оттуда. И это очередная привязка к Windows.
- Код: Выделить всё
{$IFDEF WINDOWS}
cbTimeList.Clear;
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false;
r:=reg.OpenKeyReadOnly('SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones');
if r and reg.HasSubKeys then
begin
ts := TStringList.Create;
reg.GetKeyNames(ts);
reg.CloseKey;
for i := 0 to ts.Count -1 do
begin
reg.OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\' + ts.Strings[i], false);
//sTmp:=ts.Strings[i]+' - '+reg.ReadString('Display')+' - '+reg.ReadString('Std')+' - '+reg.ReadString('Dlt');
sTmp:=reg.ReadString('Display');
sTmp:=WinCPToUTF8(sTmp);
cbTimeList.Items.Add(sTmp);
reg.CloseKey;
end;
ts.Free;
end
else
reg.CloseKey;
reg.free;
{$ELSE}
cbTimeList.Clear;
{$ENDIF}