Цитата twister777:
Я не очень разбираюсь в синтаксисе AutoIt...
А где здесь переменная в которую задавать
Title=Ibiza X Ground
Local=Aerosoft\Ibiza X Ground
и их вывод в результирующий файл.
и где вывод вот таких строчек
Active=TRUE
Required=FALSE »
|
;Тогда так для наглядности :
Код:
#include<Array.au3>
;$sFilePath="c:\Users\All Users\Microsoft\FSX\Scenery.CFG"
$sFilePath=@ScriptDir & "\1.txt"
;Чтение всего файла
$sText=FileRead($sFilePath)
MsgBox(0,'$sText',$sText)
; Получение текста последней ячейки (имеется ввиду , что последняя ячейка и есть Max)
$sPattern="(?s).+(\[.+?)"
$sFind=StringRegExpReplace($sText,$sPattern,"\1")
MsgBox(0,'$sFind',$sFind)
ConsoleWrite("Найденный текст ячейки : " & @LF & $sFind & @LF)
; Получение массива всех строк последней ячейки
$sPattern="(.+[=.])(.+)"
$aFind=StringRegExp($sFind,$sPattern,3)
_ArrayDisplay($aFind,'$aFind')
; Получение нового текста ячейки
$sRet=''
For $i=0 To UBound($aFind)-2 Step 2
If $i=0 Or $i=8 Then $aFind[$i+1]+=1 ; Увеличение числа для строк 1 и 5 в ячейке
If $i=0 Then $aFind[$i+1]&= "]"; Добавление "]" к строке 1 ячейки
; Остальные значения строк не меняются ( остаются прежними)
$sRet &= $aFind[$i] & $aFind[$i+1] & @LF ; объединение элементов массива в строку текста
Next
MsgBox(0,'$sRet',$sRet) : Записываемый текст
ConsoleWrite("Нновый текст ячейки : " & @LF & $sRet & @LF)
; Запись нового текста ячейки в конец файла
$hFile=FileOpen($sFilePath,1)
FileWrite($hFile,$sRet)
FileClose($hFile)