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 :

Progress Bar en debut d'application


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 bruce207
    Inscrit en
    Novembre 2007
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 319
    Par défaut Progress Bar en debut d'application
    Bonjour,
    j'ai téléchargé le code suivant qui est lié à un progress Bar
    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
    21
    22
    23
    24
    25
    Dim ORIGINAL_TIME As Date
    Dim SECONDS_TO_WAIT As String
     
    Private Sub Timer1_Timer()
    ProgressBar1.Value = ProgressBar1.Value + 10
    If ProgressBar1.Value = 30 Then
    ProgressBar1.Value = ProgressBar1 + 50
    If ProgressBar1.Value = 80 Then
    ProgressBar1.Value = ProgressBar1.Value + 20
    If ProgressBar1.Value = ProgressBar1.Max Then
    Timer1.Enabled = False
    End If
    End If
    End If
    End Sub
     
     
     
    Private Sub Timer2_Timer()
    If ProgressBar1.Value = ProgressBar1.Max Then
    SECONDS_TO_WAIT = "5"
    ORIGINAL_TIME = DateTime.Time
    End
    End If
    End Sub
    le progress bar se trouve sur un feuille avec 2 timers (1 et 2). Le probleme c'est que :
    a) je n'arrive pas à afficher le decompte du pourcentage (sur un label) lié à ce progress bar quand j'essaie je n'arrive qu'a afficher 100% à la fin. Donc si quelqu'un peut m'aider en y ajoutant quelques lignes de codes me permettant d'afficher le pourcentage avec l'evolution de celui ci je le remercie d'avance et aussi de le ralentir un peu car il defile vite.
    b) En fait je voudrais le mettre au debut de l'application que je suis entrain de realiser, mais je n'y arrive pas non plus. Quand je mets la feuille qui la contient au lancement de l'application elle s'arrete juste apres je ne sais pas comment faire le lien avec la feuille suivante.
    c) j'aimerai enfin que quelqu'un y ajoute des commentaires pour m'aider à le comprendre.

  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
    Quelle est la valeur de la propriété Interval de ton Timer ?
    Ou est le code qui affiche la valeur de pourcentage dans ton label ?

    Pour charger une feuille Form2 par exemple tu peux faire :
    Form2.show

    Pour décharger ta feuille actuelle tu peux faire :
    Unload me

    Pour des trucs équivalents, tu peux aussi faire des recherches un peu. Ce site est une mine d'information si on se donne la peine et google est très pratique aussi (essaye de taper "charger feuille VB" ou "afficher feuille VB").

  3. #3
    Membre éclairé Avatar de bruce207
    Inscrit en
    Novembre 2007
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 319
    Par défaut
    Bonjour,
    comme je l'ai dit j'ai telechargé ce code et je n'y comprend pas grand chose. Je manipule encore mal le control progress bar donc si tu peux m'aider en me corrigeant ce serait bien gentil de ta part.

  4. #4
    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
    Bonjour,

    relis ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If ProgressBar1.Value = 30 Then
    ProgressBar1.Value = ProgressBar1 + 50
    If ProgressBar1.Value = 80 Then
    ProgressBar1.Value = ProgressBar1.Value + 20
    qui a pour conséquence celle-ci, bien évidente :

    si la valeur atteint 30 ===>> elle passe à 100 (puisque 30 + 50 = 80 et que tu dis la passer à 100 si = 80 !!!!

  5. #5
    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
    N'y vois pas de mal mais apprend à utiliser les points d'arrêt (tu sélectionnes la ligne de code en début de test par exemple et tu tapes F9) et à observer la valeur de tes variables et/ou la manière dont les les tests sont effectués, cela t'aidera grandement à comprendre le fonctionnement d'un processus, quel qu'il soit, c'est beaucoup plus instructif que de copier un code et de cliquer "bêtement" sur F5 pour voir si ça passe ou si ça casse

  6. #6
    Membre éclairé Avatar de bruce207
    Inscrit en
    Novembre 2007
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 319
    Par défaut
    J'ai essayer le code suivant mais tjrs rien le label ne fais pas defiler le pourcentage
    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 ORIGINAL_TIME As Date
    Dim SECONDS_TO_WAIT As String
    Dim interPercentage As Integer
     
    Private Sub Timer1_Timer()
    ProgressBar1.Value = ProgressBar1.Value + 10
    If ProgressBar1.Value = 30 Then
    ProgressBar1.Value = ProgressBar1 + 50
    If ProgressBar1.Value = 80 Then
    ProgressBar1.Value = ProgressBar1.Value + 20
    If ProgressBar1.Value = ProgressBar1.Max Then
    For intPerecentage = 1 To progressBar1.Max
    'Attribution de la valeur de ma variable au caption du label
    label1.Caption = interPercentage & "%"
    Next interpencentage
    Timer1.Enabled = False
    End If
    End If
    End If
    End Sub
    Et aussi je sais que pour appeler la feuille suivante c'est form2.show mais helas je l'ai fait mais elle n'apparait tjrs pas, dès que le progressbar s'acheve il n'ya rien apres, je ne sais pas dans quel partie du code je dois la placer (dans la form_load ?)

  7. #7
    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
    Citation Envoyé par ucfoutu Voir le message
    Bonjour,

    relis ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If ProgressBar1.Value = 30 Then
    ProgressBar1.Value = ProgressBar1 + 50
    If ProgressBar1.Value = 80 Then
    ProgressBar1.Value = ProgressBar1.Value + 20
    qui a pour conséquence celle-ci, bien évidente :

    si la valeur atteint 30 ===>> elle passe à 100 (puisque 30 + 50 = 80 et que tu dis la passer à 100 si = 80 !!!!
    Il me semblait avoir été clair, mais je vois que tel n'est pas le cas...

    Je te propose alors de voir ce que ferait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Command1_Click()
     toto = 30
     If toto = 30 Then
       toto = toto + 50
       If toto = 80 Then
         toto = toto + 20
       End If
     End If
     MsgBox toto
    End Sub
    d'analyser et d'en déduire ce qui se passe avec TON code.

  8. #8
    Membre éclairé Avatar de bruce207
    Inscrit en
    Novembre 2007
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 319
    Par défaut
    J'ai suivi tes conseils et j'ai taper le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim i As Integer
     
    Private Sub Timer1_Timer()
    i = 100
    For i = 0 To 100
    ProgressBar1.Value = i
    Label1.Caption = i & "%"
    If ProgressBar1.Value = ProgressBar1.Max Then
    Timer1.Enabled = False
    End If
    Next i
    Form1.Hide
    Form2.Show
    End Sub
    le probleme c'est qu'il ne marche sur le programe que j'ai téléchargé, quand j'essaye d'ajouter ce code dans une nouvelle Form de mon application et que j'execute, il ne se passe rien, je ne comprends pas.
    Je voudrais savoir quelle est la fonction qui permet de retarder le defilement du progressbar en vb comme delay() en turbo pascal, car il defile très vite j'ai meme pas le temps de voir le decompte.
    J'aimerais aussi changer la couleur bleue du progressbar en vert et enfin savoir comment faire pour ne plus avoir sur ma Form la bande bleue de la barre de titre, j'arrive juste à supprimer les boutons reduire, agrandir et fermer
    Merci d'avance

  9. #9
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    en plus du code à tu rajouter un contrôle timer (timer1) sur ta feuille..

  10. #10
    Membre éclairé Avatar de bruce207
    Inscrit en
    Novembre 2007
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 319
    Par défaut
    Oui je l'ai fait. Mais il ne se passe tjrs rien

  11. #11
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    regarde les propriétés initiales de ton contrôle... timer

  12. #12
    Membre éclairé Avatar de bruce207
    Inscrit en
    Novembre 2007
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 319
    Par défaut
    Lesquels par exemple, je n'y ai rien changé

Discussions similaires

  1. Réponses: 0
    Dernier message: 09/07/2011, 13h08
  2. [Forms][debutant] progress bar & Forms
    Par Lust14 dans le forum Forms
    Réponses: 3
    Dernier message: 26/11/2006, 19h19
  3. [MFC]Changer la couleur d'un progress bar
    Par Deedier dans le forum MFC
    Réponses: 1
    Dernier message: 21/04/2005, 18h39
  4. [VB.NET] Mise en place d'une progress bar
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 14
    Dernier message: 19/10/2004, 09h23
  5. Progress bar au boot
    Par saibe dans le forum Administration système
    Réponses: 2
    Dernier message: 18/08/2003, 10h01

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