Главная страница
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.015 c
1-13204
Back
2003-05-27 09:36
2003.06.05
Очередность выполнения обработчиков событий от таймера?


1-13190
Quasar
2003-05-25 01:31
2003.06.05
Вставка символов в позиции курсора в RichEdit


1-13172
zsv
2003-05-26 07:33
2003.06.05
Как напечатать Image


14-13387
nick_vstu
2003-05-13 13:26
2003.06.05
Нам запретили держать компютеры в общежитии!!!!!!! :(((((((


14-13405
Nikos
2003-05-16 13:42
2003.06.05
как создать дистрибутив