Schlüsselwortreferenz

For...In...Next

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


; Verwendung eines Array's
Dim $aArray[4]

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

$string = ""
For $element In $aArray
    $string = $string & $element & @CRLF
Next

Msgbox(0,"For..IN Arraytest","Das Ergebnis lautet: " & @CRLF & $string)

; Verwendung eines Objektes

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

If Isobj($oShellWindows) Then
  $string=""

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

  MsgBox(0,"","Es gibt folgende geöffnete Fenster:" & @CRLF & $String)
Else

  MsgBox(0,"","Es gibt keine geöffneten Fenster.")
Endif