|
Delphi Лозовский Александр Xakep, номер #054, стр. 054-084-3 UnpackedSize - его исходный размер. Ratio - compress ratio. CRC - его CRC. Вот такой веселый компонент. Если ты заглянешь в хелп-файл с именем tziptv.hlp, то узнаешь еще много нового. 4) TZipKey. Самый ][-компонент в моем обзоре :). Дело в том, что он, так сказать, помогает вспомнить забытые пароли. Сам понимаешь, есть запароленный архив, а пароль забыл, ну или не знал... Но узнать-то хочется! Вот и вперед. Для этого компонента есть очень хорошее демо (\ZIPZV5\DEMO\ZIPKEY\) и его надо освоить. Строго говоря, для многих компонентов есть демо, но не все они так хороши. В нелегком хакерском деле нам содействуют: ArchiveFile - имя жертвы. FileSpec - все та же маска для файлов. CharSets - способ поиска паролей. Например, если присвоить Zipkey1.CharSets:= TCharSets(0), то поиск ограничится паролями, состоящими только из цифр. Если же вместо нуля будет 8, то поиск будет идти по всем ASCII символам. Все значения ты сможешь узнать из демы (в ней все очень понятно сделано), поскольку в хелпе этого компонента почему-то нет. Между прочим, поиск можно вести и по словарю. Их можно скачать на сайте разработчика в разделе "о продукте". Есть даже китайский wordlist. Тебе он, безусловно, пригодится. StartPassword - с него начинается поиск. Методы: Activate - запускает процесс. Pause - делает паузу :). Как только пароль находится, вызывается событие OnFound и свойство Password приобретает конкретное значение. Им и предстоит воспользоваться. На этом с обзором я заканчиваю, так что перейдем к моему любимому кодингу. Интерфейс Создавай форму (БОЛЬШУЮ форму, пример будет немаленьким) и клади на нее 5 TEdit, 12 TLabel, 7 TButton, 2 TListBox, 2 TProgressBar, 1 TGroupBox. Поскольку так просто разобраться в этом многообразии не могу даже я, давай посмотрим на этот рисунок: Так примерно и должен выглядеть наш новорожденный проект. Самое время раздать свойства. Вот такие: label1 - caption "Открыть/создать архив:" label2 - caption "Пароль для архива" label3 - caption "Путь для распаковки" label4 - caption "Путь для новорожденного архива" label5 - caption "Всего файлов:" label7 - caption "Исходный размер:" label9 - caption "Размер после паковки:" label11 - caption "Ratio:" Label'ы же под номерами 6, 8, 12 должны получить вместо caption'а просто нули, поскольку нормальные значения они получат только в ран-тайме. Кстати, пока не поздно, предупреждаю. Оформлением формы можешь не заниматься, так как на диске лежат 2 исходника: оформленная, но неработающая форма (в образовательных целях) и полностью готовый проект для нетерпеливых. Ладно, продолжим дизайнерство, набивай дальше: Button'ы под номером 1 и 2 получают caption в виде троеточия. А вот остальные: Button3 - caption "Добавить!" Button4 - caption "Архивировать" Button5 - caption "Разархивировать" Button6 - caption "Создать SFX" Button7 - caption "Конвертировать" GroupBox1 получает caption "Содержимое архива". Также не забудь определить на форму компоненты: Zip, UnZip, Arc2Arc, MakeSfx и OpenDialog из закладки Dialogs. Вот что у меня получилось в результате: |