Вверх ↑
Ответов: 35
Рейтинг: 0
#1: 2022-02-19 15:32:02 ЛС | профиль | цитата
Udokanec писал(а):
День добрый всем.Ну не суждено мне стать програмистом.
Есть несколько тысяч файлов общим весом 70-100 мб. Необходимо их все перебрать и заменить в найденных строках нужные фрагменты. Попробовал переделать схему товарища Gunta но ничего не выходит.добавляет пустые строки в файлы.
А логика с возрастом начала хромать.

Как в одном файле заменять строки я знаю.а вот когда их много не могу.


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

Make(delphi)
ver(4.05 build 186)
Add(MainForm,11479196,427,259)
{
Width=460
Height=147
}
Add(Button,1032059,77,196)
{
Left=335
Top=10
Width=100
Caption="Папка"
link(onClick,1584642:doBrowse,[])
}
Add(Button,1454278,217,196)
{
Left=335
Top=35
Width=100
Enabled=1
Caption="Заменить"
Point(doEnabled)
link(onClick,10891095:doEvent1,[])
}
Add(Hub,10891095,280,196)
{
OutCount=3
link(onEvent1,9717498:doSearch,[])
}
Add(Label,15810939,147,91)
{
Left=5
Top=10
Width=49
Height=17
Caption="Каталог:"
}
Add(Edit,8494145,168,196)
{
Left=130
Top=10
Width=195
Text=""
link(onChange,1454278:doEnabled,[])
}
Add(Browse,1584642,126,196)
{
Title="Select Folder"
NewDirButton=1
link(onBrowse,8494145:doText,[])
}
Add(FileSearch,9717498,315,196)
{
Ext="*.smali"
TimeType=1
link(onSearch,2039579:doValue,[])
link(onEndSearch,10740030:doString,[(359,209)(359,247)(303,247)(303,286)])
link(Dir,8494145:Text,[(328,180)(272,180)(272,236)(174,236)])
}
Add(Message,11449550,371,280)
{
Caption="Finish"
Icon=4
link(onMessage,11479196:doClose,[])
}
Add(FileStream,13593382,441,196)
{
link(onLoad,4445344:doConvert,[])
}
Add(Hub,1904592,546,196)
{
OutCount=5
link(onEvent1,13593382:doClose,[(571,202)(571,188)(431,188)(431,209)])
link(onEvent2,2400353:doDelete,[(578,209)(578,195)])
link(onEvent3,11697065:doClear,[])
link(onEvent4,3352677:doEnum,[])
link(onEvent5,11697065:doSave,[(579,230)(579,237)])
}
Add(StreamConvertor,4445344,497,196)
{
Mode=6
link(onResult,1904592:doEvent1,[])
}
Add(LineBreakEx,7935652,378,245)
{
Caption="fn"
Type=3
link(_Data,2039579:Value,[])
}
Add(Memory,2039579,378,196)
{
link(onData,13593382:doOpen,[])
}
Add(FileTools,2400353,602,175)
{
DelToRecycle=1
link(FileName,10872257:getVar,[])
}
Add(LineBreakEx,10872257,602,147)
{
Caption="fn"
Type=2
}
Add(Edit,7513133,665,119)
{
Left=130
Top=40
Width=195
Text=".field private static b:Z = false"
ClearAfterEnter=1
}
Add(StrList,11697065,791,203)
{
Point(doSave)
Point(EndIdx)
link(FileName,6243632:getVar,[])
}
Add(Str_Enum,3352677,602,217)
{
Delimiter="\r\n"
link(onEnum,13114084:doReplace,[(664,223)(664,230)])
}
Add(LineBreakEx,6243632,798,168)
{
Caption="fn"
Type=2
}
Add(FormatStr,10740030,315,280)
{
DataCount=1
Mask="Обработано %1 файлов"
link(onFString,11449550:doMessage,[])
link(Str1,9717498:Count,[])
}
Add(Replace,13114084,693,224)
{
link(onReplace,11697065:doAdd,[(758,230)(758,209)])
link(Sub_str,7513133:Text,[(706,170)(671,170)])
link(Dest,5554796:Text,[])
}
Add(Edit,5554796,707,112)
{
Left=130
Top=75
Width=190
Text=".field private static b:Z"
}
Add(Label,10384203,203,98)
{
Left=5
Top=75
Width=94
Height=17
Caption="На что заменить"
}
Add(Label,2813661,259,112)
{
Left=5
Top=40
Width=94
Height=17
Caption="Что заменить"
}

карма: 0

0