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 6 et antérieur Discussion :

remplir progressb à partir d'un timer


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de demando77
    Inscrit en
    Décembre 2007
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 263
    Par défaut remplir progressb à partir d'un timer
    Slt, j'ai besoin d'un code pour faire remplir en progressbar pgb à partir d'un timer t en l'intervalle de 59 secondes.

    Merci d'avance

    TM018

  2. #2
    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
    Ou en es tu dans tes recherches ? As tu essayé d'écrire un peu de code ? As tu regardé l'aide de VB ?

  3. #3
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    Bon je vais un peu vous aider :
    Donc j'ai ceci :
    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
    19
    20
    Dim a As Long
     
    Private Sub Command1_Click()
    Timer1.Enabled = True
    End Sub
     
    Private Sub Form_Load()
    Timer1.Enabled = False 'Timer n'est pas actif
    Label1.Caption = 0
    Timer1.Interval = 1000 '1000 = 1 sec
    ProgressBar1.Min = 0
    ProgressBar1.Max = 50
    End Sub
     
    Private Sub Timer1_Timer()
    a = a + 1
    Label1.Caption = a
     If a = 50 Then Timer1.Enabled = False 'quand a = 50 timer1 n'est plus actif car ProgressBar1.Max = 50
     ProgressBar1.Value = Label1.Caption '= a (ça marche aussi)
    End Sub
    Il contient donc : label1 , timer1, command1 et progressbar1

    A toi de faire évoluer

  4. #4
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Il doit y avoir une propriété Value ou Position ou quelque chose s'y rapprochant à l'objet ProgressBar... En lui donnant la valeur de i, ça devrait marcher.

  5. #5
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    Oui tu as raison zazaraignée

    mais j'ai préciser que proressbar et entre 0 et 50 (
    et
    )

    et "a" ne devrait pas dépasser 50 et ne devrait pas descendre en dessous de 0 ..... sinon ça créer un problème....

    avec mon code :
    enfait tu peux mettre
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If a = 10 Then Timer1.Enabled = False
    et puis tu règles ton intervalle
    soit 1000 = 1 seconde

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir,

    Un Timer n'est jamais précis (le faire battre 59 fois à 1 seconde ne vous donnera jamais 59 secondes en durée réelle...)

    Il y a alors une façon de le forcer à être précis ...
    La suivante :

    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 Command2_Click()
      Timer1.Interval = 1000
      Timer1.Enabled = True
      ProgressBar1.Max = 59
      ProgressBar1.Min = 0
    End Sub
     
    Private Sub Timer1_Timer()
      Static depart As Date
      If depart = 0 Then depart = Time
      While Time < DateAdd("s", 59, depart)
        ProgressBar1.Value = ProgressBar1.Value + 1
        Exit Sub
      Wend
      Timer1.Enabled = False
      MsgBox "j'ai réellement duré " & DateDiff("s", depart, Time) & " secondes"
    End Sub

Discussions similaires

  1. Arréter un chrono à partir d'un Timer
    Par flo62 dans le forum Langage
    Réponses: 3
    Dernier message: 05/03/2008, 13h40
  2. Remplir champ à partir de dates
    Par kgb1917 dans le forum VBA Access
    Réponses: 13
    Dernier message: 29/10/2007, 11h49
  3. remplir datagrid à partir de fichier xml
    Par wajdiisi2007 dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 10/08/2007, 12h27
  4. Réponses: 4
    Dernier message: 01/06/2007, 13h54
  5. remplir dataset à partir base propriétaire
    Par bib34690 dans le forum Windows Forms
    Réponses: 13
    Dernier message: 03/05/2007, 18h49

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