FileFindNext
Продолжает поиск, начатый функцией FileFindFirst().
bool FileFindNext(
long search_handle,
string& returned_filename
); |
Параметры
search_handle
[in] Хэндл поиска, полученный функцией FileFindFirst().
returned_filename
[out] Имя следующего найденного файла или поддиректории. Возвращается только имя файла (включая расширение) без указания директорий и поддиректорий, независимо от того, указывались ли они в фильтре для поиска.
Возвращаемое значение
Пример:
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
//--- фильтр
input string InpFilter="*";
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
string file_name;
int i=1;
//--- получение хэндла поиска в корне локальной папки
long search_handle=FileFindFirst(InpFilter,file_name);
//--- проверим, успешно ли отработала функция FileFindFirst()
if(search_handle!=INVALID_HANDLE)
{
//--- в цикле проверим являются ли переданные строки именами файлов или директорий
do
{
ResetLastError();
//--- если это файл, то функция вернет true, а если директория, то функция генерирует ошибку ERR_FILE_IS_DIRECTORY
FileIsExist(file_name);
PrintFormat("%d : %s name = %s",i,GetLastError()==ERR_FILE_IS_DIRECTORY ? "Directory" : "File",file_name);
i++;
}
while(FileFindNext(search_handle,file_name));
//--- закрываем хэндл поиска
FileFindClose(search_handle);
}
else
Print("Files not found!");
} |
Смотри также
FileFindFirst(), FileFindClose()
|