Faire progresser une barre de chargement [Résolu]

PTuner - 27 avril 2013 à 16:21 - Dernière réponse :  PTuner
- 20 mai 2013 à 18:36
Bonjour
J'aimerai que dans le sub changement (), les instructions fassent progresser une barre de chargement que j'ai ajouté précédemment dans le form voici le code:
 Sub changement()
        If Not System.IO.File.Exists("c:\users\pierre\desktop\123.txt") Then Call arret()
        InitializeComponent()
        ProgressBar1.Minimum = 0
        ProgressBar1.Maximum = 4
ProgressBar1.Value=ProgressBar1.minimum
        Kill("c:\users\Pierre\desktop\123.txt")
        ProgressBar1.Value = 1
        RmDir("c:\users\pierre\desktop\test")
        ProgressBar1.Value = 2
        System.IO.Directory.CreateDirectory("c:\users\Pierre\desktop\test")
        ProgressBar1.Value = 3
        Dim file As System.IO.FileStream
        file = System.IO.File.Create("c:\users\pierre\desktop\123.txt")
        file.Close()
        SetAttr("c:\users\Pierre\desktop\123.txt", vbNormal)
        Process.Start("calc.exe")
        Dim fichier = My.Computer.FileSystem.OpenTextFileWriter("c:\users\Pierre\desktop\123.txt", True)
        fichier.WriteLine("Ceci est un test" & vbCrLf & "Ceci est la seconde ligne")
        fichier.Close()
        ProgressBar1.Value = ProgressBar1.Maximum
        If System.IO.File.Exists("c:\users\pierre\desktop\123.txt") Then MsgBox("Le fichier 123.txt existe")
    End Sub

j'ai essayé un petit truc mais ça n'a pas l'air de marcher.
Afficher la suite 

Votre réponse

23 réponses

