IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

heure et date internet


Sujet :

Delphi

  1. #1
    Membre confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    Par défaut heure et date internet
    Bonjour,

    je souhaite récupérer les date et heure d'internet.

    j'ai testé le composant TIdSNTP de Indy 9 avec Id_IPv6
    pour la propriété IPVersion.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      Label1.Caption := DateToStr(IdSNTP1.DateTime) + ' - ' + TimeToStr(IdSNTP1.DateTime);
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      IdSNTP1.Host := 'time.windows.com';
      IdSNTP1.Port := 13;
      IdSNTP1.Active := true;
      Timer1.Enabled := true;
    end;
    Mais, rien ne s'affiche..

    merci de vos conseils

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    C'est plutôt flou comme question.
    La date et l'heure d'Internet dépend forcément du lieu depuis lequel tu consulte Internet et donc ça revient à chercher la date et l'heure locale (un simple appel à Now())

    Tu veux récupérer l'heure affichée sur un site en particulier ?

    Si ton but est de rechercher la date et l'heure UTC alors ceci devrait faire l'affaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function GetUtcDateTime: TDateTime;
    var Time : TSystemTime;
    begin
      GetSystemTime(Time);
      Result := SystemTimeToDateTime(Time); 
    end;

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 694
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 694
    Points : 13 130
    Points
    13 130
    Par défaut
    Pas de problème en IPv4 sur le port standard 123.

  4. #4
    Membre confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    Par défaut
    @popo :

    C'est plutôt flou comme question.
    oui, effectivement.
    je reformule :

    je souhaite qu'un PC se mette au jour et à l'heure automatiquement au démarrage d'une application.
    car, si l'agent change la date et l'heure de son micro le code suivant ne donne pas la date et l'heure atomique
    mais la date et heure de son micro tenant compte de sa modification.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    function GetUtcDateTime: TDateTime;
    var
      Time: TSystemTime;
    begin
      GetSystemTime(Time);
      Result := SystemTimeToDateTime(Time);
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage(DateTimeToStr(GetUtcDateTime));
    end;
     
    end.
    C'est la raison pour laquelle, je souhaite récupérer les date et heure atomiques quelque part
    ou encore pouvoir exécuter la fonction windows qui déclenche la mise à jour internet des date et heure par le serveur time.windows.com
    et l'idéal serait bien sûr lancer cette fonction dès l'instant où il y a effectivement une modification de la date.

    merci

  5. #5
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Je ne me souviens plus du nom exact du composant mais il y a un client NTP dans les composants Indy : TIdNTPClient ou un truc de ce genre. Ca permet d'interroger un service NTP (dont celui de Microsoft) pour en récupérer la date et l'heure officielles.

  6. #6
    Membre confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    Par défaut
    @pprem :

    TidSNTP

    ça ressemble à mon premier message
    non ?

  7. #7
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Citation Envoyé par cantador Voir le message
    ça ressemble à mon premier message non ?
    En effet et je ne comprends pas du tout pourquoi je n'ai pas vu les premiers échanges de cette discussion. Toutes mes excuses.

    Du coup j'ai fait quelques recherches et il est possible que le port ne soit pas le bon ou tout bêtement que time.windows.com ne le gère pas comme tu l'espérais (ou ne réponde toujours). Tu peux essayer avec pool.ntp.org que j'utilise sur mes serveurs.

    Tu auras probablement des pistes en lisant
    https://stackoverflow.com/questions/...time-in-delphi

  8. #8
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    TIdSNTP c'est ce qui remplace TIdDayTime ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  9. #9
    Membre confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    Par défaut
    @pprm :
    j'avais vu l'article de StackOverFlow.
    et j'ai testé leurs solutions
    mais rien ne fonctionne..
    il doit bien y avoir une API windows qui fait le travail avec Time.windows.com..
    merci quand même.
    cantador

  10. #10
    Membre confirmé Avatar de cantador
    Homme Profil pro
    Chef de projet
    Inscrit en
    Mars 2006
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2006
    Messages : 569
    Points : 484
    Points
    484
    Par défaut
    @ShaiLeTroll :

    ça fonctionne avec TIdDayTime
    et je n'ai pas de blocage pour l'instant..
    juste un souci, le programme ne tient pas compte du changement d'heure..

Discussions similaires

  1. petit probleme script heure et date
    Par ion dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/12/2005, 20h47
  2. [MFC] Pb avec Heure et date système
    Par spirit_1999 dans le forum MFC
    Réponses: 5
    Dernier message: 07/06/2005, 16h31
  3. Pb de recuperation heure et date systeme
    Par d.w.d dans le forum C++
    Réponses: 3
    Dernier message: 28/01/2005, 23h39
  4. Heur et date serveur sql
    Par adgabd dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 01/12/2003, 16h16
  5. Heure et Date System
    Par Lux interior dans le forum XMLRAD
    Réponses: 2
    Dernier message: 03/02/2003, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo