Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для gregaz

Пользователь


Сообщения: 88
Благодарности: 19

Профиль | Отправить PM | Цитировать


Цитата 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)
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:49, 03-12-2010 | #6