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

VB.NET Discussion :

[VB.NET 2005] Créer compteur Mois, jours, heures, minutes, secondes


Sujet :

VB.NET

  1. #1
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut [VB.NET 2005] Créer compteur Mois, jours, heures, minutes, secondes
    Bonjour,

    Je voudrais créer un compteur sous la forme : 00m:00j:00h:00min:00s et l'incrémenter au cours du temps.

    Pouriez vous me dir quelle fonction utiliser dans vs.net ?

    Merci
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Pourquoi pas un timer qui s'exécutera toutes les secondes ?
    Jérôme Lambert
    Développeur, Architecte, Rédacteur & Fan technologies Microsoft
    Ma boite informatique | Mon profil LinkedIn

  3. #3
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    oui j'y avais pensé mais comment créer le compteur avec les mois, jours, minutes et secodes ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  4. #4
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Faire un compteur sous forme de Jours, Heures, Minutes, Secondes écoulés, c'est pas compliqué. L'ennui est le Mois et l'Année... Comment veux-tu te baser sur ces 2 informations en plus ? Les mois n'ont pas le même nombre de jours et les années non plus. A moins que tu décides qu'un Mois vaut 30 jours (d'office l'année vaudra 360 jours). Dans ce cas, tu pourras calculer le Mois et l'Année en fonction du nombre de jours écoulés.


    Maintenant, pour calculer le nombre de Jours, Heures, Minutes et Secondes écoulés, rien de plus simple.
    Juste avant de lancer ton timer, tu mémorises en global la date/heure courante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime debutCompteur = DateTime.Now;
    Ensuite, à chaque fois que ton Timer se déclenche (toutes les secondes), il te suffit de faire un petit calcul qui va faire la différence entre le temps courant et le temps que tu as mémorisé au démarrage de ton timer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TimeSpan TempsEcoule = Datetime.Now - debutCompteur;
    Tu as donc dans l'objet TempsEcoule Seconds, Minutes, Hours et Days résultant de la différence de temps écoulé.
    Jérôme Lambert
    Développeur, Architecte, Rédacteur & Fan technologies Microsoft
    Ma boite informatique | Mon profil LinkedIn

  5. #5
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    merci bcp ca marche deja pour les jours mais effectivement il y a un probleme pour les mois et l'année...

    En attendant une solution je me contenterais de cela ! Merci
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  6. #6
    Membre chevronné
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Novembre 2004
    Messages
    1 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 284
    Points : 2 160
    Points
    2 160
    Par défaut
    Bonjour quand je regarde la MSDN sur al fonction DateTime je vois qu'elle a un constructeur qui prend en compte l'année et le Mois.

    Une fois que tu fait ta différence entre les deux DateTime cela te renvoie un TimeSpan.

    Tu récupère la propriété Ticks de ton TimeSpan que tu passe en argument au constructeur de DateTime et tu récupère l'année et le mois.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DateTime debutCompteur = DateTime.Now;
    TimeSpan TempsEcoule = Datetime.Now - debutCompteur;
    DateTime diff = new DateTime(TempsEcoule.Ticks); // D'après la MSDN
    // Après tu utilise diff.Month et diff.Year
    Ce code est écrit en C# je ne m'y connaît pas assez pour te l'écrire directement en VB. Je ne l'ai pas testé mais cela devrait marcher.

    Tient nous au courant,

    ++ Nexus

  7. #7
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Dim tpsecoule As TimeSpan = Date.Now - AAA
            Dim diff As DateTime = New DateTime(tpsecoule.Ticks)
            Label1.Text = diff.Year & ":" & diff.Month & ":" & diff.Day & ":" & diff.Hour & ":" & diff.Minute & ":" & diff.Second
    Alors en fait c'est bizarre pour le mois et l'année bah j'ai "1" et pour le reste ca marche :

    Je m'explique :

    Je récuperer dans le label : "1:1:0:0:0:0" et puis cela s'incrémente bien au cours du temps avec le timer mais la valeur de year et month est égale à 1 au lieu de 0 !!

    Thanks
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  8. #8
    Membre chevronné
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Novembre 2004
    Messages
    1 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 284
    Points : 2 160
    Points
    2 160
    Par défaut
    As tu essayé d'initialiser au départ toutes les valeurs à zéro ?

  9. #9
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Tu peux faite un DateTime.Add(1/(3600*24)) aussi... Là tu auras la prise en compte du mois et de l'année

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  10. #10
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    j'ai pas compris ton truc avec datetime.add ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  11. #11
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Euh, je pense qu'il existe AddSeconds() aussi maintenant que j'explique le bazar

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  12. #12
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    oui mais je vois pas le rapport avec le probleme ?
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  13. #13
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Citation Envoyé par A&Nexus
    As tu essayé d'initialiser au départ toutes les valeurs à zéro ?
    Tu ne peux pas initialiser la date à 0, il n'ya pas un mois 00 et une année 0000

    Citation Envoyé par Aspic
    Je récuperer dans le label : "1:1:0:0:0:0" et puis cela s'incrémente bien au cours du temps avec le timer mais la valeur de year et month est égale à 1 au lieu de 0 !!
    C'est normal, le premier mois c'est janvier ==> 01 et la premiere année c'est 0001. Il faut gerer la difference manuellement
    Mehdi Feki : Modérateur .Net

Discussions similaires

  1. Calcul de durée entre deux dates en années, mois, jours, heures, minutes, secondes et reste
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 19
    Dernier message: 02/10/2015, 12h31
  2. Réponses: 14
    Dernier message: 11/12/2013, 14h59
  3. Script de compteur de jours, heures, minutes, secondes depuis une date
    Par Dsphinx dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/05/2013, 10h37
  4. Réponses: 1
    Dernier message: 30/04/2008, 11h00

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