|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.08.2010, 13:44 | #21 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
А я бы связанный список взял за основу. В начале каждой записи вписал бы заголовок примерно следующей структуры:
1. Заголовок файла (пусть даже приведенное к формату 8.3) 2. Размер 3. Ссылка на предыдущую запись (или -1, если первая) 4. Метка удаления Ну да, размер файла несколько увеличится. Но зато довольнопросто осуществлять навигацию по нему и не нужно полностью переписывать весь файл в случае добавления новой записи. Ну а иногда сжать файлик путем удаления помеченных записей думаю не так уж и сложно. |
03.08.2010, 15:39 | #22 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Можно изобретать свой велосипед, на основе TFileStream это делается довольно просто, вот тут выкладывал пример (может содержать ошибки ) http://programmersforum.ru/showpost....16&postcount=6
Можно хранить в OLE-compound архиве (повсеместно используется в винде в доках, до появления docx-он-же-зип, thumbs.db и т.п., но апи для работы с ним есть только в винде, соответственно) Или зип, как уже предлагали.
пыщь
|
03.08.2010, 15:50 | #23 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
+1 за OLE.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
03.08.2010, 21:46 | #24 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
Предложу свои велосипеды:
1) Запаковать в зип и удалить заголовок)); 2) Чуть посложнее: Организовать структуру данных, с полями размером ~2.2кб(с запасом). Если 2 кб максимальный размер то можно и 2 кб. Записать все файлы в эту структуру и работать как с типизированным файлом. Только скорость поиска будет хромать; |
05.08.2010, 05:04 | #25 |
Форумчанин
Регистрация: 05.07.2010
Сообщений: 136
|
Как вариант, можно использовать IStorage.
|
05.08.2010, 07:14 | #26 |
₪₪₪₪₪₪₪₪
Форумчанин
Регистрация: 16.04.2007
Сообщений: 471
|
Или вот ещё попробуй:
http://freevcl.blogspot.com/2010/06/...unit-v104.html - bzip. не требует никаких библиотек, так что вы можете создавать полностью автономные приложения. http://freevcl.blogspot.com/2010/06/diucl.html - порт библиотеки, что используется в UPX. Очень быстрая распаковка, почти не загружающая память. Ассемблерный распаковщик, который умещается менее чем в 200 байт. Поддержка сжатия и распаковки в одном месте (in-place). Распаковка в реальном времени. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Склеивание таблиц из разных файлов в один | zenner | Microsoft Office Excel | 16 | 04.05.2011 23:11 |
Сборка нескольких файлов в один | Gamst | Помощь студентам | 4 | 02.06.2010 20:19 |
Слияние двух файлов в один | hen | Общие вопросы C/C++ | 1 | 07.10.2009 22:59 |
Собирание файлов в один | polcta | Общие вопросы C/C++ | 0 | 01.10.2009 14:52 |
Копирование двух файлов в один | JRcoker | Общие вопросы Delphi | 5 | 18.07.2008 21:37 |