Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как найти файлы по маске в сетевых расшаренных папках?


Anton_m ©   (2005-12-13 13:29:00) 

Привет всем!
Знаю как вывести список всех расшаренных папок. Знаю как найти файлы на локальном компе, а вот в сетевых папках?
Может кто знает как найти файлы по маске '*.exe' в сети?


clickmaker   (2005-12-14 11:22:00) [1]


> anton_m   (13.12.05 16:48) [16]
> clickmaker, ты же говорил
> > Странно - у меня так делает...

это не я говорил.
Но тем не менее, и у меня так делает.
Нету значит у тебя там искомых файлов.
Кстати, полезно проверять иногда, что говорит ShowMessage(SysErrorMessage(GetLastError()))...


anton_m   (2005-12-13 16:48:00) [2]

clickmaker, ты же говорил
> Странно - у меня так делает...

Может тогда проверишь вообще работает поиск FindFirst с таким \\komp\Dir путем к файлам? Если не сложно... У меня работает с таким началом пути 'c:\...', а вот с таким '\\...' не работает!


anton_m   (2005-12-13 16:42:00) [3]

Ступил... Нифига он не находит когда пишешь '\\127.0.0.1\Dir' и когда пишешь '\\komp\Dir'... Вот глюк:(


clickmaker   (2005-12-13 16:00:00) [4]


> anton_m   (13.12.05 15:54) [12]
> Ну я когда обращаюсь к процедуре, то пишу

и что?


anton_m   (2005-12-13 15:54:00) [5]

Ну я когда обращаюсь к процедуре, то пишу
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 RichEdit1.Clear;
 Scan('\\komp\Dir\');
end;


anton_m   (2005-12-13 15:54:00) [6]

Ну я когда обращаюсь к процедуре, то пишу
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
 RichEdit1.Clear;
 Scan('\\\komp\Dir\');
end;


clickmaker   (2005-12-13 15:39:00) [7]


> anton_m   (13.12.05 15:33) [10]

ты ж только что написал "А вот если такой: \\komp\Dir, то все нормально..."


anton_m   (2005-12-13 15:33:00) [8]

Вот никак он не хочет сетевые папки сканировать... Пробовал и процедуру с Delphi World... Тоже не находит файлы...

Может в процедуре что-то не так?


anton_m   (2005-12-13 15:31:00) [9]

procedure TMainForm.Scan(Dir : string);
var F: TSearchRec;
begin
 if FindFirst(Dir + '*.*', faAnyFile, F) = 0 then
 repeat
  if F.Attr and  faDirectory > 0 then
  begin
   if (F.Name <> '.') and (F.Name <> '..') then
   begin
        Scan(Dir+'\'+F.Name);
   end;
  end
  else
  if F.Name <> '' then
    begin
    RichEdit1.Lines.Add(Dir+'\'+F.Name);
    end;
 until  FindNext(F) <> 0;
 FindClose(F);
end;


Rouse_   (2005-12-13 15:28:00) [10]

Добавил
FindResult := FindFirst('\\komp\Share\' + '*.exe', faAnyFile, SearchRec);
И все...


anton_m   (2005-12-13 15:14:00) [11]

Можешь кинуть процедуру и как ты к ней обращаешься


Rouse_   (2005-12-13 14:44:00) [12]


> FindResult := FindFirst('\\komp\Share\' + '*.exe', faAnyFile,
>  SearchRec);
> Только вот беда: не хочет он так делать...

Странно - у меня так делает...


anton_m   (2005-12-13 14:31:00) [13]

Ну в общем понял... Проблема в том что у меня список расшаренных папок такой:
\\127.0.0.1\Dir
А вот если такой: \\komp\Dir, то все нормально...
Спасибо!


Anatoly Podgoretsky   (2005-12-13 14:14:00) [14]

У тебя или ошибка в программе или там точно нет таких файлов.


anton_m   (2005-12-13 13:52:00) [15]

А проге fastscan нет поиска файлов... А мне именно это надо.... Как получить список я и сам додумался!


anton_m   (2005-12-13 13:48:00) [16]

вот так да?
FindResult := FindFirst('\\komp\Share\' + '*.exe', faAnyFile, SearchRec);
Только вот беда: не хочет он так делать... Я же написал таким способом он ищет на лоркальных папках, а вот на сетевых не ищет!!!


Rouse_   (2005-12-13 13:34:00) [17]

Сначала ищешь все сетевые папки, к приеру вот так: http://rouse.front.ru/fastscan.zip
А потом обычный FindFirst+FindNext по каждой найденой папке...


Наверх

Титульная страница Поиск, карта сайта Написать письмо