[R] Aide sur la traduction d'une boucle

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

[R] Aide sur la traduction d'une boucle

#1

Message par lerin57 »

Bonjour à tous.

Je travaille actuellement sur un projet de conception de mails préformaté dans outlook.

Dans le cadre de ce projet, Ayuckers (membre du forum), m'a véritablement mâché le travail en me fournissant un exemple (que je trouve génial):
► Afficher le texte
Je précise d'abord les points suivants :
testcommande.html est un exemple créé via kompozer, contenant les valeurs cibles @Nom@, @Prenom@, @Produit@ et @RefCommande@
Les memes valeurs sont renseignée dans un fichier *.ini.

Voici Mon probleme : j'ai bien assimilé les fonction de lecture et le principe de renseignement du fichier *.ini.
Toutefois, j'aurais besoin d'explication concernant la boucle suivante :
For $i = 1 To $Tags[0][0]
$MonModel = StringReplace($MonModel, $Tags[$i][0], $Tags[$i][1])
Next


En fait j'aimerais comprendre la signification de la syntaxe $Tags[0][0], $Tags[$i][0], et $Tags[$i][1].

Par cette requète, je précise que j'ai déja parcourue les tutos et l'aide de autoit, et que j'ai bien compris le principe de la boucle.
Je désire juste appréhender ce concept de manière un peu plus claire.
Modifié en dernier par lerin57 le ven. 12 févr. 2010 10:20, modifié 2 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Aide sur la traduction d'une boucle

#2

Message par Tlem »

$Tags[0][0] est un tableau à deux dimensions.
Ce qui est entre crochet représente 'les coordonnées' dans le tableau de la valeur que l'on souhaite atteindre.

Donc $Tags[0][0] signifie que l'on utilise la valeur qui ce trouve colonne 0 et ligne 0 et en l'occurrence, cette 'case' contient le nombre d'élément (de ligne) du tableau (Attention ceci n'est pas toujours vrai, cela dépend des cas ;)).

Donc dans le code que vous présentez, le principe de la boucle et de partir de la ligne 1 (For $i = 1) jusqu'à la dernière ligne du tableau ($Tags[0][0]).

Ensuite, avec la ligne $MonModel = StringReplace($MonModel, $Tags[$i][0], $Tags[$i][1]) on remplace dans la chaine $MonModel la chaine qui ce trouve dans la valeur $Tags[$i][0] (ligne $i colonne 0) par la chaine qui ce trouve dans la valeur $Tags[$i][1] (ligne $i colonne 1) et on met tout ce petit monde dans la variable $MonModel.

Voilà, j'espère que les choses sont un peut plus claire maintenant. ;)
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é".
lerin57
Niveau 4
Niveau 4
Messages : 97
Enregistré le : mer. 30 sept. 2009 12:50
Status : Hors ligne

Re: [R] Aide sur la traduction d'une boucle

#3

Message par lerin57 »

Merci pour cette explication, c'est effectivement beaucoup plus clair.

J'arrive au bout de mon projet.

J'ai un autre post que je vais pouvoir mettre en résolu.

Merci en core pour ton aide.

(ps : je n'avais pas pensé à l'explication du tableau, je vais la garder dans un coin pour les prochaines fois ... :wink: )
Répondre