|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Свой архив RAD Studio Delphi 10.1
Здраствуйте. Скажите как сделать свой архив для содержания:
1. Информацию в виде типа record Код:
Type TInfo=record //Имя автора NameAutor:String[30]; //Информация отображаемая в Memo Info:TStringList; Pasword:WideString; Logo:TPNGImage; end; Процесс архивации нужно показывать в ProgressBar Полученный архив должно быть нельзя открыть в любой программе кроме как моей. Например в 7zip или джругом архиваторе Или в редакторе ресурсов Информацию тоже должно быть нельзя прочесть Может есть готовый компонент или библиотека? |
#2
|
||||
|
||||
1. Содержимое TStringList, WideString и TPNGImage сохранять в файл с преамбулой длины данных
2. Использовать готовый набор Cryptography Functions Пишу программы за еду. __________________ |
#3
|
|||
|
|||
Цитата:
Гдебы хранились файлы и информация тип record код которого я дал. |
#4
|
|||
|
|||
Ну, например, можно сделать финт ушами. Писать свой "честный" архиватор - как-то долго и сложно. Поэтому собственно для компрессии используем ZLib (TCompressStream, если правильно помню имя). Далее есть варианты. Можно отдельно компрессировать каждую запись. Тогда структура файла должна быть примерно такой:
Код:
MYZIP - 5 char file signature NumberOfElements - 4 byte integer Element 1 length - 4 byte integer Element 1 data - raw data ... Element n length - 4 byte integer Element n data - raw data Чтение - в обратном порядке. Считали длинну, скопировали полученное кол-во байт в декомпрессирующий поток, дальше вычитали результат в переменную. |
#5
|
|||
|
|||
Цитата:
Как я сказал архив нельзя должно быть открыть в другой программе и процесс архивации должен открываться в другой программе Плюс также в архив должна записываться информация которая будет показываться при открытии архива. |
#6
|
|||
|
|||
Я кажется придумал схема своего архива с информацией
Для начала происходит архивация в zip Потом полученный zip открываем в потоке Добавляем туда информацию Шифруем каждый символ (по сути архив можно открыть как текстовой файл но вместо текста там бинарный код который тоже состоит из символов а значит применить к каждому символу шифровку в виде xor и своего ключа Можете сказать как мне реализовать такое с показом на progressBar и какие компоненты нужно скачать? |
#7
|
|||
|
|||
И так. У меня появилось время. Да и приоритет я поменял.
Не нужно мне шифрование. Идея следующая: Использовать запороленный 7zip с вшитой в него нужной информацией. При открытии (выборе файла) информация считывается и удаляется. Ну и дальше распаковка с показом на ProgressBar Может кто пример кинет как это сделать. Вроде бы в инете был модуль SevenZip для этого. Подскажите как сделать запоковку с поролем и вшитой информацией в 7Zipn и распоковку. И если возможно то вшить инфолрмацию так чтобы это не рушила структуру архива если нет то вшить ее в конце после архивации. Может кто пример сделать. Вот сам модуль с оф сайта http://www.rg-software.de/ Последний раз редактировалось Alexandr_57, 25.09.2016 в 09:36. |
#8
|
||||
|
||||
Похоже здесь в корне не верный подход к решению.
Нужен стандартизированный файл-контейнер содержащий различные данные, среди которых и запакованный архив, где он не главный, а как только составляющая. Задача поставлена неявно, можно лишь предположить, что выглядеть на выходе она должна примерно так: будет туева хуча однотипных файлов, при выборе и загрузке в ридер этого формата пользователю показывается текстовая информация об авторе и доп.инфа по содержимому с эскизом. При вводе юзером пароля, происходит распаковка хранимого в этом файле архива, а сам носитель уничтожается Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#9
|
|||
|
|||
Кокрастаки пороль вводить не должен.
Во вторых так как данные это название архива и автор то вроде как 7Zip уже имеет такую поддержку. Ну впрочем вводить нужно только автора и название архива. После чего упаковываешь файлы с поролем. Мне просто нужен пример упаковки и распоковки архива 7zip с поролем но еще и с вшитой информацией. В библиотеке что я дал есть демка но както я не разобралдся с ней или не понятно демка на упаковку ии распоковку. Но мне еще нужно показ вшитой информации |
#10
|
||||
|
||||
Ну понятие - понятно, у всех разное, сейчас нету времени детально копаться во всяком, вот вам пока старинный пример добавки и показ текста к архиву, если вы его выберете в качестве реципиента, посмотрите пжлст
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#11
|
|||
|
|||
Чет не понял. Он записать записывает но при повторном открытии не показывает чета.
|
#12
|
||||
|
||||
А сохранять не пробовали? А вот пример файл-контейнера нашёлся, текст и бинарник в меморном потоке
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#13
|
|||
|
|||
Цитата:
На счет примера то там пример с картинками jpga Последний раз редактировалось Alexandr_57, 25.09.2016 в 20:25. |
#14
|
||||
|
||||
Цитата:
З.Ы. Вместо картинки любой файл подставить можно, это ж пример Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 25.09.2016 в 20:40. |
#15
|
|||
|
|||
С каким компонентом?
Так мне сам пример еще запаковки и распаковки файлов 7zip нужно |