![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#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 и какие компоненты нужно скачать? |