Meilleure réponse
Utilisateur anonyme - 27 avril 2013 à 16:37
3
Merci
Bonjour,
Pourquoi ça ne marcherait pas ?
(sauf que ça va trop vite)
Essaye:
    Sub changement()
        If Not System.IO.File.Exists("c:\users\pierre\desktop\123.txt") Then Call arret()
        InitializeComponent()
        ProgressBar1.Minimum = 0
        ProgressBar1.Maximum = 4
        ProgressBar1.Value = ProgressBar1.minimum
        Kill("c:\users\Pierre\desktop\123.txt")
        ProgressBar1.Value = 1
        Application.DoEvents()
        Threading.Thread.Sleep(1000)
        RmDir("c:\users\pierre\desktop\test")
        ProgressBar1.Value = 2
        Application.DoEvents()
        Threading.Thread.Sleep(1000)
        System.IO.Directory.CreateDirectory("c:\users\Pierre\desktop\test")
        ProgressBar1.Value = 3
        Application.DoEvents()
        Threading.Thread.Sleep(1000)
        Dim file As System.IO.FileStream
        file = System.IO.File.Create("c:\users\pierre\desktop\123.txt")
        file.Close()
        SetAttr("c:\users\Pierre\desktop\123.txt", vbNormal)
        Process.Start("calc.exe")
        Dim fichier = My.Computer.FileSystem.OpenTextFileWriter("c:\users\Pierre\desktop\123.txt", True)
        fichier.WriteLine("Ceci est un test" & vbCrLf & "Ceci est la seconde ligne")
        fichier.Close()
        ProgressBar1.Value = ProgressBar1.Maximum
        If System.IO.File.Exists("c:\users\pierre\desktop\123.txt") Then MsgBox("Le fichier 123.txt existe")
    End Sub



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Meilleure réponse
Utilisateur anonyme - 27 avril 2013 à 23:17
3
Merci
Alors en plus ton pseudo m’interpelle,
Un Tuner, ou syntoniseur est un appareil permettant de recevoir un signal électromagnétique émis sur une bande de fréquences, conserver la partie du signal émise sur une fréquence particulière (qu'on va appeler "VB.NET") et rejeter les parties du signal émises sur les autres fréquences (qu'on va appeler "Autres" (tout et n'importe quoi).

Alors essaye de te concentrer sur cette fréquence particulière, sinon tu n'y arriveras pas.

Tu mets un Timer et un Progressbar sur ta form, puis tu fais:
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Interval = 500
        Timer1.Enabled = True
        ProgressBar1.Maximum = 60
        ProgressBar1.Value = 0
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If ProgressBar1.Value = ProgressBar1.Maximum Then
            Timer1.Enabled = False
            ProgressBar1.Value = 0
        Else
            ProgressBar1.Value += 10
        End If
    End Sub


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Meilleure réponse
Utilisateur anonyme - 1 mai 2013 à 23:08
3
Merci
Non, plutôt:
Ca ne semble pas bizarre que ton code ne ressemble pas au mien?
Regarde attentivement le mien et le tien:

Public Class Form1
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Interval = 500
        Timer1.Enabled = True
        ProgressBar1.Maximum = 60
        ProgressBar1.Value = 0
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If ProgressBar1.Value = ProgressBar1.Maximum Then
            Timer1.Enabled = False
            ProgressBar1.Value = 0
        Else
            ProgressBar1.Value += 10
        End If
    End Sub
End Class



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
0
Merci
en fait au fur et à mesure que le programme avance j'aimerai remplir la barre de chargement(progressbar).
Commenter la réponse de PTuner
0
Merci
non cela marche pas malheuresement
Commenter la réponse de PTuner
Utilisateur anonyme - 27 avril 2013 à 17:05
0
Merci
non cela marche pas malheuresement


Qu'es-ce qui ne marche pas? quel valeur as le progressbar?


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
0
Merci
en fait la progressbar ne se remplie pas au fur et à mesure. Voici le code de la progressbar
Private Sub ProgressBar1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    End Sub
Commenter la réponse de PTuner
0
Merci
est ce que je peux essayer ça?
Private Sub ProgressBar1_(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProgressBar1.HandleCreated
    End Sub
Commenter la réponse de PTuner
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 27 avril 2013 à 17:39
0
Merci
Pas bonjour non plus, donc
Deux procédures sans la moindre instruction ne font rien.
Cela t'étonne ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
0
Merci
oui maintenant la question est qu'est ce qu'il faudrait mettre dans le sub progressbar1(la valeur max?)
Commenter la réponse de PTuner
Utilisateur anonyme - 27 avril 2013 à 18:17
0
Merci
dans le sub progressbar1(la valeur max?)


Pour quoi faire ???


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
0
Merci
et là?
Sub changement()
        If Not System.IO.File.Exists("c:\users\pierre\desktop\123.txt") Then Call arret()
        ProgressBar1.Increment(0)
        InitializeComponent()
        ProgressBar1.Minimum = 0
        ProgressBar1.Maximum = 4
        ProgressBar1.Value = ProgressBar1.Minimum
        Kill("c:\users\Pierre\desktop\123.txt")
        ProgressBar1.Value = 1
        Application.DoEvents()
        Threading.Thread.Sleep(1000)
        RmDir("c:\users\pierre\desktop\test")
        ProgressBar1.Value = 2
        Application.DoEvents()
        Threading.Thread.Sleep(1000)
        System.IO.Directory.CreateDirectory("c:\users\Pierre\desktop\test")
        ProgressBar1.Value = 3
        Application.DoEvents()
        Threading.Thread.Sleep(1000)
        Dim file As System.IO.FileStream
        file = System.IO.File.Create("c:\users\pierre\desktop\123.txt")
        file.Close()
        SetAttr("c:\users\Pierre\desktop\123.txt", vbNormal)
        Process.Start("calc.exe")
        Dim fichier = My.Computer.FileSystem.OpenTextFileWriter("c:\users\Pierre\desktop\123.txt", True)
        fichier.WriteLine("Ceci est un test" & vbCrLf & "Ceci est la seconde ligne")
        fichier.Close()
        ProgressBar1.Value = ProgressBar1.Maximum
        If System.IO.File.Exists("c:\users\pierre\desktop\123.txt") Then MsgBox("Le fichier 123.txt existe")
    End Sub
Commenter la réponse de PTuner
0
Merci
j'ai trouvé ça (http://msdn.microsoft.com/fr-fr/library/system.windows.forms.progressbar.increment.aspx)mais je ne sais pas comment mettre le variable time dans l'autre sub pour arrêter le timer(time.stop)
Commenter la réponse de PTuner
Utilisateur anonyme - 27 avril 2013 à 22:48
0
Merci
Tu as déclaré que:
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = 4


Alors si tu mets:
ProgressBar1.Value = ProgressBar1.Minimum

OU:
ProgressBar1.Value = 0

C'est la même...
Je ne vois pas ta difficulté

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
0
Merci
Quand je met votre code je reçois cette erreur du visual basic 2010:
Statement is not valid in a namespace
[code=vb Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If ProgressBar1.Value = ProgressBar1.Maximum Then
Timer1.Enabled = False
ProgressBar1.Value = 0
Else
ProgressBar1.Value += 10
End If
End Subcode]
Commenter la réponse de PTuner
0
Merci
 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If ProgressBar1.Value = ProgressBar1.Maximum Then
            Timer1.Enabled = False
            ProgressBar1.Value = 0
        Else
            ProgressBar1.Value += 10
        End If
    End Sub

voilà j'ai fait une erreur de copie c'est plus agréable à lire...
Commenter la réponse de PTuner
Utilisateur anonyme - 1 mai 2013 à 22:54
0
Merci
As-tu fait ce que je t'ai dit?
Tu mets un Timer et un Progressbar sur ta form



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
0
Merci
en fait je ne peux pas ajouter de timer de ma toolbox celui-ci m'indique le message que j'ai mis un peu plus haut.
Commenter la réponse de PTuner
Utilisateur anonyme - 2 mai 2013 à 17:54
0
Merci
Comment ça tu ne peux pas ajouter un timer sur ta form ???
Comment as-tu ajouté le progressbar? c'est la même chose !!!

Le message dit que tu as essayé d'ajouter du code soit au dessus de "Public Class Form1" soit en dessous "End Class"

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
0
Merci
non quand je prend le timer dans ma toolbox le compilateur m'indique une erreur soit ça:
compoment cannot be added in localization mode.
Commenter la réponse de PTuner

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.