Цитата Pozia:
ВЫ как всегда на высоте »
|
не расслабляйтесь, в предыдущем скрипте есть ошибка
Цитата Pozia:
что поменять чтобы стало колонок допустим 5 и интервал между ними 7 пробелов »
|
Код:

_OEM_KBFormat("c:\Work.AU3\oem\OEMInfo.ini", 5, 15)
Func _OEM_KBFormat($sFile, $iCols = 6, $iTabs = 10)
Local $sTXT = FileRead($sFile)
If @error Then Return SetError(1)
Local $aTag = StringRegExp($sTXT, "(?ism)^Line(\d+)=Установленные компоненты и обновления \(\d+\):", 3)
If IsArray($aTag)=0 Then Return SetError(2)
Local $iTag = StringInStr ($sTXT, @CRLF&"Line"& $aTag[0] &"=")+1
Local $aKBs = StringRegExp($sTXT, "(?i)\b(KB\d+)\b", 3, $iTag)
If IsArray($aKBs) Then
Local $sList = "Line"& $aTag[0] &"=Установленные компоненты и обновления ("& UBound($aKBs) &"):"&@CRLF&"Line"& $aTag[0]+1 &"="& @CRLF
For $i=0 To UBound($aKBs)-1 Step $iCols
Local $sExecL="", $sExecR=""
For $j=0 To $iCols-1
If $j<$iCols-1 Then $sExecL &= '%-'& $iTabs &'s'
If $i+$j<UBound($aKBs) Then $sExecR &= ',$aKBs[$i+'& $j &']'
Next
$sList &= Execute('StringFormat("Line%-i='& $sExecL &'%s\r\n",$aTag[0]+2+$i/'& $iCols & $sExecR &')')
Next
FileDelete($sFile)
FileWrite($sFile,StringLeft($sTXT,$iTag) & $sList)
If @error Then Return SetError(3)
EndIf
EndFunc