![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как найти файлы по маске в сетевых расшаренных папках?
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 по каждой найденой папке...