;=================================================================================================== ; Function Name: _StringLenBetween(ByRef $STRING, $MIN [, $MAX=-1 [, $BORDER_IN=True]]) ; Description:: Prüft ob die Länge eines Strings innerhalb eines gegebenen Bereiches liegt ; Wird nur $MIN übergeben wird auf Länge=$MIN geprüft, auch Länge 0 möglich. ; $MIN und $MAX können auch vertauscht werden ; Parameter(s): $STRING der zu prüfende String ; $MIN Untergrenze Länge oder genaue Länge, wenn $MAX=-1 ; $MAX Obergrenze Länge, mit -1(Vorgabe) deaktiviert ; $BORDER_IN wenn 'FALSE' wird nur der Zahlenbereich zwischen $MIN und $MAX geprüft ; (Vorgabe 'TRUE' - Gesamtprüfung) ; Requirement(s): keine ; Return Value(s): Erfolg: TRUE = Länge innerhalb des Bereiches ; FALSE = Länge außerhalb des Bereiches ; Fehler: @error 1 = Untergrenze < 0 oder nicht numerisch ; @error 2 = Obergrenze nicht übergeben bei BORDER-OUT-Modus ; @error 3 = Untergrenze = Obergrenze bei BORDER-OUT-Modus ; Author(s): BugFix (bugfix@autoit.de) ;=================================================================================================== Func _StringLenBetween(ByRef $STRING, $MIN, $MAX=-1, $BORDER_IN=True) If (Not IsNumber($MIN)) Or ($MIN < 0) Then Return SetError(1) If $MAX = -1 Then If $BORDER_IN Then $MAX = $MIN Else Return SetError(2) EndIf Else If $MAX < $MIN Then Local $x = $MAX $MAX = $MIN $MIN = $x EndIf EndIf Local $len = StringLen($STRING) If Not $BORDER_IN Then If $MAX - $MIN < 1 Then Return SetError(3) $MIN += 1 $MAX -= 1 EndIf If $len >= $MIN And $len <= $MAX Then Return True Else Return False EndIf EndFunc ;==>_StringLenBetween