Page 1 sur 1

If multi-varaibles et MsgBox unique

Posté : jeu. 28 sept. 2017 15:54
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.

Re: If multi-varaibles et MsgBox unique

Posté : jeu. 28 sept. 2017 16:23
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.

Re: If multi-varaibles et MsgBox unique

Posté : ven. 29 sept. 2017 08:54
par Westcb28
Super et grand merci Tlem...Une belle épine retirée du pied. Bon week end 8)

Re: If multi-varaibles et MsgBox unique

Posté : ven. 29 sept. 2017 09:18
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 ?

Re: If multi-varaibles et MsgBox unique

Posté : ven. 29 sept. 2017 12:48
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

Re: If multi-varaibles et MsgBox unique

Posté : ven. 29 sept. 2017 14:00
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

Re: If multi-varaibles et MsgBox unique

Posté : ven. 29 sept. 2017 17:00
par Westcb28
Bravo Mikell et merci d'avance. Je teste ça lundi matin et je te tiens au courant. Bon week end

Re: If multi-varaibles et MsgBox unique

Posté : lun. 02 oct. 2017 10:42
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)