представляющий файловую систему? Чтобы папки и файлики перебирать, смотреть свойства, и все такое. Кроме TSearchRec.
System.IOUtils содержит много функционала.
Плюс это кроссплатформенно (почти всё)
Блин, оно почти все class function, то есть нельзя сделать наследника для работы с виртуальными файловыми системами (архивы образы, сетевые папки)
Потому что это просто набор функций. Если бы приходилось каждый раз создавать инстанс класса - было бы не удобно
Почему нельзя? Можно. В ООП это называется инкапсуляция
Есть же всякие Clipboard, Mouse, Display, Printer - еще удобнее.
они же inline static
Инкапсуляция подразумевает что свойства и методы одного класса будут использоваться гдето внутри другого. Делай свой класс который будет работать с какой-то абстракцией, для работы с реальной файловой системой используй методы TDirectory для остальных свою реализацию
Не, это все не то. Это не ООП, где в базовом классе общедоступный абстрактный функционал (например TStream), в в наследниках пару protected методов переопределил, и оно уже с чем-то реальным работает (TFileStream, TMemoryStream)
Не удобнее. Это синглтоны, которые создаются при старте
Это не ООП? Ок я замолкаю :)))
System.IOUtils по сути корявые namespaces. Можно было сделать unit IOUtils.Directory с набором функций, результат тот же самый
Сделай - никто не запрещает
Я делаю читалку бекапов MS SQL в формате Tape file. Это образ файловой системы, как zip или compound file. Хотелось бы унифицировать его интерфейс с существующим хорошим решением.
У нас разные представления о хорошем решении, судя по всему в твоем представлении это универсальный комбайн работающий с любыми источниками данных. В моем представлении универсальные комбайны ущербны и ограничены из-за их универсальности
Это тупо набор папок и файлов. Ровно то же самое в любом архиваторе. Да, там есть еще диски (volume) и substreams (как бы разные "звуковые дорожки") внутри файлов. Но они никак не мешают базовому функционалу (папки и файлы).
Свой класс сделай, для обычной ФС вызывай из IOUtils методы, для псевдо ФС вызывай свои методы
Я ему это уже сказал - он ответил что это не ООП :)
Если у него подлежащий источник данных - обычная пусть и со своими особенностями файловая система, то проблемы из-за универсальности может не быть. А с другой стороны, если это фс, не лучше ли работать через драйвер, чтобы она была прозрачна?
Тогда там просто будут заглушки, а функциями этими он не будет пользоваться 🤷♂ но мне непонятно, почему не работать через драйвер виртуальной фс, монтируя куда угодно в обычном пространстве имён объектов win.
Про это речь и идет, что нужна абстракция, где не нужно решать какими функциями он сейчас будет пользоваться а какими нет
а прав рядового пользователя хватит?
Да, которая позволит использовать стандартный набор, по типу "листинг файлов-прочитать-записать" для любых файловых систем. Ничего особого. Речь же не о том, чтобы это было встроено в ioutils, а о том, есть ли такой функционал где-нибудь.
Вань, ты немного уменьшай свою экспу - ты системщик на полбашки и думаешь этими же категориям, а тут прикладники. Пожалей народ :)
Обсуждают сегодня