Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.05;
Скачать: CL | DM;

Вниз

Сравнение   Найти похожие ветки 

 
Opera ©   (2003-05-26 10:58) [0]

Помогите есть две директории, в одной например две папки
"life и download" а в другой "life, buy, disks" так вот мне нужно чтобы происходнило сравнение 2-го с 1-ым что есть одинакового, в данном случае папка life так вот я хочу чтобы это название добавлялось в ListBox. (если одинаковых папок 4 то 4 названия в ListBox). Всем заранее за полезные советы, код спасибо!


 
pasha_golub ©   (2003-05-26 11:14) [1]

Имеется в виду название папки/файла или размер тоже?
А вообще-то, то FindFirst/FindNext.

procedure TForm.FindDuplicates(Dir1,Dir2: TFileName);
var SR1,SR2: TSearchRec;

begin
FAttr := faAnyFile;
if FindFirst(Dir1+"\*", FAttr or faDirectory,SR2) = 0 then
Repeat
if (((SR1.Attr and faDirectory) = faDirectory) and (SR1.Name<>".") and (SR1.Name<>".."))
or ((SR1.Attr and FAttr) = FAttr)
then
if (FindFirst(Dir2+"\"+SR1.Name,FAttr or faDirectory,SR2) = 0) and (SR2.Attr = SR1.Attr) then
ListBox1.Items.Add(SR1.Name);


Until FindNext(SR1) <> 0;

FindClose(SR1);
FindClose(SR2);

end;


 
pasha_golub ©   (2003-05-26 11:16) [2]

Пардон, в 7 строчке:
if FindFirst(Dir1+"\*", FAttr or faDirectory,SR2) = 0 then

а надо:
if FindFirst(Dir1+"\*", FAttr or faDirectory,SR1) = 0 then



Страницы: 1 вся ветка

Текущий архив: 2003.06.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-13167
alexus
2003-05-26 13:51
2003.06.05
закачать данные в ресурс


3-13067
Avreliy
2003-05-17 21:21
2003.06.05
record already locked by this session


14-13397
Johnmen
2003-05-17 23:49
2003.06.05
О свободе в широком смысле...


7-13493
Игорь_Г
2003-03-27 01:15
2003.06.05
Работа с драйверами


14-13440
Леприкон
2003-05-20 07:43
2003.06.05
Фирме для работы над интересным проектом требуется компонент