If multi-varaibles et MsgBox unique

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Westcb28
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mer. 01 juil. 2015 11:06
Status : Hors ligne

If multi-varaibles et MsgBox unique

#1

Message par Westcb28 »

Bonjour tout le monde, c'est encore moi désolé :D

J'ai plusieurs variable de type :

$Appli1 = 1
$Appli2 = 0
$Appli3 = 1
...

A partir de ces variables, j'aimerai faire apparaitre un message via MsgBox indiquant uniquement celles à 0 dans le style "Attention, l'application xxxx est à 0".

Merci pour votre aide légendaire.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: If multi-varaibles et MsgBox unique

#2

Message par Tlem »

Bonjour.

Voilà :

Code : Tout sélectionner

Local $sRes

Local $Appli1 = 1
Local $Appli2 = 0
Local $Appli3 = 1
Local $Appli4 = 1
Local $Appli5 = 0

For $i = 1 to 5
	If Eval("Appli" & $i) = 0 Then $sRes &= "Attention, l'application $Appli" & $i & " est à 0" & @CRLF
Next

MsgBox(32, "Informations", $sRes)
De rien.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Westcb28
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mer. 01 juil. 2015 11:06
Status : Hors ligne

Re: If multi-varaibles et MsgBox unique

#3

Message par Westcb28 »

Super et grand merci Tlem...Une belle épine retirée du pied. Bon week end 8)
Westcb28
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mer. 01 juil. 2015 11:06
Status : Hors ligne

Re: If multi-varaibles et MsgBox unique

#4

Message par Westcb28 »

Ca marche pas le code Tlem car c'est de ma faute, j'avais pas tout dit et je m'en excuse... :? Chaque fichier TXT contient 0 ou 1 (0 = OK et 1 = KO)

Voici comment devrait être le code par exemple mais forcément il fonctionne pas :

Code : Tout sélectionner

Local $sRes

Local $Word = FileRead ("C:\temp\word.txt")
Local $Excel = FileRead ("C:\temp\excel.txt")
Local $Powerpoint = FileRead ("C:\temp\powerpoint.txt")
Local $notepad = FileRead ("C:\temp\notepad.txt")
Local $SQLServer = FileRead ("C:\temp\SQLServer.txt")

For $i = 1 to 5
	If Eval("Appli" & $i) = 0 Then $sRes &= "Attention, l'application $Appli" & $i & " est à 0" & @CRLF
Next

MsgBox(32, "Informations", $sRes)
Comment puis je faire ?
Avatar du membre
TomAijerrie
Niveau 5
Niveau 5
Messages : 192
Enregistré le : lun. 02 juin 2014 09:55
Localisation : Lyon
Status : Hors ligne

Re: If multi-varaibles et MsgBox unique

#5

Message par TomAijerrie »

En utilisant une variable tableau

Code : Tout sélectionner

Local $sRes = ""

Global $Liste[5][2]

$Liste[0][0] = "Word"
$Liste[1][0] = "Excel"
$Liste[2][0] = "PowerPoint"
$Liste[3][0] = "Notepad"
$Liste[4][0] = "SQLServeur"

For $i = 0 to 4
        $Liste[$i][1] = FileRead ("C:\temp\" & $Liste[$i][0] & ".txt")
	If  $Liste[$i][1] = 0 Then $sRes &= "Attention, l'application " &  $Liste[$i][0] & " est à 0" & @CRLF
Next

MsgBox(32, "Informations", $sRes)
Petite explication:
J'ai déclaré la variable $Liste comme étant un tableau de 5 lignes et 2 colones
1 ligne par logiciel, Appli 0 à Appli 4 (les tableaux commencent à 0)
Une colonne pour le nom (la colonne 0), et l'autre pour le contenu du fichier.
Vu que le nom du fichier est le nom de l'appli, j'ai même pu mettre les FileRead(..) dans la boucle
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: If multi-varaibles et MsgBox unique

#6

Message par mikell »

Possible aussi, plutôt qu'une ribambelle de .txt, utiliser un seul fichier applis.ini du genre

Code : Tout sélectionner

[applis]
word=1
Excel=0
Notepad=1
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Westcb28
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mer. 01 juil. 2015 11:06
Status : Hors ligne

Re: If multi-varaibles et MsgBox unique

#7

Message par Westcb28 »

Bravo Mikell et merci d'avance. Je teste ça lundi matin et je te tiens au courant. Bon week end
Westcb28
Niveau 2
Niveau 2
Messages : 24
Enregistré le : mer. 01 juil. 2015 11:06
Status : Hors ligne

Re: If multi-varaibles et MsgBox unique

#8

Message par Westcb28 »

TomAijerrie a écrit : ven. 29 sept. 2017 12:48 En utilisant une variable tableau

Code : Tout sélectionner

Local $sRes = ""

Global $Liste[5][2]

$Liste[0][0] = "Word"
$Liste[1][0] = "Excel"
$Liste[2][0] = "PowerPoint"
$Liste[3][0] = "Notepad"
$Liste[4][0] = "SQLServeur"

For $i = 0 to 4
        $Liste[$i][1] = FileRead ("C:\temp\" & $Liste[$i][0] & ".txt")
	If  $Liste[$i][1] = 0 Then $sRes &= "Attention, l'application " &  $Liste[$i][0] & " est à 0" & @CRLF
Next

MsgBox(32, "Informations", $sRes)
Petite explication:
J'ai déclaré la variable $Liste comme étant un tableau de 5 lignes et 2 colones
1 ligne par logiciel, Appli 0 à Appli 4 (les tableaux commencent à 0)
Une colonne pour le nom (la colonne 0), et l'autre pour le contenu du fichier.
Vu que le nom du fichier est le nom de l'appli, j'ai même pu mettre les FileRead(..) dans la boucle
Merci beaucoup TomAijerrie, j'ai choisi cette méthode et en adaptant 2/3 choses, ça répond nickel à mon besoin. Super top 8)
Répondre