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 :

Sleep() marche mais arrete tout (trop tôt)


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 15
    Par défaut Sleep() marche mais arrete tout (trop tôt)
    Bonjour à tous,

    Je débute en vb (soyez indulgent ) et je voulais faire une pause dans un de mes script.
    Google -> Developpez.com -> FAQ et hop je pensais en avoir fini.

    Mais en fait dès que je fait un sleep, il fonctionne mais trop tôt !! ^^

    C'est a dire qu'il s'effectue avant toutes actions censé être plus tôt.
    Par exemple pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MsgBox("A")
    sleep(3000) 'ou threading.thread.sleep(3000) ou tout autre tentative
    MsgBox("B")
    Avec ça j'attends 3seconde puis A s'affiche puis B s'affiche.
    J'essaye en fait d'afficher mon Form1 et le faire disparaître aprés quelques seconde, puis de gérer avec des pauses son affichage avec "visible".

    Merci à ce qui se pencheront sur mon cas.

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    moi je fais comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Retard(Tempo As Long)
    Dim Fini As Long
    Fini = Timer + Tempo
    Do: DoEvents: Loop Until Timer > Fini
    End Sub
     
    Private Sub Form_Load()
    MsgBox ("A")
    'sleep (3000) 'ou threading.thread.sleep(3000) ou tout autre tentative
    Retard 3 '3 secondes
    MsgBox ("B")
    End Sub
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    +1, mais juste pour pinailler, si on veut que ça fonctionne aussi autour de minuit, on peut modifier comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Retard(Tempo As Long)
    Dim TempsDepart As Long
    TempsDepart = Timer
    Do
      DoEvents
      'Test de passage à minuit, 86400 secondes dans 24h
      If Timer - TempsDepart < 0 Then TempsDepart = TempsDepart - 86400
    Loop Until Timer > TempsDepart + Tempo
    End Sub

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 15
    Par défaut
    Désolé j'ai omis de précisé que je travailler sous VS2010 ?! (je sais pas si c'est du à ça mais ) ton code n'est pas compatible, j'ai tenté de remplacer par quelques propriétés, mais j'ai pas réussi à le faire fonctionner, le timer reste toujours souligner par exemple (malgrès que je vois une propriété timer existante.

    Cependant tu m'a donnée l'idée de faire pareil mais en récupérant le Now().

    Merci d'avoir répondu.

    [EDIT] : OhMonBato c'est vrai que j'ai également besoi que ca marche à minuit puisque le script sera prévu pour tourner tout le temps sur un serveur.

    [EDIT2] Pour dire a quel point je débute. Je viens d'apprendre que je faisait du VB.NET =) je pensais faire du vb6 ou vb tout court.


    J'ai résolu mon probleme en attribuant le sleep a un évènement que je déclenche quand je veux (par exemple une modification de label).
    Je suppose que ce n'est pas propre mais bon...

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/01/2011, 16h10
  2. Tout marche. Mais pas de son dans le swf
    Par Drife dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 17/04/2010, 14h24
  3. history.go et IE qui marche.. mais pas tout à fait !
    Par sacha69 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/09/2008, 11h54
  4. [Servlet - MySQL] Ca marche mais message d'erreur quand même
    Par ShinJava dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/11/2004, 15h15
  5. Réponses: 9
    Dernier message: 07/05/2003, 12h57

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