Soyez le premier à donner votre avis sur cette source.
Vue 12 188 fois - Téléchargée 595 fois
'Le code de l'application (Merci à ghuysmans99 !) : Module Module1 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 Private Sub CreerBarre(ByVal Texte As String, ByVal CouleurBarre As System.ConsoleColor, ByVal CouleurTexte As System.ConsoleColor, ByVal FondConsole As System.ConsoleColor, ByVal IntervalleMilliSeconds As Integer) Console.BackgroundColor = FondConsole Console.ForegroundColor = CouleurTexte Console.Clear() WriteRien(5) Console.SetCursorPosition((Console.WindowWidth - Len(Texte)) / 2, 5) Console.WriteLine(Texte) WriteRien(6) Console.WriteLine(" |--------------------------------------|") Console.WriteLine(" | |") Console.WriteLine(" |--------------------------------------|") Console.BackgroundColor = CouleurBarre Console.SetCursorPosition(20, 13) Progress(IntervalleMilliSeconds) Console.BackgroundColor = FondConsole End Sub Sub Main() Console.CursorVisible = False Console.Title = "Exemple de barre d'avancement en ligne de commandes" Console.Clear() CreerBarre("Exemple de barre d'avancement jaune dans une fenêtre console.", ConsoleColor.Yellow, ConsoleColor.Yellow, ConsoleColor.Blue, 200) System.Threading.Thread.Sleep(3000) Console.Clear() CreerBarre("Et une autre barre d'avancement, rouge cette fois.", ConsoleColor.Red, ConsoleColor.Yellow, ConsoleColor.Blue, 100) System.Threading.Thread.Sleep(3000) End Sub End Module
# Private Sub WriteRien(ByVal NOF As Integer)
# Dim i As Integer
# For i = 1 To NOF
# Console.WriteLine(" ")
# Next i
# End Sub
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...
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.