Форум » [x]Harbour » Directory() » Ответить

Directory()

Dima: Существует ли аналог ,но так что бы маску указывать в виде массива ? Directory({"*.bmp","*.jpg}")

Ответов - 11

Haz: Dima пишет: Directory({"*.bmp","*.jpg}") Дима, вроде такого нет . Но там дел на 4 строки Func Directory_mask( aMask ) local aDir := {} aEval( aMask, { |e| aMerge( aDir, Directory(e)) } ) Return aDir

Dima: Упс , не знал от такой функции Amerge. Спасибо Игорь !

Andrey: Dima пишет: Упс , не знал от такой функции Amerge. Спасибо Игорь ! Присоединяюсь !!!


Dima: В папке лежат файлы вида 345_FRAME_0001.JPG 345_FRAME_0002.JPG 345_FRAME_0003.JPG 345_FRAME_0004.JPG 345_FRAME_0005.JPG 345_FRAME_0006.JPG При считывании списка файлов с помощью Directory() , они попадут в массив в том же порядке ? Пока попадает в том же (так мне и надо). Видимо массив как то сортируется или нет ?

SergKis: Dima пишет:Пока попадает в том же (так мне и надо) не стоит на это расчитывать, надо сортировать самому.

Dima: SergKis пишет: не стоит на это расчитывать, надо сортировать самому. Это я понимаю. Просто уже интересно в каком порядке заполняется массив. Если отсортирован по именам изначально тогда и последующий Asort не нужен.

Haz: SergKis верно пишет: не стоит на это расчитывать нет там сортировки используются вызовы ffirst и fnext , то что порядок устраивает это до поры. Какой нить дефраг диска теоретически может это нарушить

Dima: Понял. Спасибо.

Haz: Haz пишет: каком порядке заполняется массив. заполняется в порядке физического нахождения нужного имени файла по маске и не сортируется точно. основа Directory() - это вызов hb_fsDirectory() и там нет сорта

SergKis: Dima пишет: Directory({"*.bmp","*.jpg}") советую усилить маску (со временем, что нибудь чужое залезет в список), например: ???_FRAME_????.JPG или 3???_F???E_0???.JPG

Dima: SergKis Согласен , хотя папка и моя и только моя прога туда пишет , но береженого бог бережет. Так и сделаю.



полная версия страницы