AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Dialog "Zeitzone ändern" nachbauen
Thema durchsuchen
Ansicht
Themen-Optionen

Dialog "Zeitzone ändern" nachbauen

Ein Thema von TUX_der_Pinguin · begonnen am 9. Jul 2015 · letzter Beitrag vom 13. Jul 2015
Antwort Antwort
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Dialog "Zeitzone ändern" nachbauen

  Alt 11. Jul 2015, 02:17
Ich gucke es mir Montag auf der Arbeit an. Vielen Dank schon mal das du hier deine Arbeit teilst
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Dialog "Zeitzone ändern" nachbauen

  Alt 13. Jul 2015, 08:56
So es ist Montag und ich habe mir deinen Code angesehen, soweit sehr gut nur fehlt mir da immer noch die Möglichkeit zu sehen welche Zeitzone zur Zeit im System eingestellt ist. Oder bin ich so blind das ich diese Funktion nicht erkenne !?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Dialog "Zeitzone ändern" nachbauen

  Alt 13. Jul 2015, 09:08
Ich habe das nicht neu gebaut, sondern würde TTimeZone.Local aus System.DateUtils verwenden. Wenn es das bei dir noch nicht gibt, kannst du WinApi.Windows.GetDynamicTimeZoneInformation(..) verwenden.

Bei der Gelegenheit- Der TTimeZoneHelper könnte vielleicht noch Equals(..) überschreiben um zu prüfen ob zwei Zeitzonen gleich sind.
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Dialog "Zeitzone ändern" nachbauen

  Alt 13. Jul 2015, 10:33
Ich habe das nicht neu gebaut, sondern würde TTimeZone.Local aus System.DateUtils verwenden. Wenn es das bei dir noch nicht gibt, kannst du WinApi.Windows.GetDynamicTimeZoneInformation(..) verwenden.

Bei der Gelegenheit- Der TTimeZoneHelper könnte vielleicht noch Equals(..) überschreiben um zu prüfen ob zwei Zeitzonen gleich sind.
Ich habe mir mal die Testversion von Delphi XE8 heruntergeladen, jedoch ob ich das neue TTimeZone.Local.DisplayName das "ältere" GetTimeZoneInformation oder GetDynamicTimeZoneInformation verwende erhalte ich nur "Mitteleuropäische Zeit" und damit kann ich leider nichts anfangen.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Dialog "Zeitzone ändern" nachbauen

  Alt 13. Jul 2015, 11:44
Was hast du denn sonst erwartet?

Willst du den String "(UTC+01:00) Amsterdam, Berlin, Bern, Rom, Stockholm, Wien" haben?
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
609 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Dialog "Zeitzone ändern" nachbauen

  Alt 13. Jul 2015, 12:10
Was hast du denn sonst erwartet?

Willst du den String "(UTC+01:00) Amsterdam, Berlin, Bern, Rom, Stockholm, Wien" haben?
Ähm ja, wie soll man den sonst wissen welche Zeitzone aus der Liste aktuell im System eingestellt ist!?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Dialog "Zeitzone ändern" nachbauen

  Alt 13. Jul 2015, 12:50
Ich hatte anhand von StandardName verglichen und war glücklich damit.

Das hatte es nicht mehr in den Upload geschafft.
Delphi-Quellcode:
function TTimeZoneHelper.Equals(Obj: TObject): Boolean;
var
   asTimeZone: TTimeZone;
begin
   if (not (Obj is TTimeZone)) then Exit(False);
   asTimeZone := Obj as TTimeZone;

   Result := ID.Equals(asTimeZone.ID);
end;
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#8

AW: Dialog "Zeitzone ändern" nachbauen

  Alt 13. Jul 2015, 19:33
Was hast du denn sonst erwartet?

Willst du den String "(UTC+01:00) Amsterdam, Berlin, Bern, Rom, Stockholm, Wien" haben?
Ähm ja, wie soll man den sonst wissen welche Zeitzone aus der Liste aktuell im System eingestellt ist!?
Es gibt in WINDOWS seit WIN7 ein Tool: TZUTIL.exe

Windows-Zeitzonen-Hilfsprogramm

Syntax:
TZUTIL </? | /g | /s TimeZoneID[_dstoff] | /l>

Parameter:
/? Zeigt Informationen zur Syntax an.
/g Zeigt die aktuelle Zeitzonen-ID an.
/s TimeZoneID[_dstoff]
Legt die aktuelle Zeitzone unter Verwendung der angege-
benen Zeitzonen-ID fest. Mit dem Suffix "_dstoff" werden
Sommerzeitanpassungen fr die Zeitzone deaktiviert
(sofern zutreffend).
/l Führt alle gültigen Zeitzonen-IDs und Anzeigenamen auf.
Ausgabe:
<Anzeigename>
<Zeitzonen-ID>

Beispiele:
TZUTIL /g
TZUTIL /s "Pacific Standard Time"
TZUTIL /s "Pacific Standard Time_dstoff"

Anmerkungen:
Durch den Beendigungscode "0" wird angegeben, dass der
Befehl erfolgreich ausgeführt wurde.

Beispiel:
tzutil /l >F:/timezones.txt
schreibt alle gültigen Zeitzonen-IDs und Anzeigenamen in ein File.

Geändert von hathor (13. Jul 2015 um 19:51 Uhr)
  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 21:49 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