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

Вниз

Сканирование каталогов и отображение в ListView   Найти похожие ветки 

 
DimitrySDA   (2007-02-12 18:37) [0]

Здравствуйте. Я прошу Вас помочь мне по следующему вопросу:
Необходимо произвести сканирование заранее указанной директории на диске. Причем каталог сканируется со всеми вложенными в нее каталогами и файлами. После сканирования заполняется ListView (как в Total Commander). В ListView можно переходить по папкам. Но переход из папки в папку не должен вызывать сканирование этой папки. Т.е. сканируется все один раз в начале. Ну и для файлов еще должен выводится размер. Причем это нужно реализовать функциями FindFirst, FindNext, FindClose. Тоесть без использования интерфейса каталога.
Буду благодарен за любую помощь. Если можно скиньте пример реализации на DimitryHomeMail_@mail.ru.
Ваша помощь очень необходима, сам ни как не могу реализовать это...


 
iXT ©   (2007-02-12 19:48) [1]

(FindFirst, FindNext, FindClose) + F1. Там все есть.


 
koha ©   (2007-02-12 20:12) [2]

Маленький пример, которые не отображает всей твоей задачи, но все же ни какой да пример из недавней моей проги:

procedure TFrmMain.FormCreate(Sender: TObject);
Var SR: TSearchRec;
   Icn: TIcon;
begin
 CurPath := ExtractFilePath(Application.ExeName);
 SysPath := GetEnvironmentVariable("SystemRoot")+"\System32\";
 SysRoot := GetEnvironmentVariable("SystemRoot");
 Mask    := SysPath+"*.cpl";
 ImgListLarge.BkColor:=clWindow;

 With ImgList do begin
   GetBitmap(0,BtnExit.Glyph);
   GetBitmap(2,BtnAdd.Glyph);
   GetBitmap(3,BtnMove.Glyph);
 end;

 if FindFirst(Mask,faAnyFile,SR) = 0 then
   Repeat
     Icn        := TIcon.Create;
     Icn.Handle := ExtractIcon(HInstance,PChar(SR.Name),0);
     if Icn.HandleAllocated then ImgListLarge.AddIcon(Icn)
     else begin Icn.LoadFromResourceName(HInstance,"NullComp");
       ImgListLarge.AddIcon(Icn);
     end;
     NewItem            := LVNoBlock.Items.Add;
     NewItem.ImageIndex := ImgListLarge.Count-1;
     NewItem.Caption    := ExtractFileName(SR.Name);
     Icn.Free;
   until FindNext(SR) <> 0;

end;


 
Германн ©   (2007-02-13 01:20) [3]


> koha ©   (12.02.07 20:12) [2]
>
> Маленький пример, которые не отображает всей твоей задачи,
>  но все же ни какой да пример из недавней моей проги:

Плохой пример, имхо. Во-первых отсутсвует FindClose, а за это положено бить канделябром по фэйсу! Во-вторых по сабжу нужно
> Причем каталог сканируется со всеми вложенными в нее каталогами
> и файлами.
и вот этого-то в примере и нету!
Т.е. сей пример не только не полезен, но и вреден. И вдобавок "запудривает" мозги вопрошающему лишними строками, не имеющими отношения к сабжу. Пример из справки по FindFirst гораздо менее вреден!


 
DimitrySDA   (2007-02-13 23:12) [4]

Я благодарен за любую оказанную помощь. Ведь учитсься нужно не только на своих ошибках. Критика и обсуждение это хороший стимул не останавливаться на достугнутом. Спасибо за пример и подсказки.



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

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

Наверх




Память: 0.48 MB
Время: 0.044 c
2-1171093444
inkvizitor
2007-02-10 10:44
2007.03.04
открытие текстового файла в StringGrid


15-1170142422
savva
2007-01-30 10:33
2007.03.04
Лицензии на софт MS для образовательных учреждений.


2-1170886075
UrbanRider
2007-02-08 01:07
2007.03.04
ShellAPI. ShellExecute, не уверен что срабатывает.


15-1171190336
Ученик чародея
2007-02-11 13:38
2007.03.04
Far vs Total Commander vs Delphi


15-1170753819
ZMRaven
2007-02-06 12:23
2007.03.04
захват и обработка видео...