- Ajout de macros pour la gestion de tables de chaines (une clé+une chaine).
- Ajout de macros pour la gestion de listes de chaines.
- Ajouts des différentes macros qui m'ont été suggérées le long de ce fil.
- Correction de bugs.
Exemple: affichage d'une série de points avec une seule instruction LabelDot et trois listes (dont deux listes de chaines):
- Code: Tout sélectionner
[
position:=[-1,i,1,-i], //liste des affixes
StrListInit( name, "$A$", "$B$", "$C$", "$D$"), //liste des noms
StrListInit(orientation, "O", "N", "E", "S"), //liste des orientations
for k from 1 to name(0) do //name(0) est le nombre d(éléments de la liste
LabelDot( position[k], @name(k), @orientation(k), 1), //accès à l'élément k des listes
od,
StrListKill(name, orientation) //destructions des listes de noms (facultatif)
]
La même chose peut se faire avec 2 tables au lieu des trois listes, une table de correspondance entre les affixes et les noms, une table de correspondance entre les affixes et les orientations:
- Code: Tout sélectionner
[
TableInit(name, "-1", "$A$", "i", "$B$", "1", "$C$", "-i", "$D$"), //table des noms (format: "cle", "chaine", "cle, "chaine",...)
TableInit(orientation, "-1", "O", "i", "N", "1", "E", "-i", "S"), //table des orientations
{parcourt de la table name, @TableKey désigne la clé courante, et @TableVal la chaine courante }
TableMap( name,
LabelDot( Eval(@TableKey), @TableVal, @orientation(@TableKey),1),
),
TableKill( name, orientation) //destruction des tables (facultatif)
]