parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Модернизация ^file:list

Pavel Zagrebelin 27.04.2004 14:32

##############################################################################
# Замена ^file:list, позволяющая искать только файлы/папки
# dir -- имя каталога   в котором ищутся файлы
# mask -- маска файлов  regexp файлов, которые надо найти
# flag -- d|f           Искать файли (f|F) или каталоги(d|D). Если пусто или что-то другое, то игнорируется: ищем всё
@file_list[dir;mask;flag][lst]
$lst[^file:list[$dir;$mask]]
^if(!def $flag || (^flag.lower[] ne "d" && ^flag.lower[] ne "f")){
	^rem{*** Флаг не определён или какую-то ерунду дали вместо флага ***}
	$result[^table::create[$lst]]
}{
	$result[^table::create{name}]
	$flag[^flag.lower[]]
	^lst.menu{
		^switch[$flag]{
			^case[d]{^if(-d "$dir/$lst.name"){^result.append{$lst.name}}}
			^case[f]{^if(-f "$dir/$lst.name"){^result.append{$lst.name}}}
		}
	}
}