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

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

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

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

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

А еще можно создать двухуровневую структуру каталогов, например, складывая файлы не в корень каталога, а в подкаталоги, например, по датам.
...
Рейтинг: 0 / 0
adir захлебнулся
    #32864194
Cyrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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
adir захлебнулся
    #32864914
DMITRY_PEREDISTY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо разбираюсь, а пока разберусь, сделал обязательную чистку в начале.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / adir захлебнулся
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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