Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 3
    Гостей: 2
    Пользователи: - отсутствуют
    Роботы: crawl Bot

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 22-12-2011, 01:14 Просмотров: 2439

    read_dir Функция читает директорию

    С помощью функции read_dir, можно получить содержимое директории (папки и файлы), например можно получить список всех карт которые есть в папке на сервере.

    Инфо из file.inc:
    /* Reads content from directory.
    * Returns index of next element or 0 when end of dir. is reached. */
    native read_dir(const dirname[],pos,output[],len,&outlen);


    Синтаксис:
    read_dir ( const dirname[], pos, output[], len, &outLen )

    • const dirname[] - Имя директории
    • pos - Индекс файла ( индекс 0 это выход из директории)
    • output[] - Массив куда записывается результат
    • len - Длина результата
    • [/b] - Честно говоря я не понял что это и просто засунул пустую переменную.
    Функция возвращает не только название файла, но и индекс следующего файла, если файла нет ( прочитали последний или каталог) то функция вернет 0
    pos = read_dir ( const dirname[], pos, output[], len, &outLen )


    [b]Тип функции:

    Native

    Пример:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>

    #define PLUGIN "[file.inc] read_dir"
    #define VERSION "1.0"
    #define AUTHOR "Admin"


    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        
        new szDirName[] = {"/addons/amxmodx/modules"}
        new bDir = dir_exists(szDirName)
        
        server_print("Dir %s exist? - %s",szDirName, bDir ? "Yes" : "No")
        
        new pos = 1
        new output[32]
        new len
        
        while(read_dir(szDirName,pos,output,31,len)){
        
            server_print("Pos %d",read_dir(szDirName,pos,output,31,len))
            server_print("Output: %s",output)
            pos++
        }
    }



    Описание:
    Данный пример выведет в консоль содержимое папки modules вашего сервера в консоль.
    Так как файлов там несколько пришлось воспользоваться циклом.
    Обратите внимание:
    На официальном сайте говориться о том что не желательно использовать эту функцию, так как она очень медленная и призывают использовать open_dir. По этмоу я тоже не буд заострять внимание на данной функции и отправлюсь писать статью о том что рекомендуют.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Наверх

Реклама