Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MODIFIER L'HORLOGE DU SYSTÈME D'EXPLOITATION


Information sur la source

Catégorie :Date & Heure Classé sous : heure, date, horloge, système, exploitation Niveau : Débutant Date de création : 18/08/2005 Date de mise à jour : 17/12/2005 15:56:08 Vu : 10 888

Note :
Aucune note

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

Description

Changer l'heure de l'OS... mais sous Windows NT, il faudra ajuster les "Token Privileges".

Restrictions évidentes sur les dates :
1) Année entre 1 et 9999
2) Mois entre 1 et 12
3) Jour entre 1 et 31 (attention au mois sélectionné)
4) Heure entre 0 et 23
5) Minute entre 0 et 59
6) Seconde entre 0 et 59

Si vous faites des erreurs, une exception EConvertError sera générée.
S'il n'y a pas d'erreurs, la fonction SetLocalTime se déclenchera sans problème.

Contenu: TDateTime, TSystemTime, EncodeDate, EncodeTime, DateTimeToSystemTime, SetLocalTime
 

Source

  • program ChangeurDate;
  • uses Windows, SysUtils;
  • var GDT : TDateTime;
  • SyT : TSystemTime;
  • begin
  • GDT:=EncodeDate(Annee,Mois,Jour) + EncodeTime(Heure,Minute,Seconde,MilliSeconde);
  • DateTimeToSystemTime(GDT,SyT);
  • SetLocalTime(SyT);
  • end.
program ChangeurDate;
uses Windows, SysUtils;
var GDT : TDateTime;
    SyT : TSystemTime;
begin
  GDT:=EncodeDate(Annee,Mois,Jour) + EncodeTime(Heure,Minute,Seconde,MilliSeconde);
  DateTimeToSystemTime(GDT,SyT);
  SetLocalTime(SyT);
end.

Conclusion

Vous pouvez toujours aller visiter http://altert.family.free.fr/
 

Historique

19 août 2005 13:42:31 :
- Y'a pas de forçage possible.
17 décembre 2005 15:56:08 :
- Mise à jour des mots clé

Commentaires et avis

signaler à un administrateur
Commentaire de hurrycane le 18/08/2005 12:23:54

salut vizir
quel sera le risque probable si on force la date incorrecte
yaura il des retombées matérielles ? car jai envie d'essayer

signaler à un administrateur
Commentaire de BruNews le 19/08/2005 14:10:03 administrateur CS

Aucun risque,

SetSystemTime et SetLocalTime appellent RtlTimeFieldsToTime en interne pour vérifier la validité de ce qui est envoyé.

signaler à un administrateur
Commentaire de grandvizir le 20/08/2005 11:26:36

Merci BruNews de l'intervention. J'ai vérifié de mon côté, et le paramétrage de SetFileTime et SetLocalTime est différent. La structure du paramètre est d'un côté un entier Hi-Lo et de l'autre une structure AMJ-HMSM. Si je ne me trompe pas, RtlTimeFieldsToTime serait l'équivalent du DateTimeToSystemTime du Delphi avant d'appeler SetLocalTime. Mais alors, pourquoi SetFileTime ne fait aucune vérification de dernière minute sur la date entière, car les deux fonctions fonctionnent sont assez similaires en plus ?

signaler à un administrateur
Commentaire de BruNews le 20/08/2005 11:44:24 administrateur CS

Parce que SetFileTime ne met pas en jeu la sécurité du système donc il adapte au mieux qu'il peut et le reste est de la responsabilité du développeur.

signaler à un administrateur
Commentaire de akina le 21/08/2005 21:35:00

Sinon y'a plus simple... ta une commande du shell "time xxxxxx" qui permet de modifier l'heure;..et pour la date c'est tout simplement "date xxxxx"...comment faire plus simple;..?

signaler à un administrateur
Commentaire de BruNews le 21/08/2005 22:48:53 administrateur CS

Simplicité et performance vont rarement de paire. Le shell doit parser la chaine avant de savoir ce qu'il convient de faire et ensuite appellera l'API à son tour, rien que des cycles perdus, autant l'appeler directement.

signaler à un administrateur
Commentaire de tealcus le 24/06/2006 13:04:14

désolé de paraitre pour un noob mais comment on fait pour changer l'heure ?? il n'y a rien!!!

signaler à un administrateur
Commentaire de totalsigne le 07/10/2007 02:18:58

procedure TForm1.Button1Click(Sender: TObject);
var GDT : TDateTime;
    SyT : TSystemTime;
    annee,mois,jour,heure,minute,seconde,milliseconde:word;
begin
  annee:=2007;mois:=11;jour:=15;heure:=11; minute:=12;seconde:=11;milliseconde:=12;
  GDT:=EncodeDate(Annee,Mois,Jour) + EncodeTime(Heure,Minute,Seconde,MilliSeconde);
  DateTimeToSystemTime(GDT,SyT);
  SetLocalTime(SyT);
end;

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

date et heure d'un fichier [ par JCLK ] salut à tousJe voudrais savoir comment récupérer la date et l'heure de modification d'un fichier.merci beaucoup Gestion l'heure et date en client et serverur [ par scorpion103 ] Salut!!J?aimerais savoir comment travailler avec NMTime NMDayTime pour connaître l?heure et la date sur mon serveur et pour synchronisé (heure, da prob de conversion de date [ par patof ] je voudrai mettre a jour l heure du pc avec l heure du serveur intranet, mais ce que je récupère est une string de la forme : "Monday, April 14, 2003 datetime et sybase [ par ohmonbateau ] bonjour, j'essaie de transférer une date(format datetime) d'une db sybase ASE vers un champ datetime d'une db Sybase ASA. J'utilise ADO et je travail Le bureau de windows [ par norton ] Bonsoir a tous ...J'avais vu dans labo(projets communs) que des presonnes avait essayer de faire un système d'exploitation.Moi j'aimerais savoir comme DateTimePicker [ par selma-elec ] Bonjour,je voudrais abec un DateTimePicker pouvoir saisir une date ansi que l'heure.J'ai bien mis KIND = DTKTimeet Format = dd/MM/yyyy hh:mm.Pas de pr delphi&access [ par tchen ] Salut, j'ai une merde.. J'ai dans un dblookupcombobox qui contient la liste de medecin et un composant DTpicker pour la date, le but c'est d'afficher Plannifier une action de mon application [ par josserand ] Bonjour !!J'ai besoin de votre aide :Je dois envoyer un mail à une date et heure donnée.Donc mon application est lancée, date et heure d'envoie saisie date et heure [ par guigui265 ] bonjourJe voudrait savoir comment afficher dans un label la date et l'heure en temps réel.merci DateToStr [ par mathieu57100 ] bonjour, dans mon appli, j'envoie un email (avec IdMessage et IdSMTP) dans lequel je veux afficher la date et l'heure...IdMessage.Body.Add('Le ' + Dat


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.