Mot-clés AutoIt


For...In...Next

Répète un bloc d'instructions en énumérant les éléments d'une collection d'objets ou d'un tableau.

For <$Variable> In <expression>
    Instructions
    ...
Next

Paramètres

Variable Une variable à laquelle un élément de l'énumération est assigné
expression Doit être une expression aboutissant à un objet, ou un tableau avec au moins un élément

Remarques

La Variable sera créée automatiquement avec une portée Local, même lorsque MustDeclareVars est utilisé.
Si l'expression est une collection d'Objet sans éléments, ou un tableau multidimensionnel, la boucle sera sautée et la Variable contiendra une chaîne vide.
Si l'expression n'est pas un Objet ou un Tableau, le script s'arrêtera avec une erreur, à moins qu'un Système de gestion d'exceptions COM n'ait été configuré.
Les tableaux AutoIt sont en lecture seule lors de l'utilisation de For...In. Tandis que vous pouvez assigner une valeur à la variable dans la boucle For...In, ce changement n'est pas reflété dans le tableau lui-même. Pour modifier le contenu d'un tableau pendant l'énumération, utilisez une boucle For...To.

Les instructions For...In...Next peuvent être imbriquées.

En relation

With...EndWith

Exemple

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Utilisation d'un tableau
    Local $aArray[4]

    $aArray[0] = "a"
    $aArray[1] = 0
    $aArray[2] = 1.3434
    $aArray[3] = "test"

    Local $sString = ""
    For $vElement In $aArray
        $sString = $sString & $vElement & @CRLF
    Next

    MsgBox($MB_SYSTEMMODAL, "", "For..IN Arraytest:" & @CRLF & "Result is: " & @CRLF & $sString)

    ; Utilisation d'une collection d'objets

    Local $oShell = ObjCreate("shell.application")
    Local $oShellWindows = $oShell.windows

    If IsObj($oShellWindows) Then
        $sString = ""

        For $Window In $oShellWindows
            $sString = $sString & $Window.LocationName & @CRLF
        Next

        MsgBox($MB_SYSTEMMODAL, "", "You have the following windows open:" & @CRLF & $sString)
    Else

        MsgBox($MB_SYSTEMMODAL, "", "You have no open shell windows.")
    EndIf
EndFunc   ;==>Example