Главная страница
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.014 c
14-13388
Separator
2003-05-16 20:57
2003.06.05
Встроенный asm


3-13034
Andy Eremin
2003-05-16 14:16
2003.06.05
смена кодировки


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


1-13162
Rise
2003-05-26 13:11
2003.06.05
Grid


3-13054
Viktor
2003-05-17 05:18
2003.06.05
Перенос приложения на другой компьютер