Schlüsselwortreferenz


For...In...Next

Beschreibung anzeigen in

Durchläuft Elemente in einer Objektsammlung oder einem Array.

For <Variable> In <expression>
statements
...
Next

Parameter

Variable Eine Variable, der ein Element zugewiesen ist
expression Muss ein Ausdruck basierend auf einem Objekt oder einem Array mit mindestens einem Element sein

Bemerkungen

Die Variable wird automatisch als lokale Variable deklariert, auch wenn MustDeclareVars aktiviert ist.
Falls der Ausdruck eine Objektsammlung ohne Elemente oder ein mehrdimensionales Array ist, wird die Schleife übersprungen und die Variable enthält einen leeren String.
Falls der Ausdruck kein Objekt oder Array ist, wird das Skript mit einem Fehler beendet, außer wenn ein COM Errorhandler eingerichtet wurde.

Die Arrays von AutoIt sind schreibgeschützt, wenn For...In verwendet wird. Obwohl man der Variable innerhalb der For...In-Schleife einen Wert zuweisen kann, spiegelt sich diese Änderung nicht im Array selbst wider. Um den Inhalt eines Arrays während des Durchlaufs anzupassen, ist eine For...To-Schleife zu verwenden.

For...In...Next-Schleifen können verschachtelt werden.

Verwandte Funktionen

With...EndWith

Beispiel

#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; ein Array verwenden
    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 & "Das Ergebnis lautet: " & @CRLF & $sString)

    ; Verwendung eines Objektes

    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, "", "Es gibt folgende geöffnete Fenster:" & @CRLF & $sString)
    Else

        MsgBox($MB_SYSTEMMODAL, "", "Es gibt keine geöffneten Fenster.")
    EndIf
EndFunc   ;==>Example