Вверх ↑
Ответов: 34
Рейтинг: 0
#1: 2018-08-08 14:42:41 ЛС | профиль | цитата
Необходимо заменить текст в файле(место точно известно) на другой.
Пока пользуюсь этим способом
Add(MainForm,7771141,161,245)
{
link(onCreate,14820096:doEvent1,[])
}
Add(Replace,5653364,273,252)
{
SubStr="192.168.1.1"
link(onReplace,4034052:doText,[])
link(Str,4034052:Text,[(279,215)(392,215)(392,283)(356,283)])
link(Dest,6389002:Text,[])
}
Add(StrList,4034052,350,231)
{
FileName="C:\test\config.js"
}
Add(Hub,14820096,217,259)
{
OutCount=3
link(onEvent1,4034052:doLoad,[])
link(onEvent2,5653364:doReplace,[(263,272)(263,258)])
link(onEvent3,4034052:doSave,[(267,279)(267,292)(314,292)(314,272)])
}
Add(Edit,6389002,287,168)
{
Left=65
Top=85
Width=250
Text="192.168.0.10"
}


Но минус данной схемы в том что после первой замены, повторно его уже не поменять, т.е. после замены изначального IP на тот что указан при замене, если повторно его менять то он уже не найдет исходный текст.

Пытался что то придумать с помощью BlockFInd, но чето не получилось, не доконца понимаю механику его работы.
В старт блок указал левую часть строки, в ендблок указал правую часть строки от IP, т.е. сделал что айпи по середине между ними, но чето клацал и так не понял как через него сделать.
Может есть другой способ? например я точно знаю в какой строке с какого по какой символ нужно заменить текст, может от этого идти?
карма: 0

0
Редактировалось 1 раз(а), последний 2018-08-08 14:43:35