Add(MainForm,8475715,126,196)
{
Width=573
Height=383
Caption="Ищем копии файлов"
}
Add(Edit,15216250,315,175)
{
Left=80
Top=15
Width=410
Text=""
}
Add(Label,11808342,117,105)
{
Left=15
Top=15
Width=60
Height=17
Caption="Где искать"
}
Add(Button,335334,175,182)
{
Left=495
Top=15
Caption="Выбор"
link(onClick,3264345:doBrowse,[(244,188)(244,181)])
}
Add(Browse,3264345,259,175)
{
Title="Сканировать"
NewDirButton=1
link(onBrowse,15216250:doText2,[(303,181)(303,188)])
}
Add(Button,15604769,161,252)
{
Left=15
Top=45
Width=530
Caption="Искать"
link(onClick,2943089:doEvent1,[])
}
Add(FileSearch,7696906,245,245)
{
Point(Attr)
link(onSearch,16743984:doValue,[(293,251)(293,237)])
link(onEndSearch,13242666:doSort,[(359,258)(359,440)])
link(Dir,15216250:Text,[(258,226)(321,226)])
}
Add(Memory,16743984,308,231)
{
link(onData,3738448:doPart,[(348,237)(348,244)])
}
Add(FormatStr,11686084,301,350)
{
DataCount=3
Mask="%3;%2;%1"
link(onFString,3497886:doAdd,[(397,356)(397,335)])
link(Str1,16459261:Var2,[(307,306)(314,306)])
link(Str2,3738448:Part,[(314,310)(363,310)])
link(Str3,14854513:Value,[(321,306)(489,306)])
}
Add(StrList,3497886,462,329)
{
}
Add(FilePartElm,3738448,357,238)
{
Point(Part)
link(onPart,1224980:doData,[])
}
Add(Hub,2943089,203,252)
{
OutCount=3
link(onEvent1,3497886:doClear,[(357,258)(357,342)])
link(onEvent2,16204237:doClear,[(385,265)(385,300)])
link(onEvent3,7696906:doSearch,[(231,272)(231,251)])
}
Add(StringTable,16204237,553,287)
{
Left=5
Top=70
Width=550
Height=270
Columns=#9:Хэш сумма|4:Путь|14:Названия файла|
Grid=0
SaveWidth=0
Redaction=1
Point(Strings)
link(onClick,2285376:doSplit,[(597,293)(597,307)])
}
Add(Hashsum,6121917,441,231)
{
link(onResult,14854513:doValue,[])
}
Add(DoData,1224980,399,238)
{
link(onEventData,6121917:doFileHashsum,[])
link(Data,16459261:Var3,[(405,226)(361,226)(361,299)])
}
Add(GetDataEx,16459261,308,294)
{
link(Data,16743984:Value,[])
}
Add(Memory,14854513,483,231)
{
link(onData,11686084:doString,[(527,237)(527,297)(289,297)(289,356)])
}
Add(ArraySort,13242666,441,434)
{
CaseSensitive=0
link(onEndSort,9465038:doEnum,[(485,440)(485,461)(429,461)(429,482)])
link(Array,3497886:Array,[(447,421)(482,421)])
}
Add(ArrayEnum,9465038,441,476)
{
link(onItem,16204237:doAdd,[(513,482)(513,293)])
link(Array,13242666:ArraySort,[])
}
Add(MultiStrPart,2285376,609,301)
{
Count=3
link(onSplit,14640396:doMessage,[(653,307)(653,279)(625,279)(625,251)])
link(Str,16204237:Select,[(615,289)(591,289)(591,337)(566,337)])
}
Add(Message,14640396,637,245)
{
Message="Вы хотите удалить? Да, в корзину. Нет, минуя корзину. Отмена, нечего"
Caption="Удалить?"
Type=3
Point(onYES)
Point(onNO)
Point(onCANCEL)
link(onYES,3027079:doDelete,[(683,258)(683,262)])
link(onNO,6066938:doDelete,[(685,265)(685,314)])
}
Add(FileTools,6066938,700,294)
{
link(FileName,1323869:Var2,[(706,282)(664,282)])
}
Add(FileTools,3027079,697,242)
{
DelToRecycle=1
link(FileName,1323869:Var3,[(703,230)(685,230)(685,299)])
}
Add(GetDataEx,1323869,658,294)
{
Angle=2
link(Data,2285376:Part2,[(664,345)(622,345)])
}
Поставил сортировку, пришлось поменять столбцы местами и не понятно, что происходит, когда ищут клонов в большом количестве файлов (5000~файлов).