#Region - TimeStamp ; 2011-10-01 12:37:17 v 0.1 #EndRegion - TimeStamp ;=============================================================================== ; Function Name....: _LenGroupedOutput ; Description......: Längengruppierten Ausgabestring aus bis zu 10 Werten erzeugen ; Parameter(s).....: $sLen Festlegen der Stringlänge der übergebenen Werte ; '-ANZAHL' das Minus gibt an: ANZAHL gilt für ALLE übergebenen Werte ; 'ANZAHL_1,ANZAHL_2,..ANZAHL_n' ANZAHL_n für Element 'n' ; bei $iAlign=0: n-1 (bis vorletztes Element) ; $charFill Zeichen, das zum Auffüllen verwendet werden soll ; $iAlign '0'= LeftAlign, '1'= RightAlign ; $var_1 .._10 Bis zu 10 Werte, die gruppiert werden sollen ; Return Value(s)..: Erfolg Der gruppierte String ; Fehler @error 1 - $sLen nicht für alle Elemente übergeben ; @error 2 - $charFill ist Leerstring oder zu lang ; Author(s)........: BugFix ( bugfix@autoit.de ) ;=============================================================================== Func _LenGroupedOutput($sLen, $charFill, $iAlign, $var_1, $var_2, $var_3='-0', $var_4='-0', $var_5='-0', $var_6='-0', $var_7='-0', $var_8='-0', $var_9='-0', $var_10='-0') Local $aVar[9], $index = 0, $aLen, $sFill = '', $sOut = '' If $iAlign <> 1 Then $iAlign = 0 If StringLen($charFill) <> 1 Then Return SetError(2,0,0) For $i = 1 To 30 $sFill &= $charFill Next For $i = 1 To 10 If Eval('var_' & $i) <> '-0' Then $aVar[$i-1] = Eval('var_' & $i) $index = $i -1 Else ExitLoop EndIf Next If StringLeft($sLen, 1) = '-' Then $aLen = StringSplit(StringTrimLeft($sLen, 1), ',', 2) ReDim $aLen[$index+1] For $i = 1 To $index $aLen[$i] = $aLen[0] Next Else $aLen = StringSplit($sLen, ',', 2) If UBound($aLen) < $index Then Return SetError(1,0,0) EndIf For $i = 0 To $index If $iAlign = 0 Then If $i = $index Then ExitLoop $sOut &= StringLeft($aVar[$i] & $sFill, $aLen[$i]) Else $sOut &= StringRight($sFill & $aVar[$i], $aLen[$i]) EndIf Next If $iAlign = 0 Then $sOut &= $aVar[$index] Return $sOut EndFunc ;==>_LenGroupedOutput