169 похожих чатов

Напомните, в Дельфях 10+ есть какой штатный компонент или класс,

представляющий файловую систему? Чтобы папки и файлики перебирать, смотреть свойства, и все такое. Кроме TSearchRec.

26 ответов

7 просмотров

System.IOUtils содержит много функционала.

Иван Алексеев
System.IOUtils содержит много функционала.

Плюс это кроссплатформенно (почти всё)

Sergey-Bodrov Автор вопроса
Иван Алексеев
System.IOUtils содержит много функционала.

Блин, оно почти все class function, то есть нельзя сделать наследника для работы с виртуальными файловыми системами (архивы образы, сетевые папки)

Sergey Bodrov
Блин, оно почти все class function, то есть нельзя...

Потому что это просто набор функций. Если бы приходилось каждый раз создавать инстанс класса - было бы не удобно

Sergey Bodrov
Блин, оно почти все class function, то есть нельзя...

Почему нельзя? Можно. В ООП это называется инкапсуляция

Sergey-Bodrov Автор вопроса
Hemul GM
Потому что это просто набор функций. Если бы прихо...

Есть же всякие Clipboard, Mouse, Display, Printer - еще удобнее.

Sergey Bodrov
они же inline static

Инкапсуляция подразумевает что свойства и методы одного класса будут использоваться гдето внутри другого. Делай свой класс который будет работать с какой-то абстракцией, для работы с реальной файловой системой используй методы TDirectory для остальных свою реализацию

Sergey-Bodrov Автор вопроса
Александр (Rouse_) Багель
Инкапсуляция подразумевает что свойства и методы о...

Не, это все не то. Это не ООП, где в базовом классе общедоступный абстрактный функционал (например TStream), в в наследниках пару protected методов переопределил, и оно уже с чем-то реальным работает (TFileStream, TMemoryStream)

Sergey Bodrov
Есть же всякие Clipboard, Mouse, Display, Printer ...

Не удобнее. Это синглтоны, которые создаются при старте

Sergey-Bodrov Автор вопроса
Александр (Rouse_) Багель
Это не ООП? Ок я замолкаю :)))

System.IOUtils по сути корявые namespaces. Можно было сделать unit IOUtils.Directory с набором функций, результат тот же самый

Sergey-Bodrov Автор вопроса
Александр (Rouse_) Багель
Сделай - никто не запрещает

Я делаю читалку бекапов MS SQL в формате Tape file. Это образ файловой системы, как zip или compound file. Хотелось бы унифицировать его интерфейс с существующим хорошим решением.

Sergey Bodrov
Я делаю читалку бекапов MS SQL в формате Tape file...

У нас разные представления о хорошем решении, судя по всему в твоем представлении это универсальный комбайн работающий с любыми источниками данных. В моем представлении универсальные комбайны ущербны и ограничены из-за их универсальности

Sergey-Bodrov Автор вопроса
Александр (Rouse_) Багель
У нас разные представления о хорошем решении, судя...

Это тупо набор папок и файлов. Ровно то же самое в любом архиваторе. Да, там есть еще диски (volume) и substreams (как бы разные "звуковые дорожки") внутри файлов. Но они никак не мешают базовому функционалу (папки и файлы).

Sergey Bodrov
Это тупо набор папок и файлов. Ровно то же самое в...

Свой класс сделай, для обычной ФС вызывай из IOUtils методы, для псевдо ФС вызывай свои методы

Hemul GM
Свой класс сделай, для обычной ФС вызывай из IOUti...

Я ему это уже сказал - он ответил что это не ООП :)

Александр (Rouse_) Багель
У нас разные представления о хорошем решении, судя...

Если у него подлежащий источник данных - обычная пусть и со своими особенностями файловая система, то проблемы из-за универсальности может не быть. А с другой стороны, если это фс, не лучше ли работать через драйвер, чтобы она была прозрачна?

Тогда там просто будут заглушки, а функциями этими он не будет пользоваться 🤷‍♂ но мне непонятно, почему не работать через драйвер виртуальной фс, монтируя куда угодно в обычном пространстве имён объектов win.

Иван Алексеев
Тогда там просто будут заглушки, а функциями этими...

Про это речь и идет, что нужна абстракция, где не нужно решать какими функциями он сейчас будет пользоваться а какими нет

Александр (Rouse_) Багель
Про это речь и идет, что нужна абстракция, где не ...

Да, которая позволит использовать стандартный набор, по типу "листинг файлов-прочитать-записать" для любых файловых систем. Ничего особого. Речь же не о том, чтобы это было встроено в ioutils, а о том, есть ли такой функционал где-нибудь.

Иван Алексеев
Да, которая позволит использовать стандартный набо...

Вань, ты немного уменьшай свою экспу - ты системщик на полбашки и думаешь этими же категориям, а тут прикладники. Пожалей народ :)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта