IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Probleme de menu


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 32
    Par défaut Probleme de menu
    Bonjour,

    je me lance dans powershell, et j'ai un problème avec un menu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    function Show-Menu
    {
         param (
               [string]$Title = 'Menu Outils'
         )
         cls
         Write-Host "============== $Title =============="
         Write-Host
         Write-Host "               Procedures :"
         Write-Host
         Write-Host "     1: Verification" -ForegroundColor green
         Write-Host "     2: Defragmentation" -ForegroundColor Cyan 
         Write-Host
         Write-Host "     Q: Quitter."
         Write-Host
         Write-Host "========================================================"
    }
    
    function Show-Menu2
    {
         param (
               [string]$Title = 'Menu Choix de la base'
         )
         cls
         Write-Host "================ $Title =================" 
         Write-Host
         Write-Host
         Write-Host "     1: base 1." 
         Write-Host "     2: base 2." 
         Write-Host "     3: base 3." 
         Write-Host "     4: base 4."
         Write-Host
         Write-Host "     r: Retour."
         Write-Host
         Write-Host "========================================================" 
    }
    do
    {
         Show-Menu
         $input = Read-Host "Choisir une option ? "
         switch ($input)
         {
               '1' {
                    cls
                    Show-Menu2
                    $input = Read-Host "Choisir une Base ? "
                    switch ($input)
                                {
                                    '1' {
                                                Write-Host
                                                Write-Host "Verification de la base 1" 
                                    }'2' {
                                                Write-Host
                                                Write-Host "Verification de la base 2"                       
                                    }'3' {
                                                Write-Host
                                                Write-Host "Verification de la base 3"                      
                                    }'4' {
                                                Write-Host
                                                Write-Host "Verification de la base 4"                                           
                                    }'r' {
                                                return
                                            }
                                }
               } '2' {
                    cls
                    Show-Menu2
                    $input = Read-Host "Choisir une Base ? "
                    switch ($input)
                              {
                                    '1' {
                                                Write-Host
                                                Write-Host "Defragmentation de la base 1" 
                                    }'2' {
                                                Write-Host
                                                Write-Host "Defragmentation de la base 2"                       
                                    }'3' {
                                                Write-Host
                                                Write-Host "Defragmentation de la base 3"                      
                                    }'4' {
                                                Write-Host
                                                Write-Host "Defragmentation de la base 4"                                           
                                    }'r' {
                                                return
                                            }
                               }
               } 'q' {
                      return
               }
         }
         pause
    }
    until ($input -eq 'q')
    mon pb: lorsque je suis dans le sous menu je souhaite retourner au menu principal, je sors du powershell au lieu de revenir et afficher le menu principal.
    si vous avez une solution pour moi je suis preneur,
    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 281
    Par défaut
    salut michelr06

    ta la même variable pour le menu et le sous menu
    du coup quand tu reviens au menu principal elle contient 'r' et donc te fais sortir
    au premier abord il te suffit e changer le nom de la variable du sous menu !!

  3. #3
    Membre averti
    Inscrit en
    Février 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 32
    Par défaut
    Ok merci, j'avais pas vu

  4. #4
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 281
    Par défaut
    j'ai un doute sur ma réponse !! puisque tu utilise Q pour sortir du menu principal
    en faite je me suis totalement tromper

    après contrôle tous les return ce fait dans la même boucle do/until
    donc tu sort systématiquement du script
    il faut que tu fasse une boucle do/until spécifique pour chaque read-host/menu
    ou mettre le switch dans la fonction qui affiche le menu

    de plus pour sortir d'un boucle ou switch il faut utilisé le BREAK !!

    désolé pour ma première réponse erroné

  5. #5
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    En effet la deuxième réponse de @6ratgus est dans le juste.

    Tu utilise des return qui du coup quittent le script.

    Mais au delà de ça tu n'as pas de contrôle de cohérence dans ton menu.
    A partir du moment ou je saisi autre chose que 1, 2, 3 ou 4 dans un sous menu je quitte le menu.
    Alors que je devrais être obligé de saisir de 1 à 4 (ou plus si plus de base) ou bien r pour revenir au menu précédent

Discussions similaires

  1. Probleme de menu deroulant Sous IE6
    Par Althor dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 22/09/2006, 14h31
  2. Probleme colonnes + menu separé
    Par Chenr dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 31/08/2006, 15h09
  3. probleme Clonage menu
    Par vincedjs dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 02/03/2006, 11h32
  4. [CSS] Probleme de "MENU"
    Par nocy dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 14/01/2006, 18h38
  5. Probleme affichage menu (.js)
    Par freud dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/10/2005, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo