Hello Vladimir, On 10.10.04, Vladimir Javorski wrote: > первые шаги и первые грабли! > не получается выделить биты защиты... см аттач Фрагмент кода из VisualGuide распечатывающий флаги. На входе LONG из FIB. На выходе указатель на строку... В твоём случае 6нужно делать немного подругому но принцып надеюсь те понятен. STRPTR UnpackProtection(LONG protection) { extern char buf_protection[12]; sprintf(&buf_protection[0], "%s%s%s%s%s%s%s%s ", (protection&(1<<7))?"h":"-", (protection&(FIBF_SCRIPT))?"s":"-", /* program is a script (execute) file */ (protection&(FIBF_PURE))?"p":"-", /* program is reentrant and rexecutable */ (protection&(FIBF_ARCHIVE))?"a":"-",/* cleared whenever file is changed */ (protection&(FIBF_READ))?"-":"r", /* ignored by old filesystem */ (protection&(FIBF_WRITE))?"-":"w", /* ignored by old filesystem */ (protection&(FIBF_EXECUTE))?"-":"e",/* ignored by system, used by Shell */ (protection&(FIBF_DELETE))?"-":"d");/* prevent file from being deleted */ return (&buf_protection[0]); Вот ещё один полезный фрагментик позволяющиё определить какого типа мы имеем запись. switch(fib.fib_DirEntryType) { case ST_FILE: break; case ST_USERDIR: break; case ST_SOFTLINK: break; case ST_LINKDIR: break; case ST_LINKFILE: break; case ST_ROLLOVERFILE: break; default: break; } Это все типы файлов что поддержаны в системе и в PFS... поскипал все что внутри case... если какие ещё типы узнаешь напиши plz. Пробежка по каталогу делается с помощью while(ExNext())... ExAll() использовать не рекомендую из-за того что она не во всех файловых системах работает... Regards