; #FUNCTION# ==================================================================================================================== ; Name...........: _ArrayShift ; Description ...: Verschiebt den Inhalt eines Array um die angegebene Zahl nach links oder rechts ; Syntax.........: _ArrayShift(ByRef $aShift, $iShift) ; Parameters ....: $aShift - Zu bearbeitendes Array ; $iShift - Integerzahl um die verschoben werden soll (Bei $iShift < 0 wird nach links verschoben) ; Return values .: Erfolg - 1 ; Fehler - 0, setzt @error: ; |-1 - $aShift ist kein Array ; |-2 - $iShift ist keine Integerzahl ; Author ........: name22 ; Includes.......: Array.au3 ; =============================================================================================================================== Func _ArrayShift(ByRef $aShift, $iShift) If Not IsInt($iShift) Then Return SetError(-2, 0, 0) If Not IsArray($aShift) Then Return SetError(-1, 0, 0) $iSize = UBound($aShift) $iShift *= -1 If $iShift < 0 Then $iShift *= -1 $iShift = $iSize - $iShift EndIf For $iI = 1 To $iShift For $i = 0 To $iSize - 1 $iNew = $i + 1 If $iNew > $iSize - 1 Then $iNew -= 1 _ArraySwap($aShift[$i], $aShift[$iNew]) Next Next Return 1 EndFunc ;==>_ArrayShift