Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / adir захлебнулся / 6 сообщений из 6, страница 1 из 1
13.01.2005, 17:51
    #32863867
DMITRY_PEREDISTY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adir захлебнулся
При большом количестве файлов, adir захлебывается и не может создать массив. Мне нужен список имен файлов в каталоге. FVP7 что делать?
...
Рейтинг: 0 / 0
13.01.2005, 18:48
    #32863982
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adir захлебнулся
Используй другие способы чтения списка файлов. Например:

http://kodu.neti.ee/~juri4/vfpplus/vbs_fso_05_ru.htm#Files

Или переходи на VFP9. Там есть возможность увеличить максимальное количество элементов массива свыше 65500.
...
Рейтинг: 0 / 0
13.01.2005, 18:53
    #32863993
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adir захлебнулся
Да, есть еще несколько команд, которые посылает список файлов в текстовый файл. Потом делай разбор этого текстового файла.

DIR
DISPLAY FILES
LIST FILES
...
Рейтинг: 0 / 0
13.01.2005, 22:57
    #32864144
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adir захлебнулся
А еще можно adir делать не по маске '*.*', а по более жесткой маске. Представим, например, для конкретики, что имена файлов образованы функцией dtos(SomeDate). Ну и строить массив не по всем файлам, а только относящимся к определенному месяцу. Например, задавая маску '200501*.*'

А еще можно периодически архивировать устаревающие файлы на архивные носители и затирать их из оперативного каталога.

А еще можно создать двухуровневую структуру каталогов, например, складывая файлы не в корень каталога, а в подкаталоги, например, по датам.
...
Рейтинг: 0 / 0
14.01.2005, 01:44
    #32864194
Cyrus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
#DEFINE FILE_ATTRIBUTE_DIRECTORY   16 
#DEFINE INVALID_HANDLE_VALUE      - 1 

DECLARE integer FindClose IN WIN32API integer
DECLARE integer FindFirstFile IN WIN32API string @, string @
DECLARE integer FindNextFile IN WIN32API integer, string @
LOCAL lcBuffer, lcDir, lcFileName
lcBuffer = SPACE( 318 )
lcDir = GETDIR()
IF !EMPTY(lcDir)
	hFile = FindFirstFile(ADDBS(lcDir)+'*.*', @lcBuffer)
	IF hFile <> INVALID_HANDLE_VALUE 
		CREATE CURSOR filez (filename C( 240 ) UNIQUE)
		DO WHILE .T.
			IF BITAND(buf2dword(LEFT(lcBuffer,  4 )), FILE_ATTRIBUTE_DIRECTORY) <> ;
FILE_ATTRIBUTE_DIRECTORY
				lcFileName = SUBSTR(lcBuffer,  45 ,  260 )
				lcFilename = LEFT(lcFileName, AT(CHR( 0 ), lcFileName) -  1 ) 
				INSERT INTO filez (filename) VALUES (lcFileName)
			ENDIF 
			IF FindNextFile (hFile, @lcBuffer) =  0 
				EXIT 
			ENDIF 
		ENDDO 
		=FindClose(hFile)
		SET ORDER TO filename
		GO TOP 
		BROWSE 
	ENDIF 
ENDIF 
CLEAR DLLS 
USE 

 
FUNCTION  buf2dword (lcBuffer)
RETURN Asc(SUBSTR(lcBuffer,  1 , 1 )) +;
    Asc(SUBSTR(lcBuffer,  2 , 1 )) *  256  +;
    Asc(SUBSTR(lcBuffer,  3 , 1 )) *  65536  +;
    Asc(SUBSTR(lcBuffer,  4 , 1 )) *  16777216  
...
Рейтинг: 0 / 0
14.01.2005, 13:06
    #32864914
DMITRY_PEREDISTY
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
adir захлебнулся
Спасибо разбираюсь, а пока разберусь, сделал обязательную чистку в начале.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / adir захлебнулся / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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