Показать сообщение отдельно
Старый 10.10.2010, 20:24   #5
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: случайная выборка файла

честно говоря, не понимаю проблемы - читаете имена файлов (можно рекурсивно по директориям, если вложенность не глубока), для каждого файла создаете экземпляр:
Type TFile
Field FileName$
End Type
Ну а со списком потом чего тольо нельзя сотворить.
Для удобства доступа, после завершения построения списка, можно сохранить элементы в массив Dim MyFiles.TFile(FileCount).
FileCount - инкрементальный счётчик, который куртился по мере четния директорий.
Delete Each tFILE
	Local D%=ReadDir(InputFolder)
	Local FileName$
	Local FullFileName$
	Local TotalC%=0
	While True
		FileName=NextFile(D)
		If FileName="" Exit
		FullFileName=InputFolder+"\"+FileName
		If FileType(FullFileName)=1
			Local EXT3$,EXT4$
			EXT4=Upper(Right(FileName,4))
			EXT3=Upper(Right(FileName,3))
			Local EXT$=""
			If EXT3="BMP" Or EXT3="JPG" Or EXT3="PNG"
				EXT=EXT3
			ElseIf EXT4="JPEG"
				EXT="JPG"
			EndIf
			If EXT<>""
				Local F.tFILE=New tFILE
				;=
				;Set param-s
				F\FullFileName=FullFileName
				F\FileUEXT=EXT
				F\ID=TotalC+1
				;=
				TotalC=TotalC+1
			EndIf
		EndIf
	Wend
	CloseDir(D)
Type tFILE
	Field FullFileName$
	Field FileUEXT$
	Field ID%
End Type
Dim LIST.tFILE(0)
Function tFILE2LIST(cnt%)
	Dim LIST(cnt)
	Local i=1
	For f.tFILE=Each tFILE
		LIST(i)=f
		i=i+1
	Next 
End Function
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием