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 :

Ouvrir une fenêtre à une heure précise [Débutant]


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 52
    Points : 22
    Points
    22
    Par défaut Ouvrir une fenêtre à une heure précise
    Bonjour,
    Je cherche à ouvrir une fenêtre sur mon application à une heure précise, tous les jours mais je n'y arrive pas.
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim AlertTime As DateTime
     
            If AlertTime = "09:38:00" Then
                STOPID.Show()
            End If
        End Sub
    End Class
    Merci

  2. #2
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Bonjour !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim AlertTime As DateTime
     
    If AlertTime = "09:38:00" Then
    En VB.NET, par défaut, l'option "Strict" est à "Off". Ce qui veut dire que les conversions implicites sont autorisées. D'où le fait que le compilateur ne te gronde pas.. Chose que je trouve idiote, mais passons.

    Dans l'idée, ce que tu fais est correcte. En revanche, dans les faits, tu compares une date à une chaîne de caractères.

    Tu trouveras de la doc sur le format Date en .NET, mais dans l'idée tu auras juste besoin de comparer l'heure (l'action ne dépendant pas du jour). Regarde dont ce lien. Il t'en dira plus sur la façon dont tu peux procéder.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 52
    Points : 22
    Points
    22
    Par défaut
    J'essayer de changer le format avec ToString mais ça ne fonctionne pas, ma fenêtre ne s'ouvre pas.
    Suivant ton lien j'ai changer le format mais rien ne se passe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Private Sub UFPointageProd_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim AlertTime As Date
     
            If AlertTime = #10:42:00 AM# Then
                STOPID.Show()
            End If
        End Sub
    Cependant avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Private Sub UFPointageProd_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim AlertTime As Date = #10:51:00 AM#
     
            If AlertTime.ToString("h mm") Then
                STOPID.Show()
            End If
        End Sub
    Ma fenêtre s'ouvre mais lorsque j'exécute mon programme, mais pas à l'heur indiqué.

  4. #4
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Alors oui, il y a plusieurs manières de procéder, mais je ne te conseille pas d'utiliser le ToString. En générale, les "ToString" sont utilisés pour gérer l'affichage des valeurs.

    Il te faut d'abord définit la date d'alerte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Dim AlertTime As Date = new Date(2017,06,27,11,00,00)
    Ensuite tu peux y comparer les heures et minutes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If AlertTime.Hour = 11 And AlertTime.Minutes = 0 Then
      'Alert
    End If

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 52
    Points : 22
    Points
    22
    Par défaut
    Sauf que ici dans ton code tu définis une date et une heure et dans lequel tu donnes une condition qui respect forcément l'égalité.
    Donc ma fenêtre s'ouvre forcément.
    J'essai de comparer une heure avec l'heure de mon système. Je me suis peut être mal exprimé.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    Tester la date et l'heure c'est une chose mais il conviendra aussi de placer ce test au bon endroit. Ici, il paraît être placé dans le load d'une Form. Je ne vois pas bien comment cela peut fonctionner.
    Il faudrait plutôt créer un timer qui ferait ce test régulièrement : Toutes les minutes ou toutes les secondes suivant le degré de précision désiré.

  7. #7
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Autant pour moi, mon exemple est bidon en effet

    Du coup la définition d'AlertTime ne change pas, mais ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Now.Hour = AlertTime.Hour And Now.Minutes = AlertTime.Minutes Then
      'Alert
    End If
    Now est une propriété qui retourne la date et l'heure courante.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 52
    Points : 22
    Points
    22
    Par défaut
    Donc ça fonctionne seulement lorsque la date correspond au moment ou j'ouvre mon application.
    C'est à dire que je dois le mettre dans un autre endroit pour pouvoir exécuter mon programme.

  9. #9
    Membre éclairé Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 667
    Points
    667
    Par défaut
    Salut,
    Regarde du coté des Timer
    Cela te permettra de créer un événement (par exemple toutes le secondes).
    Ensuite tu te sers de cet événement pour vérifier si l'heure du lancement et égale à l'heure actuelle.
    @+
    Merci de ainsi que d'utiliser les boutons et

  10. #10
    Membre actif
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2016
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2016
    Messages : 154
    Points : 268
    Points
    268
    Par défaut
    Bonjour,
    il me semble que tu poses mal ton problème. j'ai comme l'impression que tu voudrais conditionner le système d'exploitation pour qu'il lance une fenêtre de ton application à une certaine heure donnée. est ce cela ?

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 52
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Prisson Voir le message
    Bonjour,
    il me semble que tu poses mal ton problème. j'ai comme l'impression que tu voudrais conditionner le système d'exploitation pour qu'il lance une fenêtre de ton application à une certaine heure donnée. est ce cela ?
    Oui c'est ça. D'ailleurs je me demande si avec un Timer je peux lui demander de me renvoyer une heure ou de lui affecter une heure de départ ?

  12. #12
    Membre éclairé Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 667
    Points
    667
    Par défaut
    Citation Envoyé par MLvba Voir le message
    D'ailleurs je me demande si avec un Timer je peux lui demander de me renvoyer une heure ou de lui affecter une heure de départ ?
    Tu dois mettre le code de ZenZiTone dans la procédure faisant appelle à l'événement "Tick" de ton timer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    Dim Date_choisie As Date Date_choisie = new Date(2017,06,27,11,00,00) If Date_choisie.Hour = Date.Now.Hour And Date_choisie.Minute = Date.Now.Minute And Date_choisie.Second = Date.Now.Second Then
    'Lance ton formulaire
    End If
    End Sub
    Merci de ainsi que d'utiliser les boutons et

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 52
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par r.morel Voir le message
    Tu dois mettre le code de ZenZiTone dans la procédure faisant appelle à l'événement "Tick" de ton timer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    Dim Date_choisie As Date Date_choisie = new Date(2017,06,27,11,00,00) If Date_choisie.Hour = Date.Now.Hour And Date_choisie.Minute = Date.Now.Minute And Date_choisie.Second = Date.Now.Second Then
    'Lance ton formulaire
    End If
    End Sub
    J'ai essayé de le mettre dans le Timer1_Tick. Mais ça ne fonctionne pas.

  14. #14
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Citation Envoyé par MLvba Voir le message
    J'ai essayé de le mettre dans le Timer1_Tick. Mais ça ne fonctionne pas.
    Il faut démarrer ton timer aussi (si c'est pas déjà fait).

  15. #15
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Citation Envoyé par MLvba Voir le message
    J'ai essayé de le mettre dans le Timer1_Tick. Mais ça ne fonctionne pas.
    As-tu démarré ton Timer au moins (Timer.Start() )

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 52
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par ZenZiTone Voir le message
    Il faut démarrer ton timer aussi (si c'est pas déjà fait).
    J'ai essayé de faire quelque chose mais j'y vais en peu à taton parce que j'ai du mal à comprendre le fonctionnement du Timer.

    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
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            AlertTime = New System.Timers.Timer()
            AlertTime.Interval = 2000
            AlertTime.Start()
     
            AddHandler AlertTime.Elapsed, AddressOf Timer1_Tick
            AlertTime.AutoReset = True
            AlertTime.Enabled = True
        End Sub
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            'Now.Hour = AlertTime.Hour And Now.Minute = AlertTime.Minute
            Dim AlertTime As Date = New Date(2017, 6, 27, 13, 59, 0)
            If Now.Hour = AlertTime.Hour And Now.Minute = AlertTime.Minute And Now.Second = AlertTime.Second Then
                STOPID.Show()
            End If
     
        End Sub
    Sauf que ici la fenêtre s'ouvre mais elle plant, je ne sais pas pourquoi.
    Est ce que le code est bon par ailleurs ?

  17. #17
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 52
    Points : 22
    Points
    22
    Par défaut
    J'ai finalement trouver mon problème mais je ne sais pas pourquoi l'autre code ne fonctionne pas, je laisse le code ci-dessous:

    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
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     
     
            Timer1.Interval = 1000
            Timer1.Enabled = True
            Timer1.Start()
     
        End Sub
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Me.Label6.Text = Date.Now
            Dim AlertTime As Date = New Date(2017, 6, 26, 14, 55, 0)
            If Now.Hour = AlertTime.Hour And Now.Minute = AlertTime.Minute Then
                Timer1.Enabled = False
                StopPointage = Now
                STOPID.Show()
            End If
     
        End Sub
    Merci pour votre aide

  18. #18
    Membre expérimenté
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Points : 1 745
    Points
    1 745
    Par défaut
    Juste pense à ce que t'a écrit ZenZiTone :

    Citation Envoyé par ZenZiTone Voir le message
    En VB.NET, par défaut, l'option "Strict" est à "Off". Ce qui veut dire que les conversions implicites sont autorisées. D'où le fait que le compilateur ne te gronde pas.. Chose que je trouve idiote, mais passons.
    Un conseil, passe ce paramètre à "On", ça t'évitera des surprises !!

  19. #19
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 52
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par ebastien Voir le message
    Juste pense à ce que t'a écrit ZenZiTone :



    Un conseil, passe ce paramètre à "On", ça t'évitera des surprises !!
    Je dois faire quoi au juste car je ne l"ai pas trouvé la propriété Strict ni dans mon Timer dans mon Form1 .

  20. #20
    Membre éclairé Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 336
    Points : 667
    Points
    667
    Merci de ainsi que d'utiliser les boutons et

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Ouvrir Firefox dans une fenêtre Java
    Par Skima dans le forum Interfaces Graphiques en Java
    Réponses: 8
    Dernier message: 05/08/2013, 16h35
  2. ouvrir une fenêtre une seule fois en java
    Par dimateo_2012 dans le forum Agents de placement/Fenêtres
    Réponses: 10
    Dernier message: 07/05/2013, 15h02
  3. Ouvrir 2 fenêtres : une ici et une popup
    Par foxbond dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/10/2009, 09h48
  4. Ouvrir un popup/une fenêtre [Richfaces]
    Par troubleshooting dans le forum JSF
    Réponses: 8
    Dernier message: 22/04/2009, 11h12
  5. Ouvrir et fermer une fenêtre
    Par jujudrogba dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 09/01/2007, 15h39

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