Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Поиск файлов в подпапках / 6 сообщений из 6, страница 1 из 1
08.02.2007, 12:21
    #34315347
shanton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск файлов в подпапках
Фнкция ADIT() заносит в масив информацию о файлах, но она работает только в корне текущей директории. А нужно искать файлы и в подпапках текущей директории. Как это реализовать?
Зарание благодарен!
...
Рейтинг: 0 / 0
08.02.2007, 12:21
    #34315351
shanton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск файлов в подпапках
Извеняюсь!!! Функция ADIR().
...
Рейтинг: 0 / 0
08.02.2007, 14:04
    #34315852
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск файлов в подпапках
В стандартном HELP по FoxPro поищи статью о Filer.dll - это библиотека, которая поставляется вместе с FoxPro в папке Tools\Filer. Там есть пример ее использования и подробное описание.

Как пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Local o as Filer.FileUtil  
local m.index  
m.index= 0   
    
o=CREATEOBJECT('Filer.FileUtil')  
    
With o  
	.SearchPath='C:\'  && директория внутри которой ведем поиск
	.FileExpression="Ваше имя файла"  
	.SubFolder= 1   && Поиск по подпапкам  
	  
	.Find( 0 )  
  
	If o.Files.Count >  0   
		For i= 1  to o.Files.Count  
			oFile=.Files.Item(i)  
			? oFile.Path,oFile.Name  
		Next  
	EndIf  
EndWith
...
Рейтинг: 0 / 0
08.02.2007, 15:02
    #34316150
shanton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск файлов в подпапках
Мне надо занести в масив, или каким-то другим образом запомнить, имена всех файлов указаного типа в определённом кталоге учитывая файлы во всех подпапках.
Это можно реализовать с помощью Filer.dll, или может быть есть какая-то функция, типа ADIR()?
...
Рейтинг: 0 / 0
08.02.2007, 15:10
    #34316180
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск файлов в подпапках
shantonМне надо занести в масив, или каким-то другим образом запомнить, имена всех файлов указаного типа в определённом кталоге учитывая файлы во всех подпапках.
Это можно реализовать с помощью Filer.dll, или может быть есть какая-то функция, типа ADIR()?

Ну куда уж доходчевее было разжевано :(

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Local o as Filer.FileUtil  
local m.index  
m.index= 0   
    
o=CREATEOBJECT('Filer.FileUtil')  

CREATE CURSOR test (cPath c( 254 ), cFileName c( 254 ))
    
With o  
	.SearchPath='C:\'  && директория внутри которой ведем поиск
	.FileExpression="*.doc"  
	.SubFolder= 1   && Поиск по подпапкам  
	  
	.Find( 0 )  
  
	If o.Files.Count >  0   
		For i= 1  to o.Files.Count  
			oFile=.Files.Item(i)  
*			? oFile.Path,oFile.Name  
			INSERT INTO test VALUES (oFile.Path,oFile.Name)
		Next  
	EndIf  
EndWith

BROWSE 
 
...
Рейтинг: 0 / 0
12.02.2007, 12:12
    #34323292
Поиск файлов в подпапках
вот процедурка сканирования всех каталогов выбранной директории...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
gcTable = GETDIR()
DIMENSION katalog( 32500 , 2 )
nkatalog =  0 
vkatalog =  0 
stop =  0 
tkatalog = gcTable
totalcatalog =  0 
mask = gcTable + '*.*'
WAIT WINDOW NOWAIT "Сканирование каталогов..."
DO WHILE stop =  0 
	cntfil = ADIR(filearray,(mask),"D")
	FOR i =  1  TO cntfil
   		IF filearray( 5 +(i- 1 )* 5 ) = "....D"
   			IF filearray( 1 +(i- 1 )* 5 ) != ".." AND filearray( 1 +(i- 1 )* 5 ) != "."
				vkatalog = vkatalog +  1 
				katalog(vkatalog, 1 ) = tkatalog + filearray( 1 +(i- 1 )* 5 ) + "\"
				totalcatalog = totalcatalog +  1 
			ENDIF	
		ENDIF
	ENDFOR
	IF nkatalog < vkatalog
		nkatalog = nkatalog +  1 
		tkatalog = katalog(nkatalog, 1 )
		mask = tkatalog + '*.*'   		
	ELSE
		stop =  1 
	ENDIF
ENDDO
? totalcatalog
WAIT CLEAR
ну а дальше уже сам
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Поиск файлов в подпапках / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]