[R] Afficher une liste de paramètres dans uns Msgbox

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
obi_one
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 19 sept. 2007 17:24
Status : Hors ligne

[R] Afficher une liste de paramètres dans uns Msgbox

#1

Message par obi_one »

Salut à tous,

voila, tout est dans le titre, je cherche à mettre une boucle dans un msgbox !

Je m'explique :

J'ai un fichier ini dans lequel se trouve une liste de parametre (nombre de parametre inconnu et variable)

Code : Tout sélectionner

[GENERAL]
NbrPara=3
para1=toto
para2=titi
para3=tata
...
 
Je souhaite afficher un msgbox avec les parametres comme ceci :

Les parametres sont :
-toto
-titi
-tata

Aprés plusieurs essais, je me tourne vers vous pour m'aiguillé dans ma recherche.


Voila pour le moment ce que j'ai :

Code : Tout sélectionner

$ini = config.ini
$i = 1
$nbr = IniRead($ini, "GENERAL", "NbrPara", "0")

MsgBox(0, "Mon application", "Les parametres sont : & _
    While $i = $nbr
        IniRead($ini, "GENERAL", "para" & $i, "0") & chr(10)
        $i = $i ++
    WEnd 
& ", 5)
 
Voila, je débute avec Auto-it, j'ai essayé de tourné le code dans tout les sens avec des & _, des &,... j'ai toujours des erreurs et je ne connait pas vraiment la synthaxe exacte.

Si quelqu'un pouvait m'aider sans pour autant me passer un code tout fait (ou alors bien commenté :lol: ).

Merci d'avance
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#2

Message par ani »

bonjour et soit le bienvenu obi_one :)

je suis novice aussi :o

ma première vision c'est la boucle while dans un msgbox, c'est la première fois que je rencontre çeux-ci , il est fort possible que çà vienne de là et le $i ++ ?

Mon avis de novice est le suivant lecure du fichier ini (clé)
passer par une boucle for next pour récuperer les indices (sous-clé)

tu y cree une variable et l'introduit dans le message box

for $x = 1 to clé
$mariable =(lecture des sousclé ini)
next

msgbox(0,"le titre", "le texte" & $mavariale & "fin de texte")

je passe la main :<
car je suis certain d'avoir tord ^__^

merci à tous :)
obi_one
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 19 sept. 2007 17:24
Status : Hors ligne

#3

Message par obi_one »

Salut ani,

bon pour commencer : Merci
ani a écrit : et le $i ++ ?
remplacer par

Code : Tout sélectionner

$i = $i + 1
Erreur de ma part assez bête
ani a écrit : $mariable =(lecture des sousclé ini)
OK mais comment rajouter du texte dans une variable ? car :

Code : Tout sélectionner

$variable_1 = 'toto'
$variable_2 = 'titi'

$resultat = $variable_1 + $variable_2

;$resultat vaut  0
 
Je continue de chercher de mon coté. Je vais essayer de passer par une boucle For .. Next à la place de While


@+
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

#4

Message par ani »

ok :)

je te donne un coup de main , visionne l'aide pour plus d'info et si çà ne va toujours pas demande ;)

Code : Tout sélectionner

;$var equivaut au valeur des sous clé 
$var ='' 
;le fichier ini 
$ini = 'config.ini' 
;lecture de l'entete du fichier ini 
$nbr = IniReadSection($ini,"GENERAL") 
;si y a une erreur un message 
If @error Then 
MsgBox(4096, "", "Erreur, Aucun fichier trouvé.") 
Else 
;on commence la boucle for sur le fichier ini (lecture clé sous clé) 
For $i = 1 To $nbr[0][0] 
; si on trouve le premier indice on lui demande d'afficher 
; le nom du premier ( qui est parametre et de sa valeur ici 3) 
if $i = 1 then 
$var &= $nbr[$i][0] & ":" & $nbr[$i][1] & @CRLF 
Else ; le else signifie sinon 
$var &= "-" & $nbr[$i][1]& @CRLF 
EndIf 
Next
EndIf 
MsgBox(4096, "",$var )
script_Affiche a écrit : la sortie du msgbox ressemblera à ceux-ci
NbrPara:3
-toto
-titi
-tata
on voit var &= cette valeur s'ajoute au précedente, je ne suis pas sure du terme (concatenancer)


si tu ne voudrais pas affichier nbrpara:3 , tu fait la mëme chose que précedement

si l'indice 1 = 1 alors on continue
if $i = 1 then continueloop

en fin de boucle for next arrivé au msgbox
msgbox(4096,"Mon application", "Les parametres sont :" & @crlf & $var)


ps: hésite pas à demander, car mon explique n'est pas toujours compréhensible même pour moi ¨_¨
obi_one
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mer. 19 sept. 2007 17:24
Status : Hors ligne

#5

Message par obi_one »

Merci ani, ça marche nickel :D

Mais j'ai quand même une question :
ani a écrit : $var &= "-" & $nbr[$i][1]& @CRLF
A quoi sert la partie en rouge ?
En gros quel différence entre "=" et "&="


Encore un grand merci pour ce code !

A part cette partie, j'ai tout compris (tu vois : tu es compréhensible :wink: )

@+
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#6

Message par sylvanie »

bonsoir,

$var&="toto" est équivalent à $var=$var&"toto"

ceci marche aussi avec + - * / et peut être d'autre que j'oublie ...
ainsi $i=$i+1 peut s'écrire $i+=1
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Répondre