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 :

debutant : condition horaires


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Points : 25
    Points
    25
    Par défaut debutant : condition horaires
    bonjour
    je cherche à faire un petit programme toute bête qui a pour action :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    si il est entre 12H et 14H30 
    alors 
    echo "bien venue au club informatique"
     Else 
    echo " le club informatique et fermé, la session va se déconnecter . "
    Déconnecter la session, je sais, faire, mais la condition avec le temps , je sais pas faire . Aurais-tu une idée ?

  2. #2
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If Now.Hours > 12 AndAlso Now.Hours < 15 Then
        If Now.Hours = 14 AndAlso Now.Minute > 30 Then
            MsgBox("club fermé")
        Else
            MsgBox("bienvenue")
        End If
    End If
    Kropernic

  3. #3
    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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim time = DateTime.Now
    Dim minDate = time.Date.AddHours(12)
    Dim maxDate = time.Date.AddHours(14).AddMinutes(30)
     
    If time >= minDate AndAlso time <= maxDate Then
        ...
    Else
        ...
    End If

  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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Kropernic Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If Now.Hours > 12 AndAlso Now.Hours < 15 Then
        If Now.Hours = 14 AndAlso Now.Minute > 30 Then
            MsgBox("club fermé")
        Else
            MsgBox("bienvenue")
        End If
    End If
    Avec ça, ça va rien indiquer du tout s'il n'est pas entre 12 et 15h...

    En plus il faut éviter de teste plusieurs fois la valeur de Now, parce que ça renvoie une valeur différente à chaque fois (vu que le temps continue à s'écouler...). Il faut mettre Now dans une variable et travailler sur cette variable.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim time = DateTime.Now
    Dim minDate = time.Date.AddHours(12)
    Dim maxDate = time.Date.AddHours(14).AddMinutes(30)
     
    If time >= minDate AndAlso time <= maxDate Then
        ...
    Else
        ...
    End If

    Merci génial

  6. #6
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Avec ça, ça va rien indiquer du tout s'il n'est pas entre 12 et 15h...

    En plus il faut éviter de teste plusieurs fois la valeur de Now, parce que ça renvoie une valeur différente à chaque fois (vu que le temps continue à s'écouler...). Il faut mettre Now dans une variable et travailler sur cette variable.
    Tu as tout à fait raison. Mais mon but n'était pas d'apporter une solution "clef sur porte".
    Kropernic

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Points : 25
    Points
    25
    Par défaut Condition HORAIRES
    Re Bonjour

    je me suis baser sur un petit script horaire pour exécuter une action :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim time = DateTime.Now
            Dim minDate = time.Date.AddHours(12).AddMinutes(30)
            Dim maxDate = time.Date.AddHours(13).AddMinutes(30)
            If time >= minDate AndAlso time <= maxDate Then
            Else
                Shell("shutdown -l -f")
                MsgBox("Vous vous trouvez en dehors des heure club informatique ")
     
            End If
    Cette ligne de programme dit qu'entre 12h30 et 13h30 rien ne sa passe, et avant et après ces horaires, la session Windows se ferme ( .

    ex : ci ce programme et exécuter a 08h00 la session ce ferme (hell("shutdown -l -f")
    ci ce programme et exécuter a 13h10 rien ne ce passe .

    j'aimerais aller plus loin, dire que tous les mardis et tous les jeudis entre 12h30 et 13h30 il se passe rien,
    en revanche avant et après la condition, il ferme la session Windows.

    avez vous une idée ?
    je suis perdu

  8. #8
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Points : 5 100
    Points
    5 100
    Par défaut
    Bonjour,

    Avec la méthode DayOfWeek
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Dim dt As DateTime = Now
            If Not (dt.DayOfWeek = DayOfWeek.Thursday Or dt.DayOfWeek = DayOfWeek.Tuesday) Then MessageBox.Show(" nous ne somme pas mardi ou jeudi ")
    A utiliser en complément de ce que tu as déjà.

    Cela devrait donner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            Dim dt As DateTime = Now
            Dim HeureMin As DateTime = dt.Date.AddHours(12).AddMinutes(30)
            Dim HeureMax As DateTime = dt.Date.AddHours(13).AddMinutes(30)
            If Not ((dt.DayOfWeek = DayOfWeek.Thursday Or dt.DayOfWeek = DayOfWeek.Tuesday) AndAlso dt >= HeureMin AndAlso dt <= HeureMax) Then
                MsgBox("Vous vous trouvez en dehors des heures d'ouverture du club informatique. ")
                Shell("shutdown -l -f")
            End If
    Note : j'utilise la partie ordinale de DayOfWeek pour éviter les problèmes de culture.

    [Edit]Rajout de parenthèses pour une meilleure clarté du code avec le not.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 44
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par rv26t Voir le message
    Bonjour,

    Avec la méthode DayOfWeek
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Dim dt As DateTime = Now
            If Not (dt.DayOfWeek = DayOfWeek.Thursday Or dt.DayOfWeek = DayOfWeek.Tuesday) Then MessageBox.Show(" nous ne somme pas mardi ou jeudi ")
    A utiliser en complément de ce que tu as déjà.

    Cela devrait donner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            Dim dt As DateTime = Now
            Dim HeureMin As DateTime = dt.Date.AddHours(12).AddMinutes(30)
            Dim HeureMax As DateTime = dt.Date.AddHours(13).AddMinutes(30)
            If Not ((dt.DayOfWeek = DayOfWeek.Thursday Or dt.DayOfWeek = DayOfWeek.Tuesday) AndAlso dt >= HeureMin AndAlso dt <= HeureMax) Then
                MsgBox("Vous vous trouvez en dehors des heures d'ouverture du club informatique. ")
                Shell("shutdown -l -f")
            End If
    Note : j'utilise la partie ordinale de DayOfWeek pour éviter les problèmes de culture.

    [Edit]Rajout de parenthèses pour une meilleure clarté du code avec le not.
    Au top MERCI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] probleme de formule avec condition horaire et mfc
    Par enavant72 dans le forum Excel
    Réponses: 1
    Dernier message: 15/05/2015, 17h32
  2. (debutant) condition d'ouverture de fichier
    Par weirdzard dans le forum LabVIEW
    Réponses: 15
    Dernier message: 14/01/2011, 15h23
  3. [Debutant] condition sur les champs
    Par nadhem dans le forum JDBC
    Réponses: 6
    Dernier message: 24/07/2006, 12h01
  4. [Debutant]Problème de condition
    Par ghan77 dans le forum Langage
    Réponses: 9
    Dernier message: 13/12/2005, 15h20

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