| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Работа с пакетами содержащими файлы |
| Автор: Midaw 7.12.2005, 06:53 |
| Хотелось бы создать файл и работать с ним как с контейнером для других файлов, как с виртуальным диском. Но я не представляю как это сделать и пример найти не могу. Кто-нибудь подскажет в какую сторону копать? Застрял я! |
| Автор: ~FoX~ 7.12.2005, 09:21 |
| Ресурсы |
| Автор: Midaw 7.12.2005, 09:32 |
| Это был дельный совет ?) По ресурсам я уже полазил |
| Автор: ~FoX~ 7.12.2005, 09:46 |
| Midaw Не понял.....Какой вопрос - такой ответ. Опиши задачу по конкретний - какие файла нужно хранить, их количество, что с ними потом надо делать и т.д. Да и вообще нафига? Чем тебе ресурсы не нравятся? Ну не хочешь использовать ресурсами, используй ДЛЛ-ки. |
| Автор: Midaw 7.12.2005, 10:05 |
| Ну есть большое количество музыки, видео и рисунков для мобил. И все это хочется хранить в одном файле.. Программой импортировать и экспортировать, подписывать и т.д. Собственно библиотека в одном файле! Ресурсы, дошло о чем речь. Но это не катит, это ехе скомпилированный. А здесь нужно все иметь в динамике, пускай не распределенной по сети. Хотя тоже интересно. Ничего по теме найти не смог, только примеры уже в готовых проектах. |
| Автор: Snowy 7.12.2005, 10:12 |
| Может тебе ZIP подойдет? |
| Автор: Midaw 7.12.2005, 12:39 |
| Исходники зипа смотреть? Больше мыслей нет?) |
| Автор: _hunter 7.12.2005, 12:45 |
| зачем смотреть? есть готовые компоненты ( тот же VCLZip ) |
| Автор: Snowy 7.12.2005, 13:00 |
| Вот когда-то писал. Правда сохранение в ZIP не делал - только выковыривание из ZIP'a. Пишет только на диск, читает с диска и из ZIP'a. При желании можно и запись в ZIP добавить, но это процесс слишком долгий, а писалось для игрушки. Добавлено @ 13:01 Сам модуль зовется ZFS.pas - ZIP FileSystem. Функции описаны в начале модуля. dpr - пример работы. |
| Автор: Midaw 12.12.2005, 05:29 |
| ZFS не подходит! Нужно, что-то более динамичное. Добавление небольшого файла в большой архив должно происходить быстро, без всякой перепаковки! Есть ещё предложения??? |
| Автор: Snowy 12.12.2005, 10:09 | ||
Добавление можно. А вот удаление или замена - нет. Это просто физически нереально, если только мы не согласны терять место, а перепаковывать раз в N-й период. |
| Автор: Midaw 12.12.2005, 11:04 |
| Это ещё почему не возможно??? Просто писать долго, получается целая подфайловая система со всякими фрагментациями. %) Короче никто подобное написанное не видел? Придется писать самому... Велосипед изобретать... |
| Автор: ~FoX~ 12.12.2005, 11:35 |
| А не выйдет у тебя бОльшей производительности: Смотри, для реализации быстрой работы, (замены или удаления файлов из пакета), логичнее всего зранить хранить таблицу с метками начала и конца файлов, и их имен (ну типа FAT Выйгрышь в скорости ты получишь только за счет отсутствия алгоритма сжатия. Добавлено @ 11:37 З.Ы. Кстати даже если реализовывать без таблици размещения, все равно, те жи грабли и будут |
| Автор: Snowy 12.12.2005, 11:47 | ||||
Видел. У себя на машине. На основе KOL ZLib. Но не дам. Еще в разработке. Добавлено @ 11:49
Угу. Только начала и длина файла. А также имя и пр необходимые аттрибуты. И хранить в конце файла. А при добавлении нового, на место таблицы писать новый файл, а саму таблицу перносить снова в конец, добавляя в нее новую запись. |
| Автор: Midaw 12.12.2005, 14:18 |
| блин, начинаем изобретать велосипед. Короче могу на многих моментах поспорить, но буду тупо искать исходники с подобным. |