powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Поиск файла
13 сообщений из 13, страница 1 из 1
Поиск файла
    #32332788
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как получить список файлов по указанному пути, удовлетворяющих определенному критерию. Типа findfirst(), findnext(), ...
...
Рейтинг: 0 / 0
Поиск файла
    #32332803
Cyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
ADIR()
...
Рейтинг: 0 / 0
Поиск файла
    #32332806
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rtfm sys(2000)
...
Рейтинг: 0 / 0
Поиск файла
    #32332815
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
большое спасибо

а как можно кроме цикла добавить содержимое одного массива в другой?
...
Рейтинг: 0 / 0
Поиск файла
    #32332816
Cyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
ACOPY()
...
Рейтинг: 0 / 0
Поиск файла
    #32332823
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здорово!
...
Рейтинг: 0 / 0
Поиск файла
    #32332867
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И так у меня получилось следующее

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT (this.alias)

SCAN FOR .T.
	m.file_count = ADIR( tmp, маска )
	
	FOR nCount =  1  TO file_count
		INSERT INTO (m.cursor_name) (имя,тип);
		VALUES ( tmp( nCount,  1 ), id )
	ENDFOR
ENDSCAN


Т.е. в итого в курсоре (m.cursor_name) должны содержать имена файлов с указанием их типов (типы храняться в таблице (this.alias) - маска и id поля это таблице). Почему Fox ругается на поле id - говорит что нет такой переменной - хотя alias вроде бы активен и на 'маска' он реагирует нормально!
...
Рейтинг: 0 / 0
Поиск файла
    #32332882
Cyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю, почему так происходит, но могу предложить обход. Так вроде должно работать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT (this.alias)
Local lcAlias
lcAlias=ALIAS()
SCAN FOR .T.
	m.file_count = ADIR( tmp, маска )
	FOR nCount =  1  TO file_count
		INSERT INTO (m.cursor_name) (имя,тип);
		VALUES ( tmp( nCount,  1 ), &lcAlias..id )
	ENDFOR
ENDSCA
...
Рейтинг: 0 / 0
Поиск файла
    #32332968
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так работает, спасибо

а что значит две точки .. после имени алиаса?
...
Рейтинг: 0 / 0
Поиск файла
    #32333009
Cyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В хелпе об этом, в принципе, написано: You can replace names with variables by using macro substitution. To use macro substitution, place an ampersand (&) before the variable to tell Visual FoxPro to use the value of the variable as a name, and use a period (.) to end the macro substitution expression . Вот и получается, что точки должно быть две - как признак завершения макроподстановки, другая - как разделитель имен таблицы и поля.
...
Рейтинг: 0 / 0
Поиск файла
    #32333039
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не забывайте что VFP имеет ограничение на размер массива.
(65000 элементов) Которое кстати (слава яйцам) обещают убрать в VFP9.
При количестве файлов и каталогов больше 13000 получим ошибку переполнения.
Поэтому надежнее , но медленнее использовать sys(2000) ( то есть findfirst, findnext) и заполнить этими данными курсор.
...
Рейтинг: 0 / 0
Поиск файла
    #32333053
Crip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
LOCAL  lcName

CREATE CURSOR tmp (name c( 50 )) 
lcName = SYS( 2000 , "*.*" )

DO WHILE  !EMPTY(lcName)
	INSERT INTO  tmp values(lcName)	
	lcName = SYS( 2000 , "*.*" , 1 ) 
ENDDO 

BROWSE 
CLOSE DATABASES 
...
Рейтинг: 0 / 0
Поиск файла
    #32333162
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
огромное спасибо - у меня 13000 файлов не ожидается :)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Поиск файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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