Вверх ↑
Ответов: 700
Рейтинг: 145
#1: 2022-07-02 20:04:07 ЛС | профиль | цитата
Udokanec писал(а):
Имеется эталонная папка с .png файлами.Нужно сравнить файлы в других папках с эталонной и дубликаты удалить.

Есть разные способы поиска одинаковых файлов(дубликатов).
1.По названию
2.По размеру
3.По содержанию
Я так понимаю мы ищем по названию.

Add(Button,1032059,119,140)
{
Left=45
Top=10
Width=120
Caption="эталонная папка"
link(onClick,2849268:doEvent1,[])
}
Add(Button,1454278,126,266)
{
Left=280
Top=30
Width=215
Caption="Папка где найти и удалить лубликаты"
link(onClick,6763020:doBrowse,[])
}
Add(Edit,8494145,252,147)
{
Left=15
Top=45
Width=195
Text=""
link(onChange,9717498:doSearch,[])
}
Add(Browse,1584642,203,147)
{
Title="Укажите эталонную папку."
NewDirButton=1
link(onBrowse,8494145:doText,[])
}
Add(FileSearch,9717498,301,147)
{
Ext="*.png"
TimeType=1
link(onSearch,3582628:doPart,[])
link(onEndSearch,8658984:doData,[(340,160)(340,223)])
}
Add(MainForm,11209390,70,63)
{
Width=602
Height=413
}
Add(Memo,2318742,476,196)
{
Left=15
Top=75
Width=195
Height=295
}
Add(Memo,10164561,633,181)
{
Left=235
Top=75
Width=330
Height=295
link(Str,1547101:Var3,[(639,138)])
}
Add(FilePartElm,3582628,350,147)
{
link(onPart,8494641:doAdd,[])
}
Add(Hub,2849268,168,140)
{
link(onEvent1,8494641:doClear,[(193,146)(193,139)(389,139)(389,160)])
link(onEvent2,1584642:doBrowse,[])
}
Add(Browse,6763020,196,266)
{
Title="Папка где искать дубликаты"
NewDirButton=1
link(onBrowse,6566935:doSearch,[])
}
Add(FileSearch,6566935,245,266)
{
Ext="*.png"
TimeType=1
link(onSearch,14001984:doValue,[])
}
Add(StrList,8494641,413,147)
{
Point(doGetIndex)
Point(onGetIndex)
link(onGetIndex,15132075:doCompare,[])
}
Add(DoData,8658984,413,217)
{
link(onEventData,2318742:doText,[])
link(Data,8494641:Text,[])
}
Add(Memory,14001984,294,266)
{
link(onData,8211724:doPart,[])
}
Add(FilePartElm,8211724,343,266)
{
link(onPart,8494641:doGetIndex,[(389,272)(389,181)])
}
Add(If_else,15132075,476,154)
{
Op2=Integer(-1)
link(onFalse,2652295:doEvent1,[])
}
Add(FileTools,539386,560,147)
{
link(FileName,1547101:Var1,[(566,138)])
}
Add(Hub,2652295,525,161)
{
link(onEvent1,539386:doDelete,[])
link(onEvent2,10164561:doAdd,[(550,174)(550,187)])
}
Add(GetDataEx,1547101,609,133)
{
Angle=2
link(Data,14001984:Value,[(615,320)(300,320)])
}

В схеме нет защиты от удаления эталонных файлов, то есть папки не должны пересекаться (не должны находится одна в другой)

Леонид писал(а):
главное продумать защиту от "удаления" при ошибках пользователя

Нужно удалять в корзину на всякий случай.
карма: 15

1
Голосовали:sla8a