Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2010, 13:44   #21
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

А я бы связанный список взял за основу. В начале каждой записи вписал бы заголовок примерно следующей структуры:

1. Заголовок файла (пусть даже приведенное к формату 8.3)
2. Размер
3. Ссылка на предыдущую запись (или -1, если первая)
4. Метка удаления

Ну да, размер файла несколько увеличится. Но зато довольнопросто осуществлять навигацию по нему и не нужно полностью переписывать весь файл в случае добавления новой записи. Ну а иногда сжать файлик путем удаления помеченных записей думаю не так уж и сложно.
Баламут вне форума Ответить с цитированием
Старый 03.08.2010, 15:39   #22
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Можно изобретать свой велосипед, на основе TFileStream это делается довольно просто, вот тут выкладывал пример (может содержать ошибки ) http://programmersforum.ru/showpost....16&postcount=6

Можно хранить в OLE-compound архиве (повсеместно используется в винде в доках, до появления docx-он-же-зип, thumbs.db и т.п., но апи для работы с ним есть только в винде, соответственно)

Или зип, как уже предлагали.
пыщь
JTG вне форума Ответить с цитированием
Старый 03.08.2010, 15:50   #23
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

+1 за OLE.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 03.08.2010, 21:46   #24
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Предложу свои велосипеды:
1) Запаковать в зип и удалить заголовок));
2) Чуть посложнее:
Организовать структуру данных, с полями размером ~2.2кб(с запасом). Если 2 кб максимальный размер то можно и 2 кб. Записать все файлы в эту структуру и работать как с типизированным файлом. Только скорость поиска будет хромать;
psycho-coder вне форума Ответить с цитированием
Старый 05.08.2010, 05:04   #25
igh0st
Форумчанин
 
Аватар для igh0st
 
Регистрация: 05.07.2010
Сообщений: 136
По умолчанию

Как вариант, можно использовать IStorage.
igh0st вне форума Ответить с цитированием
Старый 05.08.2010, 07:14   #26
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 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). Распаковка в реальном времени.
r9m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Склеивание таблиц из разных файлов в один 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