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 :

Heure et opérations


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 129
    Par défaut Heure et opérations
    Bonjour,

    Je débute en vb.net, et je n'arrive pas à effectuer une opération qui fonctionnait sous VBA pour excel:

    Je souhaite mesurer le temps écoulé entre 2 clics. J'ai donc une variable, que j'appelle vchrono.
    Dans la procédure d'un bouton, j'ai:

    Private Sub BtPriseCont_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtPriseCont.Click

    TPriseCont.Text = Format(Now() - CStr(vChrono), "h:mm:ss")


    End Sub

    Ca m'indique "L'opérateur - n'est pas défini pour les types 'Date' et 'String'.

    Si quelqu'un a une solution pour moi, ça me sauverait la vie!

    Merci d'avance!

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    VB 6 et VBA sont très permissifs au niveau du mélange des types... tu peux par exemple soustraire ou additioner des chaines et des dates, ou des pommes et des bananes... .NET est un peu plus strict à ce niveau, il faut utiliser des types compatibles.
    Tu peux faire par exemple date1-date2 si date1 et date2 sont de type DateTime (le résultat sera de type TimeSpan, càd intervalle de temps.
    Dans ton cas tu peux convertir la chaine en DateTime avec la fonction DateTime.Parse.

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 129
    Par défaut
    Merci pour ta réponse, mais comment convertir la chaîne?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    avec la fonction DateTime.Parse
    Mais je ne vois pas trop pourquoi tu as besoin de passer par une chaine... il te suffit d'enregistrer l'heure du premier clic dans une variable datetime, et a nouveau lors du 2eme clic, et de calculer la différence. Il n'y a que lors de l'affichage que tu as besoin d'une chaine, et il suffit d'utiliser la fonction ToString pour ca

Discussions similaires

  1. Opérations sur les dates et heures
    Par TINAVONJ dans le forum SQL
    Réponses: 4
    Dernier message: 12/09/2007, 15h42
  2. opération sur les dates et les heures
    Par beb1982 dans le forum C
    Réponses: 15
    Dernier message: 03/09/2007, 20h47
  3. [Dates] Question pour opérations sur des heures
    Par Sangdrax1604 dans le forum Langage
    Réponses: 7
    Dernier message: 23/08/2006, 11h07
  4. [time]Opération mathématique sur heure
    Par Shaika-Dzari dans le forum Général Python
    Réponses: 4
    Dernier message: 28/12/2005, 19h08
  5. Opération sur des heures dans Excel
    Par mirascheat dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/12/2005, 10h34

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