BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008
-
28 juin 2007 à 10:06
arnaud2006
Messages postés6Date d'inscriptiondimanche 7 octobre 2007StatutMembreDernière intervention 1 juin 2009
-
18 août 2008 à 20:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
arnaud2006
Messages postés6Date d'inscriptiondimanche 7 octobre 2007StatutMembreDernière intervention 1 juin 2009 18 août 2008 à 20:17
Merci
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 3 juil. 2007 à 18:43
oops ...
# Private Sub WriteRien(ByVal NOF As Integer)
# Dim i As Integer
# For i = 1 To NOF
# Console.WriteLine(" ")
# Next i
# End Sub
BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008 3 juil. 2007 à 18:10
Oups désolé !
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 3 juil. 2007 à 16:06
désolé .. au fait : c'est ghuysmans99 et pas GHUYSMANNS99
BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008 3 juil. 2007 à 10:33
Ca ne fonctionnera pas :
1)WriteRien utilise WriteLine et non pas Write : à chaque fois VB sautera une ligne au lieu d'écrire un espace.
2)Utiliser WriteRien 38 ajouterait tous les espaces d'un coup sans attendre d'intervalles, en supposant qu'on utilise Write et non pas WriteLine.
3)Si on utilise For i = 1 To 38, VB recommencera l'opération jusqu'à ce que la variable i valle 38, la barre progressera donc progressivement (c'est le cas de le dire !). Si on utilise ton code, VB ne le fera qu'une fois, vu qu'il n'y a pas de boucle, et on se retrouve donc au 2) : les 38 espaces seront ajoutés en même temps, la barre progressera donc d'un coup.
Voilà, j'espère que mes explications sont compréhensibles...
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 2 juil. 2007 à 17:37
Me revoilà ... encore quelque chose à remplacer :
remplace ça :
# Private Sub Progress(ByVal SleepVar As Long)
# Dim i As Integer
# For i = 1 To 38
# Console.Write(" ")
# System.Threading.Thread.Sleep(SleepVar)
# Next i
# End Sub
# Private Sub WriteRien(ByVal NOF As Integer)
# Dim i As Integer
# For i = 1 To NOF
# Console.WriteLine("")
# Next i
# End Sub
par ça :
# Private Sub Progress(ByVal SleepVar As Long)
# WriteRien 38
# System.Threading.Thread.Sleep (SleepVar)
# End Sub
#
# Private Sub WriteRien(ByVal NOF As Integer)
# Dim i As Integer
# For i = 1 To NOF
# Console.WriteLine ("")
# Next i
# End Sub
ps: remplace "# " par rien. c'est juste pour distinguer le code de mes commentaires !
BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008 30 juin 2007 à 12:51
Ok merci !!
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 30 juin 2007 à 10:59
en fait : while a une condition ... regarde :
Do
Loop While 1=1 'ca ne s'arrêtera JAMAIS
While 1=1 'ca no plus !
Wend
_________________________________
Dim i as Integer
i = 0 'optionnel! initialisé à 0
Do
i = i + 1
debug.print i
Loop While i <= 10 ' 0 -> 10
debug.print "finiiiiiiii!"
BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008 30 juin 2007 à 10:44
Si si, je connaissais, mais je n'arrivais pas à les utiliser, à chaque fois j'avais le problème des boucles infinies avec While...Wend ou End While.
Je ne connaissais pas For i = 1 To .... mais maintenant je comprends mieux le système des boucles. Je crois que je vais utiliser For à la place de While dorénavant, ca me semble plus simple et plus efficace.
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 29 juin 2007 à 19:01
au fait : tu ne connaissais pas les boucles ??
BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008 29 juin 2007 à 11:57
Merci, ça réduit considérablement la taille du Sub Main()...!
J'ai aussi ajouté CreerBarre, qui automatise la création de la barre et l'avancement, et qui positionne automatiquement le texte qui doit s'afficher au milieu de la ligne 6 de la console.
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 28 juin 2007 à 14:50
et aussi : ajoute ça :
# Private Sub WriteRien(NOF As Integer)
# Dim i As Integer
# For i = 1 To NOF
# Console.WriteLine ("")
# Next i
# End Sub
remplace ça :
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine(" Voici un petit exemple de barre d'avancement jaune.")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
par ça :
# WriteRIEN 5
# Console.WriteLine(" Voici un petit exemple de barre d'avancement jaune.")
# WriteRIEN 6
___________________________________________________________
et ça :
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine(" Et une autre barre d'avancement, rouge cette fois.")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
par ça :
# WriteRIEN 5
# Console.WriteLine(" Et une autre barre d'avancement, rouge cette fois.")
# WriteRIEN 6
ps: remplace "# " par rien. c'est juste pour distinguer le code de mes commentaires !
BERGOUGNOUX
Messages postés40Date d'inscriptionmercredi 14 septembre 2005StatutMembreDernière intervention16 mars 2008 28 juin 2007 à 11:43
Voilà, c'est fait... merci beaucoup !
hvb
Messages postés939Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention27 janvier 20093 28 juin 2007 à 11:19
clair que ghuysmans99 a raison....
il faut nettoyer tout ça, c'est de la bidouille totale pour l'instant.
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 28 juin 2007 à 10:45
il faut que tu utilises des boucles. ajoute ça à ton code :
# Private Sub Progress(SleepVar As Long)
# Dim i As Integer
# For i = 1 To 37
# Console.Write (" ")
# System.Threading.Thread.Sleep (SleepVar)
# Next i
# End Sub
18 août 2008 à 20:17
3 juil. 2007 à 18:43
# Private Sub WriteRien(ByVal NOF As Integer)
# Dim i As Integer
# For i = 1 To NOF
# Console.WriteLine(" ")
# Next i
# End Sub
3 juil. 2007 à 18:10
3 juil. 2007 à 16:06
3 juil. 2007 à 10:33
1)WriteRien utilise WriteLine et non pas Write : à chaque fois VB sautera une ligne au lieu d'écrire un espace.
2)Utiliser WriteRien 38 ajouterait tous les espaces d'un coup sans attendre d'intervalles, en supposant qu'on utilise Write et non pas WriteLine.
3)Si on utilise For i = 1 To 38, VB recommencera l'opération jusqu'à ce que la variable i valle 38, la barre progressera donc progressivement (c'est le cas de le dire !). Si on utilise ton code, VB ne le fera qu'une fois, vu qu'il n'y a pas de boucle, et on se retrouve donc au 2) : les 38 espaces seront ajoutés en même temps, la barre progressera donc d'un coup.
Voilà, j'espère que mes explications sont compréhensibles...
2 juil. 2007 à 17:37
remplace ça :
# Private Sub Progress(ByVal SleepVar As Long)
# Dim i As Integer
# For i = 1 To 38
# Console.Write(" ")
# System.Threading.Thread.Sleep(SleepVar)
# Next i
# End Sub
# Private Sub WriteRien(ByVal NOF As Integer)
# Dim i As Integer
# For i = 1 To NOF
# Console.WriteLine("")
# Next i
# End Sub
par ça :
# Private Sub Progress(ByVal SleepVar As Long)
# WriteRien 38
# System.Threading.Thread.Sleep (SleepVar)
# End Sub
#
# Private Sub WriteRien(ByVal NOF As Integer)
# Dim i As Integer
# For i = 1 To NOF
# Console.WriteLine ("")
# Next i
# End Sub
________________________________________________________________-
ps: remplace "# " par rien. c'est juste pour distinguer le code de mes commentaires !
30 juin 2007 à 12:51
30 juin 2007 à 10:59
Do
Loop While 1=1 'ca ne s'arrêtera JAMAIS
While 1=1 'ca no plus !
Wend
_________________________________
Dim i as Integer
i = 0 'optionnel! initialisé à 0
Do
i = i + 1
debug.print i
Loop While i <= 10 ' 0 -> 10
debug.print "finiiiiiiii!"
30 juin 2007 à 10:44
Je ne connaissais pas For i = 1 To .... mais maintenant je comprends mieux le système des boucles. Je crois que je vais utiliser For à la place de While dorénavant, ca me semble plus simple et plus efficace.
29 juin 2007 à 19:01
29 juin 2007 à 11:57
J'ai aussi ajouté CreerBarre, qui automatise la création de la barre et l'avancement, et qui positionne automatiquement le texte qui doit s'afficher au milieu de la ligne 6 de la console.
28 juin 2007 à 14:50
# Private Sub WriteRien(NOF As Integer)
# Dim i As Integer
# For i = 1 To NOF
# Console.WriteLine ("")
# Next i
# End Sub
remplace ça :
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine(" Voici un petit exemple de barre d'avancement jaune.")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
par ça :
# WriteRIEN 5
# Console.WriteLine(" Voici un petit exemple de barre d'avancement jaune.")
# WriteRIEN 6
___________________________________________________________
et ça :
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine(" Et une autre barre d'avancement, rouge cette fois.")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
# Console.WriteLine("")
par ça :
# WriteRIEN 5
# Console.WriteLine(" Et une autre barre d'avancement, rouge cette fois.")
# WriteRIEN 6
________________________________________________________________-
ps: remplace "# " par rien. c'est juste pour distinguer le code de mes commentaires !
28 juin 2007 à 11:43
28 juin 2007 à 11:19
il faut nettoyer tout ça, c'est de la bidouille totale pour l'instant.
28 juin 2007 à 10:45
# Private Sub Progress(SleepVar As Long)
# Dim i As Integer
# For i = 1 To 37
# Console.Write (" ")
# System.Threading.Thread.Sleep (SleepVar)
# Next i
# End Sub
remplace ça :
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
# System.Threading.Thread.Sleep(200)
# Console.Write(" ")
par ça :
# Progress 200
_________________________________________________________________
et çà :
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
# System.Threading.Thread.Sleep(100)
# Console.Write(" ")
par ça :
# Progress 100
_____________________________________________________________________-
ps: remplace "# " par rien. c'est juste pour distinguer le code de mes commentaires !
28 juin 2007 à 10:06