Partage
  • Partager sur Facebook
  • Partager sur Twitter

Diviser le cmd en deux parties

    29 mars 2022 à 17:38:55

     Bonjour, j'aimerai savoir si cela est possible, si oui, comment je fais pour séparer le premier bloc du deuxième bloc ?
    Par exemple à la fin du script, j'aimerai que le bloc du haut ne bouge pas, mais que les informations du bas, changent.
    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      29 mars 2022 à 18:35:57

      Dans un fichier en type bat, je ne suis pas vraiment sûr que ce soit faisable; pour faire ça, sauf erreur de ma part, il faut gérer ton affichage en mode graphique.
      Avec Powershell, on a accès au framework .NET, donc on peut en principe créer des fenêtres type winforms
      • Partager sur Facebook
      • Partager sur Twitter
        30 mars 2022 à 6:51:55

        Salut,

        @umfred, je pense que c'est au niveau de la console :)

        @Aleks__, l'astuce est d'effacer la console et de réafficher l'ensemble avant chaque input().

        import os 
        
        def print_title():
            os.system("cls") # ou os.system("clear") pour Mac et Linux
            print("*" * 22)
            print("*     Calcul IMC     *")
            print("*" * 22)
            print("")
        
        while True:
            print_title()
            print("Format pour le poids : 80 (en Kg)")
            poids = int(input("Entrez votre poids : "))
            print_title()
            print("Format pour la taille : 1.90 (en Mètre)")
            taille  = float(input("Entrez votre taille : "))
            print_title()
            print("Votre IMC est de :",poids/(taille**2))
            reponse = input('Continuer o / n ? : ')
            if reponse == "n":
                break




        -
        Edité par Diablo76 30 mars 2022 à 6:57:09

        • Partager sur Facebook
        • Partager sur Twitter
          30 mars 2022 à 10:42:09

          Par défaut un terminal s'utilise en mode Command-Line Interface (CLI, ou interface en ligne de commande en français). Les programmes et scripts utilisés dans ce mode sont conçus avec le paradigme de la programmation séquentielle. Ils prennent leurs arguments depuis la ligne de commande et se déroulent, sauf à quelques occasions, sans rien demander à l'utilisateur.

          Il est aussi possible d'utiliser un terminal en mode Text-based User Interface (TUI, ou environnement en mode texte). Dans ce mode les programmes sont conçus avec le paradigme de la programmation événementielle, comme les interfaces utilisateur graphiques (GUI), mais pour pouvoir utiliser ce mode, les programmes, doivent reconfigurer le terminal afin d'être capable de manipuler l'affichage et les événements (clavier, souris, etc). Et pour ce faire, il y a heureusement des bibliothèques TUI.

          PS: Faire une TUI c'est comme faire une GUI mais avec beaucoup de contraintes et de limitations.

          -
          Edité par ЯК 30 mars 2022 à 10:45:37

          • Partager sur Facebook
          • Partager sur Twitter
            31 mars 2022 à 18:43:07

            Diablo76 a écrit:

            Salut,

            @umfred, je pense que c'est au niveau de la console :)

            @Aleks__, l'astuce est d'effacer la console et de réafficher l'ensemble avant chaque input().

            import os 
            
            def print_title():
                os.system("cls") # ou os.system("clear") pour Mac et Linux
                print("*" * 22)
                print("*     Calcul IMC     *")
                print("*" * 22)
                print("")
            
            while True:
                print_title()
                print("Format pour le poids : 80 (en Kg)")
                poids = int(input("Entrez votre poids : "))
                print_title()
                print("Format pour la taille : 1.90 (en Mètre)")
                taille  = float(input("Entrez votre taille : "))
                print_title()
                print("Votre IMC est de :",poids/(taille**2))
                reponse = input('Continuer o / n ? : ')
                if reponse == "n":
                    break



            Si je veux faire ça dans mon script j'inclus cela comment ?

            import os
            
            class CalculIMC:
            
                IMC = ""
                pmasse = ""
                ltaille = ""
                confirm = ""
            
            
                def menu():
                    os.system("cls")
                    print("""
            
            
                     __  .___  ___.   ______           ______      ___       __        ______  __    __   __      
                    |  | |   \/   |  /      |         /      |    /   \     |  |      /      ||  |  |  | |  |     
                    |  | |  \  /  | |  ,----'        |  ,----'   /  ^  \    |  |     |  ,----'|  |  |  | |  |     
                    |  | |  |\/|  | |  |             |  |       /  /_\  \   |  |     |  |     |  |  |  | |  |     
                    |  | |  |  |  | |  `----.        |  `----. /  _____  \  |  `----.|  `----.|  `--'  | |  `----.
                    |__| |__|  |__|  \______| ______  \______|/__/     \__\ |_______| \______| \______/  |_______|
                                             |______|                                                             
                    
                    ##############################################################################################
                    
                    """)
                    CalculIMC.valeur()
            
            
            
                def valeur():
                    CalculIMC.pmasse = float(input(" /!\ - Format pour la masse par exemple : 80 (en Kg)\n\n - La masse est : "))
                    CalculIMC.ltaille = float(input("\n\n\n /!\ - Format pour la taille par exemple : 1.90 (en mètre)\n\n - La taille est : "))
                    CalculIMC.calcul_imc()
            
            
                ## Calcul de l'IMC + affichage
                def calcul_imc():
                    CalculIMC.IMC = CalculIMC.pmasse / (CalculIMC.ltaille*CalculIMC.ltaille)
                    print("\n\n - Votre IMC est de : ",CalculIMC.IMC)
                    CalculIMC.reboot()
                    
                
                ## Demande si la personne veut refaire le script ou pas, ou sinon fermeture du script
                def reboot():
                    CalculIMC.confirm = print("\n\n\n - Voulez-vous calculer un autre IMC ?")
                    CalculIMC.confirm = input(" - n pour non, la touche entrée pour oui : ")
                    if CalculIMC.confirm == "n":
                        os.system('exit')
                    elif CalculIMC.confirm == "N":
                        os.system('exit')
                    elif CalculIMC.confirm == "":
                        CalculIMC.menu()
                    else:
                        CalculIMC.reboot()
             
                    
            if __name__ == "__main__":
                CalculIMC.menu()
            
            




            -
            Edité par Diablo76 hier à 6:57



            • Partager sur Facebook
            • Partager sur Twitter
              1 avril 2022 à 3:57:43

              C'est relativement simple à adapter, je te laisse y réfléchir...

              Petit indice : déplace ta ligne 27 après ta ligne 59, ensuite appelle ta méthode menu() avant chaque input() ou print()

              -
              Edité par Diablo76 1 avril 2022 à 5:18:48

              • Partager sur Facebook
              • Partager sur Twitter

              Diviser le cmd en deux parties

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              • Editeur
              • Markdown