Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Генерируемые имена в OLEStorage

1.8K
11 марта 2009 года
kvadro
35 / / 17.06.2005
Доброго времени суток.
Пишу я в delphi 6.
Так уж получилось.
Встала задача создавать в OLEStorage (или COMStorage кому как больше нравится) полную копию указанной папки, т.е. с деревом и файлами и их контентом. Проблема вылезла откуда не ждали. Оказывается не возможно создавать файлы и подкаталоги длинна имени которого больше 31 символа. А следить за таким именованием, ясное дело, никто не собирается. Думал я думал и надумал: а не запихать ли в сторадж файлик со структурой исходного дерева, а потоки и подкаталоги назвать просто сплошной нумерацией. Но тут у меня куча вопросов.
1. Как сопоставить исходное название и нумерованное при извлечении.
2. Как обеспечить выборку из такого хранилища.
3. Проблема в самом создании у меня всё создавалось по путям, т.е. \folder\folder\file, естественно, проверялось при создании есть хоть часть этого пути или нет, что бы не перезаписать уже созданную структуру, а теперь как я смогу сверять путь если он цифровой а на в ходе путь типа \folder.
Возможно, есть типовое решение такой проблемы, но признаюсь, я не знал что ввести в поиске(

За ранее благодарен за помощь.
5
11 марта 2009 года
hardcase
4.5K / / 09.08.2005
"Быстро" заархивировать чем-то, поддерживающим NTFS-потоки.
1.8K
11 марта 2009 года
kvadro
35 / / 17.06.2005
А от storage отказатся?
5
11 марта 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: kvadro
А от storage отказатся?


И уже чё угодно делать с архивом. Я не вдавался в подробности OLEStorge.

1.8K
11 марта 2009 года
kvadro
35 / / 17.06.2005
А, т.е. ты пользовался архиваторами?
или я не верно понял?(
5
11 марта 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: kvadro
А, т.е. ты пользовался архиваторами?
или я не верно понял?(


Я вообще не вдавался в подробоности OLEStorage, я даже назначение его смутно понимаю.
Зачем решать задачу, которая уже решена в других программах? Берем, к примеру, WinRAR: с ключом -os он умеет работать с NTFS потоками. Если, же нужна производительность, то паковать можно без сжатия.

1.8K
11 марта 2009 года
kvadro
35 / / 17.06.2005
Цитата: hardcase
Я вообще не вдавался в подробоности OLEStorage, я даже назначение его смутно понимаю.
Зачем решать задачу, которая уже решена в других программах? Берем, к примеру, WinRAR: с ключом -os он умеет работать с NTFS потоками. Если, же нужна производительность, то паковать можно без сжатия.


Всё, теперь понял. Такой вариант я тоже предлагал, но вот нужна возможность тянуть по дному файлу т.к. модуль по работе с storage будет прикручен к проге, которая будет работать со структурированным storage т.е. как это делал word до 2007-ой версии:( В Storage это легко делается и файлик этот будет в блобе СУБД, вот такие навороты:) Ну что ж одно решение проблемы есть - отказ от Storage и переход к архиваторам.)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог