powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Поиск файлов в подпапках
6 сообщений из 6, страница 1 из 1
Поиск файлов в подпапках
    #34315347
shanton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фнкция ADIT() заносит в масив информацию о файлах, но она работает только в корне текущей директории. А нужно искать файлы и в подпапках текущей директории. Как это реализовать?
Зарание благодарен!
...
Рейтинг: 0 / 0
Поиск файлов в подпапках
    #34315351
shanton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извеняюсь!!! Функция ADIR().
...
Рейтинг: 0 / 0
Поиск файлов в подпапках
    #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
Поиск файлов в подпапках
    #34316150
shanton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне надо занести в масив, или каким-то другим образом запомнить, имена всех файлов указаного типа в определённом кталоге учитывая файлы во всех подпапках.
Это можно реализовать с помощью Filer.dll, или может быть есть какая-то функция, типа ADIR()?
...
Рейтинг: 0 / 0
Поиск файлов в подпапках
    #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
Поиск файлов в подпапках
    #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
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Поиск файлов в подпапках
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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