AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeitzonen auflisten

Ein Thema von Baeuerle · begonnen am 28. Sep 2005 · letzter Beitrag vom 29. Sep 2005
Antwort Antwort
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#1

Zeitzonen auflisten

  Alt 28. Sep 2005, 15:01
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 !!
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Zeitzonen auflisten

  Alt 28. Sep 2005, 15:17
Zitat von Baeuerle:
... verfügbaren Zeitzonen auslesen kann? ...
Hai Bauerle,

was verstehst Du denn unter den "verfügbaren Zeitzonen"?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Zeitzonen auflisten

  Alt 28. Sep 2005, 15:20
Die Zeitzonen die in Windows auswählbar sind.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Zeitzonen auflisten

  Alt 28. Sep 2005, 16:18
Zitat von Baeuerle:
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 !!
Unter NT, 2000, XP, 2003: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
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.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Zeitzonen auflisten

  Alt 28. Sep 2005, 16:27
Hi,

passenden code gibt es hier: klick. Die Weiche für Windows/WindowsNT muss noch eingebaut werden.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Zeitzonen auflisten

  Alt 28. Sep 2005, 17:10
Zitat von marabu:
Hi,

passenden code gibt es hier: klick. Die Weiche für Windows/WindowsNT muss noch eingebaut werden.

Grüße vom marabu
Und hier noch ein Code, der die wirklich wichtigen Dinge (nämlich Bias in Minuten) auflistet:
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;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Baeuerle

Registriert seit: 17. Mär 2005
Ort: Ettenheim
283 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Zeitzonen auflisten

  Alt 29. Sep 2005, 06:56
Herzlichen dank,

das ist genau das was ich gesucht habe!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz