Есть несколько тысяч файлов общим весом 70-100 мб. Необходимо их все перебрать и заменить в найденных строках нужные фрагменты. Попробовал переделать схему товарища Gunta но ничего не выходит.добавляет пустые строки в файлы.
А логика с возрастом начала хромать.
Add(MainForm,11479196,511,266)
{
Width=460
Height=147
}
Add(Button,1032059,161,203)
{
Left=335
Top=10
Width=100
Caption="Папка"
link(onClick,1584642:doBrowse,[])
}
Add(Button,1454278,301,203)
{
Left=335
Top=35
Width=100
Enabled=1
Caption="Заменить"
Point(doEnabled)
link(onClick,10891095:doEvent1,[])
}
Add(Hub,10891095,364,203)
{
OutCount=3
link(onEvent1,9717498:doSearch,[])
link(onEvent2,10740030:doString,[(388,216)(388,293)])
}
Add(Label,15810939,231,98)
{
Left=5
Top=10
Width=49
Height=17
Caption="Каталог:"
}
Add(Edit,8494145,252,203)
{
Left=130
Top=10
Width=195
Text=""
link(onChange,1454278:doEnabled,[])
}
Add(Browse,1584642,210,203)
{
Title="Select Folder"
NewDirButton=1
link(onBrowse,8494145:doText,[])
}
Add(FileSearch,9717498,399,203)
{
Ext="*.smali"
link(onSearch,2039579:doValue,[])
link(Dir,8494145:Text,[(412,187)(356,187)(356,243)(258,243)])
}
Add(Message,11449550,455,287)
{
Caption="Finish"
Icon=4
link(onMessage,11479196:doClose,[])
}
Add(FileStream,13593382,525,203)
{
link(onLoad,4445344:doConvert,[])
}
Add(Hub,1904592,630,203)
{
OutCount=5
link(onEvent1,13593382:doClose,[(655,209)(655,195)(515,195)(515,216)])
link(onEvent2,2400353:doDelete,[(662,216)(662,202)])
link(onEvent3,11697065:doClear,[])
link(onEvent4,3352677:doEnum,[])
link(onEvent5,11697065:doSave,[(663,237)(663,244)])
}
Add(StreamConvertor,4445344,581,203)
{
Mode=6
link(onResult,1904592:doEvent1,[])
}
Add(LineBreakEx,7935652,462,252)
{
Caption="fn"
Type=3
link(_Data,2039579:Value,[])
}
Add(Memory,2039579,462,203)
{
link(onData,13593382:doOpen,[])
}
Add(FileTools,2400353,686,182)
{
DelToRecycle=1
link(FileName,10872257:getVar,[])
}
Add(LineBreakEx,10872257,686,154)
{
Caption="fn"
Type=2
}
Add(Edit,7513133,749,126)
{
Left=130
Top=40
Width=195
Text=".field private static b:Z = false"
ClearAfterEnter=1
}
Add(StrList,11697065,875,210)
{
Point(doSave)
Point(EndIdx)
link(FileName,6243632:getVar,[])
}
Add(Str_Enum,3352677,686,224)
{
Delimiter="\r\n"
link(onEnum,13114084:doReplace,[(748,230)(748,237)])
}
Add(LineBreakEx,6243632,882,175)
{
Caption="fn"
Type=2
}
Add(FormatStr,10740030,399,287)
{
Mask="Обработано %1 файлов"
link(onFString,11449550:doMessage,[])
link(Str1,9717498:Count,[])
}
Add(Replace,13114084,777,231)
{
link(onReplace,11697065:doAdd,[(842,237)(842,216)])
link(Sub_str,7513133:Text,[(790,177)(755,177)])
link(Dest,5554796:Text,[])
}
Add(Edit,5554796,791,119)
{
Left=130
Top=75
Width=190
Text=".field private static b:Z"
}
Add(Label,10384203,287,105)
{
Left=5
Top=75
Width=94
Height=17
Caption="На что заменить"
}
Add(Label,2813661,343,119)
{
Left=5
Top=40
Width=94
Height=17
Caption="Что заменить"
}
Как в одном файле заменять строки я знаю.а вот когда их много не могу.
Редактировалось 1 раз(а), последний 2022-02-19 15:02:33