![]() |
|
Précédent | Sommaire | Suivant 4.4 Sauts relatifsContrairement aux labels, les sauts relatifs sont, comme leur nom l'indique, relatifs à l'emplacement depuis lequel ils sont appelé. Vous pouvez utiliser des sauts relatifs partout ou vous utilisez des labels. Les sauts relatifs sont indiqués par des nombres. +1 saute à l'instruction suivante (déplacement par défaut), +2 sautera une instruction et ira la seconde instruction à partir de celle courante, -2 sautera de deux instructions en arrière, et +10 sautera 9 instructions, allant à la dixième instruction à partir de celle courante. Une instruction est une commande exécutée par le script, lorsque l'installation est exécutée. MessageBox, Goto, GetDLLVersion, FileRead, SetShellVarContext sont toutes des instructions. AddSize, Section, SectionGroup, SectionEnd, SetOverwrite (et tout ce qui se trouve dans Attributs de la compilation), Name, SetFont, LangString, ne sont pas des instructions car elles sont exécutées lors de la compilation. Exemples : Goto +2 MessageBox MB_OK "Vous ne verrez jamais ce message" MessageBox MB_OK "L'instruction précédente a été sautée, ce message doit apparaitre" Goto +4 MessageBox MB_OK "Non, pas ici" Goto +3 MessageBox MB_OK "L'homme invisible" Goto -3 MessageBox MB_OK "Terminé" Notez que l'insertion de macro n'est pas considérée comme une instruction quand elle mène à des sauts relatifs. La macro est étendue avant que le saut relatif soit appliqué, et ainsi les sauts relatifs peuvent sauter dans le code à l'intérieur d'une macro insérée. Le code suivant, par exemple, ne sautera pas la macro. Cela affichera une boite de message. !macro relative_jump_test MessageBox MB_OK "première ligne de macro" MessageBox MB_OK "seconde ligne de macro" !macroend Goto +2 !insertmacro relative_jump_test Précédent | Sommaire | Suivant |
||
|