Einzelnen Beitrag anzeigen

TUX_der_Pinguin

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

AW: Dialog "Zeitzone ändern" nachbauen

  Alt 13. Jul 2015, 13:52
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;
Ich habe mal versucht die Funktion in die Datei "Helper.System.DateUtils.TimeZone.pas" einzubauen ...
Delphi-Quellcode:
   TTimeZoneHelper = class helper for System.DateUtils.TTimeZone
      protected const
         registryBasePath   = 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones';
         expectedResFile      = 'tzres.dll';
      protected
         class function CreateFromRegistry(
            const   registry:   TRegistry;
            const   fetcher:   TResourceStringFetcher;
            const   keyName:   String
         ): TPair<TDynamicTimeZoneInformation, String>;
         /// <summary>
         /// Sortiert absteigend nach UTC-Bias. Von Greenwhich ausgehend
         /// also von West nach Ost.
         /// </summary>
         class procedure MakeSorted(var items: TArray<TTimeZone>);
         class function GetNamedSystemZones(): TDictionary<TDynamicTimeZoneInformation, String>; virtual;
      public
         class function GetZones(): TArray<TTimeZone>;
         class procedure SetLocalTimeZone(const value: TTimeZone); static;
      class function Equals(Obj: TObject): Boolean;
   end;
... der compiler meckert aber das er mit "ID.Equals()" nichts anfangen kann.
Delphi-Quellcode:
class 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;
Aber naja was solls, es scheint ja irgendwie doch nicht so zu funktionieren wie ich mir das gedacht habe. Ich werde das dann wohl auf unbestimmte Zeit verschieben oder gleich ganz lassen.

Vielen vielen dank Günther für deine mühen und deine Geduld
  Mit Zitat antworten Zitat