Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUMS DELPHI F.A.Q DELPHI TUTORIELS DELPHI LIVRES COMPOSANTS SOURCES DEFI TELECHARGEZ DELPHI TV
Nono40.developpez.com
Le petit coin du web de Nono40
SOURCES ARTICLES NONOVISU ACCUEIL NOUVELLES
Retour à l'accueil
1 - MISE A L'HEURE

PRÉSENTATION : Ce source présente une fonction simple de mise à l'heure du PC à partir d'une application Delphi. Elle utilise la fonction API SetSystemTime, l'heure passée en paramètre de cette fonction doit être celle de Greenwich. Elle est donc corrigée à l'aide de la fonction API GetTimeZoneInformation afin de déterminer le décalage horaire dû au fuseau, et le décalage dû à la période été/hiver.
ZIP : Téléchargez le zip : miroir 1 , miroir 2 APERÇUS :

NOTES :

CODE :
Function MiseHeure(DateHeure:TDateTime):Boolean;
Var Infos  :TSystemTime;
    Zone   :TTimeZoneInformation;
    Retour :Integer;
Begin
  // La mise à l'heure de windows est toujours effectuée en heure absolue.
  // Il faut donc lire le décalage horaire par rapport à Greenwich puis
  // tenir compte du décalage dû à l'heure d'été.

  // Recherche des informations sur les décalages locaux
  Result:=False;
  Retour:=GetTimeZoneInformation(Zone);
  // DateHeure étant en heure locale => ajout des décalages pour obtenir l'heure absolue
  Case Retour Of
    TIME_ZONE_ID_UNKNOWN  : DateHeure:=DateHeure+( Zone.Bias                   /(24*60));
    TIME_ZONE_ID_STANDARD : DateHeure:=DateHeure+((Zone.Bias+Zone.StandardBias)/(24*60));
    TIME_ZONE_ID_DAYLIGHT : DateHeure:=DateHeure+((Zone.Bias+Zone.DaylightBias)/(24*60));
  Else
    Exit;
  End;
  // Ensuite, mise à l'heure du Pc
  // Attention sous windows NT/2000/XP l'utilisateur doit avoir les droits
  // suffisants pour que ça fonctionne !
  Infos.wYear         :=YearOf        (DateHeure);
  Infos.wMonth        :=MonthOf       (DateHeure);
  Infos.wDayOfWeek    :=DayOfWeek     (DateHeure);
  Infos.wDay          :=DayOf         (DateHeure);
  Infos.wHour         :=HourOf        (DateHeure);
  Infos.wMinute       :=MinuteOf      (DateHeure);
  Infos.wSecond       :=SecondOf      (DateHeure);
  Infos.wMilliseconds :=MillisecondOf (DateHeure);
  Result:=SetSystemTime(Infos);
End;

Les sources présentées sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright © 2003 Bruno Guérangé. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Responsables bénévoles de la rubrique Delphi : Nono40 et Pedro - Contacter par EMail :
Vos questions techniques : forum d'entraide Delphi - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.