Другие языки программирования и технологии

Помогите написать прогу!!!

Народ!!! Горю!!! Надо сдавать через 2 недели курсач, а догнать как делать задание не могу(((. Надо написать программу которая будет искать дублированные файлы на компе, а также временные файлы и пустые файлы и сносить их к чертовой матери... Среда разработки Делфи или С++..ПОМОГИТЕ ПОЖ!!! Желательно кинуть не уже скомпилированную прогу, а её исходник....Кому не трудно, не оставьте человека в беде!!!))
EL
Erema Leh
1 199
Просто так прогу не буду писать. Дам направление.
Используй процедуру ScanDir2 для поиска файлов и папок в нужной директории.
Например, после выполнения такой процедуры ScanDir2('C:\Program files',False)
в GenScanDirListFile будет хранится список всех файлов, которые находятся в папке "Program files",
в GenScanDirListFolder будет хранится список всех папок, которые находятся в этой папке.
Вложенные папки и файлы не будут учитываться, т. к. ScanDir2('C:\Program files',False).
Обращайся, помогу с остальным, не за бесплатно, разумеется.

var
Form1: TForm1;
GenScanDirListFile:TStringList;//suda zanositsya(dobavlyaetsya) spisok failov posle
//vipolneniya proceduri ScanDir
GenScanDirListFolder:TStringList;//suda zanositsya(dobavlyaetsya) spisok papok posle
//vipolneniya proceduri ScanDir

//proxod po derevu,
//procedura zanosit(dobavlyaet) v GenScanDirListFile spisok naidennix failov i
//v GenScanDirListFolder spisok naidennix papok iz direktorii Dir
//SubDir=True - skanirovat' vlojennie papki
procedure ScanDir(Dir:string; SubDir:boolean=True);
var SearchRec:TSearchRec;
begin
if Dir<>'' then if Dir[length(Dir)]<>'\' then Dir:=Dir+'\';
if FindFirst(Dir+'*.*', faAnyFile, SearchRec)=0 then
repeat
if (SearchRec.name='.') or (SearchRec.name='..') then continue;
if (SearchRec.Attr and faDirectory)<>0
then
BEGIN
GenScanDirListFolder.Add(Dir+SearchRec.name);
if SubDir
then ScanDir(Dir+SearchRec.name) //we found Directory: "Dir+SearchRec.name"
END
else
BEGIN
GenScanDirListFile.Add(Dir+SearchRec.name);
END;
until FindNext(SearchRec)<>0;
FindClose(SearchRec);
end;

//proxod po derevu,
//procedura ochish'aet starii spisok i
//zanosit v GenScanDirListFile spisok naidennix failov i
//v GenScanDirListFolder spisok naidennix papok iz direktorii Dir
//SubDir=True - skanirovat' vlojennie papki
procedure ScanDir2(Dir:string; SubDir:boolean=True);
begin
GenScanDirListFile.Clear;
GenScanDirListFolder.Clear;
ScanDir(Dir,SubDir);
end;

Удачи!
Алексей Шабалин
Алексей Шабалин
1 572
Лучший ответ
А если их не 2 а 30?

Поэтому или по такому плану:
1) Найди все файлы на диске и запомни полный путь к ним и размер.
2) По массиву из пункта 1 найти файлы одинакового размера и запускай процедуру сравнения. Равны - выводи в ListBox.

Начинай работу и спрашивай, если что. А так просто тебе такое вряд ли кто тут решит!
Это серьезный программный продукт получается а не детская задачка.