![]() |
Zeitzonen auflisten
Hi,
kann mir jemand sagen wie ich die unterschiedlichen, verfügbaren Zeitzonen auslesen kann? Mit dem entsprechenden Offset? Möchte eine ComboBox entwickeln bei der man die Zeitzone auswählen kann. Ich benötige die genaue Interpretation der einzelnen Registry werte. Danke im voraus Baeuerle Ach ja das ganze soll von 95 bis XP laufen !! |
Re: Zeitzonen auflisten
Zitat:
was verstehst Du denn unter den "verfügbaren Zeitzonen"? |
Re: Zeitzonen auflisten
Die Zeitzonen die in Windows auswählbar sind.
|
Re: Zeitzonen auflisten
Zitat:
Unter W9x: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Time Zones Die Werte sind selbsterklärend, bis auf TZI: LONG Bias; LONG StandardBias; LONG DaylightBias; SYSTEMTIME StandardDate; SYSTEMTIME DaylightDate; Das kannst Du dann in eine TIME_ZONE_INFORMATION schieben. |
Re: Zeitzonen auflisten
Hi,
passenden code gibt es hier: ![]() Grüße vom marabu |
Re: Zeitzonen auflisten
Zitat:
procedure TForm1.Button1Click(Sender: TObject);
Delphi-Quellcode:
type
TTZI = record Bias : Longint; Standardbias : Longint; Daylightbias : Longint; Standarddate : TSystemTime; daylightDate : TSystemTime; end; var TZI : TTZI; reg : TRegistry; Names : TStringList; i : integer; BaseKey : string; begin Reg := TRegistry.Create(KEY_READ); Names := TStringList.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; BaseKey := 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones'; Reg.OpenKey(BaseKey, false); Reg.GetKeyNames(Names); Reg.CloseKey; FillMemory(@TZI, sizeof(TZI), 0); StringGrid1.RowCount := 2; StringGrid1.RowCount := 2; StringGrid1.ColCount := 5; StringGrid1.FixedRows := 1; for i := 0 to Names.Count -1 do begin Reg.OpenKey(BaseKey+'\'+Names.Strings[i], false); Reg.ReadBinaryData('TZI', TZI, sizeof(TZI)); if i > 0 then StringGrid1.Rowcount := StringGrid1.RowCount+1; StringGrid1.Cells[0,StringGrid1.RowCount-1] := Names.Strings[i]; StringGrid1.Cells[1,StringGrid1.RowCount-1] := Reg.ReadString('Display'); StringGrid1.Cells[2,StringGrid1.RowCount-1] := IntToStr(TZI.Bias); StringGrid1.Cells[3,StringGrid1.RowCount-1] := IntToStr(TZI.StandardBias); StringGrid1.Cells[4,StringGrid1.RowCount-1] := IntToStr(TZI.DayLightBias); Reg.CloseKey; end; Reg.CloseKey; finally Names.Free; Reg.Free; end; end; |
Re: Zeitzonen auflisten
Herzlichen dank,
das ist genau das was ich gesucht habe! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz