![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
sani79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 14.12.2005 Репутация: нет Всего: нет |
Народ, подскажите плиз самый простой способ склеивания файлов. То есть нужно получить что то типа архива, только без компрессии, а потом снова разобрать на исходные файлы. Компоненты не подходят. Может есть у когонибудь код процедурки? Или может кто нибудь просто подскажет самый простой способ. Заранее спасибо.
|
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: нет Всего: 74 |
Самый просто способ если не знаешь TFileStream- склеивать по байтам
![]() Но лучше почитать про TFileStream и просто все сделать за пару строк. Не забудь в конце файла дописывать информацию о вклееных файлах. -------------------- Всем добра ![]() |
|||
|
||||
sani79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 14.12.2005 Репутация: нет Всего: нет |
Хм.. Спасибо за идею... Так если в пару строк, может их опубликовать? Вдруг кому еще пригодится, да и разобраться проще будет....
|
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
||||
|
||||
sani79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 14.12.2005 Репутация: нет Всего: нет |
Спасибо Snowy, это то что нужно. Щас буду пробовать.
|
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Эта проблема поднимается уже в 99-й раз.
А у меня все руки не доходят мою утилиту дописать. Все. Решительно берусь. Пошел писать... |
|||
|
||||
sani79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 14.12.2005 Репутация: нет Всего: нет |
Еще раз спасибо. Кстати на форуме не нашел (видно плохо искал). И в drkb. Пошел писать тоже
![]() |
|||
|
||||
former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 4 Всего: 17 |
Snowy, попробовал кад предложенный в тобой, только упаковывал файлы разных типов (txt, jpg, bmp).
А при попытки выполнить следующий код ничего не происходит: ![]()
Что не так? -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
sani79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 14.12.2005 Репутация: нет Всего: нет |
хмм.. 1: ну во первых получил ошибку при компиляции в процедуре save:
[Error] Unit1.pas(142): Incompatible types: 'TPersistent' and 'file' [Fatal Error] Project1.dpr(9): Could not compile used unit 'Unit1.pas' проблема решилась заменой assign на assignfile. Запись прошла. Размер архива навскидку правильный. Все отлично. 2. Процедура load: во первых понятно что максимальное имя файла 8 символов (задается в типе TFileNfo), мне это не удобно, заменил на 100. Ладно, но в итоге я получил файл размером в 5 байт (?), что естественно не является содержимым извлекаемого файла. Сейчас продолжаю трассировать. Есть у кого нибудь коментарии? Snowy? |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Комментарии отсутствуют. У меня все отлично работает.
Проверил - битмапа грузится без проблем. |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
sani79, у меня работает такой код
Добавлено @ 10:15 Файлы последовательно будут записываться button1, а затем последовательно извлекатся button2(в том порядке в котором были записаны). Число файлов естественно не ограничивается двумя. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
sani79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 14.12.2005 Репутация: нет Всего: нет |
alexeis1, Спасибо, этот код у меня отработал как нужно. Все получилось. Странно что не работает вышеописанный код от Snowy, я уверен что он должен работать тоже. Попытаюсь все таки разобраться. Ради спортивного интереса. Всем спасибо!
|
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
sani79, Я переделал код поприличней на много файлов
вот привожу
Добавлено @ 10:44 Кстати побайтовое сравнение распакованных и исходных показало полное совпадение Это сообщение отредактировал(а) alexeis1 - 11.4.2006, 10:47 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
sani79 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 14.12.2005 Репутация: нет Всего: нет |
Да все работает на отлично. Я проверял dbfами. Никаких потерь.
|
|||
|
||||
Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 31 Всего: 484 |
Долго пишу. Вот собрал 2 класса:
* TFilesSaver - сохраняет кучу файлов в один * TFilesLoader - загружает файлы из пака
Пример использования:
Поэтому есть вероятность того, что в список попадут файлы с одинаковыми именами. Запишутся они корректно и прочитаются тоже. Просто осторожней с сохранением на диск. |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |