Barre d'avancement dans une application console

Description

Cette source sert à montrer comment réaliser une barre d'avancement dans une application console.
Elle utilise ici les commandes System.Threading.Thread.Sleep pour avancer, mais on peut remplacer ces lignes de code par d'autres commandes, par exemple la copie d'un fichier.
Pour créer une barre, il suffit de taper CreerBarre(Texte qui va s'afficher, Couleur de la barre, Couleur du texte, Couleur de fond de la console, Intervalle).

Source / Exemple :


'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

Codes Sources

A voir également

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.