Сканирование папок

Тема в разделе "Delphi - Система", создана пользователем sn@ke, 27 июл 2009.

  1. sn@ke

    sn@ke Member

    Регистрация:
    8 окт 2006
    Сообщения:
    21
    Симпатии:
    0
    Есть программа которая ищет дубликаты файлов на диске в указанных папках. В Windows XP она отрабатывает нормально в Windows Vista/7 сканирование папок виснет.

    Вот часть кода отвечающее за сканирование папок и построение дерева каталогов:

    Код (Text):
     //Scaning of folders and files for creation arrays FoldersList and FilesList
    Form1.Label2.Caption := 'Scaning folders:';
    Form1.Status.Left := LabelRP(Form1.Label2);
    Form1.Status.Caption := '';
    Form1.Label4.Caption := 'Current folder:';
    Form1.ProgressBar1.Position:=0;
    Form1.Label5.Left := LabelRP(Form1.Label4);
    Form1.Repaint;
    i := 1;
    while (i < Length(FoldersTree)) and (not ThreadTerminated) do
    begin
    Str(i, S1);
    Str(Length(FoldersTree) - 1, S2);
    Form1.Status.Caption := S1 + ' of ' + S2 + ' ';
    Form1.Label5.Caption := GetPath(i);
    Form1.ProgressBar1.Max:=StrToInt(S2);
    Form1.ProgressBar1.Position:=StrToInt(S1);
    SearchResult := FindFirst(GetPath(i) + '*', faAnyFile, F);
    while (SearchResult = 0) and (not ThreadTerminated) do
    begin
    if (F.Name <> '.') and (F.Name <> '..') then
    if (F.Attr and faDirectory) = faDirectory then
    begin
    if ScanSubfolders then
    begin
    SetLength(FoldersTree, Length(FoldersTree) + 1);
    FoldersTree[Length(FoldersTree) - 1].Name := F.Name;
    FoldersTree[Length(FoldersTree) - 1].Parent := i;
    end;
    end
    else
    begin
    SetLength(FilesList, Length(FilesList) + 1);
    FilesList[Length(FilesList) - 1].Double := 0;
    FilesList[Length(FilesList) - 1].Folder := i;
    FilesList[Length(FilesList) - 1].Time := F.Time;
    FilesList[Length(FilesList) - 1].Size := F.Size;
    FilesList[Length(FilesList) - 1].Name := F.Name;
    end;
    SearchResult := FindNext(F);
    end;
    FindClose(F);
    Inc(i);
    end;
    Подскажите как реализовать, чтобы это работало во всех версиях Windows
     
Загрузка...
Похожие Темы - Сканирование папок
  1. Lesik
    Ответов:
    5
    Просмотров:
    3.016
  2. motogarri
    Ответов:
    8
    Просмотров:
    3.956
  3. Gor
    Ответов:
    6
    Просмотров:
    5.882
  4. morpheus
    Ответов:
    14
    Просмотров:
    12.535
  5. sanch
    Ответов:
    7
    Просмотров:
    3.923

Поделиться этой страницей