Page 1 sur 1

[..] Switch à plusieurs conditions

Posté : mar. 26 mai 2009 16:52
par jcaspar
B :D onjour à tous !


Je voudrais coder une boucle switch qui teste pour chaque utilisateur (80)
• son nom d'utilisateur et son nom de machine
est ce possible de donner plusieurs conditions de test dans le cas d'une boucle switch ?
peut être vaudrait il mieux faire une boucle avec des if ..elseif ?

Merci beaucoup pour vos explications et conseils

JeanMarc

Code : Tout sélectionner


switch @UserName
    case "moi"  and @computername="monpc"
        RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\COMI", "BI_ECRAN", "REG_MULTI_SZ", "monecran")

 

Re: [..]switch à plusieurs conditions

Posté : mar. 26 mai 2009 17:13
par tolf
Une boucle switch ne permet que de tester la variable switchée : impossible d'ajouter d'autres conditions. C'est possible avec un select ou if mais dans votre cas, il serait mieux d'utiliser des tableaux avec tous les utilisateurs :

Code : Tout sélectionner

$userNames[80] ; à remplir avec les noms des utilisateurs
$computerNames[80] ; à remplir avec les noms des ordinateurs

$valeurs[80] ; à remplir avec les valeurs voulues

For $i = 0 To 79
    If @UserName = $userNames[$i] And @ComputerName = $computerNames[$i] Then
        ; Utilisez $valeurs[$i] dans l'expression suivante
        RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\COMI", "BI_ECRAN", "REG_MULTI_SZ", "monecran")
    EndIf
Next
L'avantage est que vous pourrez agrandir les tableaux sans modifier le code des conditions.
Vous pouvez même utiliser un fichier .ini pour enregistrer les noms d'utilisateurs, d'ordinateurs et leurs paramètres.

[R] Switch à plusieurs conditions

Posté : ven. 05 août 2011 21:54
par jcaspar
Merci pour vos réponses !

Re: [..] Switch à plusieurs conditions

Posté : sam. 06 août 2011 02:41
par matwachich
Pourquoi pas ça:

Code : Tout sélectionner

[b][u]Select[/u][/b]
Case BitAnd(@UserName = "user", @ComputerName = "nom_ordi")