
Извлекаем архив из fb2
Описание
Данная книга предназначена для начинающих программистов, желающих освоить практические навыки работы с кодом. Автор, Юрий Карпов, показывает, как извлечь архив из электронного файла fb2, используя Delphi. Книга не просто предоставляет готовые решения, но и ставит читателя в условия, максимально приближенные к реальной работе программиста. Вы пройдете путь от постановки задачи до ее решения, включая возможные ошибки и сомнения. В книге содержится исходный код программы, который поможет вам освоить процесс извлечения архивов. Вы научитесь использовать инструменты Delphi для работы с файлами и потоками, а также освоите базовые принципы программирования. Книга подходит для студентов, желающих углубить свои знания в программировании, и для всех, кто хочет начать свой путь в IT-сфере.
|t_| Ты, готов?
|go| Всегда, готов!
|t_| Сейчас, я хочу занять твое время, чисто технологической работой, но я надеюсь, что в дальнейшем она нам сильно облегчит жизнь.
|go| О чем речь. Зачем так много слов?
|t_| Да, боюсь, что слов будет больше чем дела.
Не люблю я читать занудные, но необходимые для правильного понимания, объяснения типа:
"выберите пункт меню File (Файл) затем Open (Открыть)..."
Мне хочется в нашем общении быть свободным от мелочной опеки, а говорить только о необходимом.
А для этого у тебя под рукой должен быть исходный код программы о которой мы будем говорить. После перебора разных вариантов, сейчас я остановился на таком. Исходный код программы в виде архива будет хранится в самой книге FB2.
|go| Не понял, как это?
|t_| Формат fb2 позволяет в контейнере binary хранить рисунки. А почему бы нам не хранить там архивы.
|go| А как к этому отнесется Грибов.
|t_| Мне хочется думать, что с пониманием.
Итак, сейчас, я опишу порядок действий по извлечению исходника программы из этой книги. В дальнейшем ты откомпилируешь программку и из наших дальнейших книг будешь извлекать архивы.
Сегодня я не хочу распылятся, и описывать как работает эта программа, нам нужна она пока сама по себе. Начинаю.
|go| Весь во внимании.
|t_|
1. Сделай копию этой книги.
2. Измени расширение .fb2 на .txt, или нет, сразу назови его zzz.txt - это будут данные для нашей одноразовой программки.
3. Открой файл блокнотом.
4. Найди текст
5. Удали эту строку и все что есть до ее.
6. Найди текст
7. Удали эту строку и все после ее.
В файле должно остаться:
UEsDBAoAAAAAAHQXhzcAAAAAAAAAAAAAAAANAAAAemlwX2Zyb21fZmIyL1BLAwQKAAAAAADmHIc3
...
...
AAAAAAkACQBvAgAAJA8AAAAA
всего 80 строк такой кузязябры.
8. Сохрани файл.
Данные готовы.
Теперь программка.
Запускай Delphi.
Делай новый проект
Поставь на форму одну кнопочку.
В обработчик нажатия кнопочки напиши
// начало кода
procedure TForm1.Button1Click(Sender: TObject);
var
Path : string;
MS, MS1 : TMemoryStream;
begin
MS := TMemoryStream.Create;
MS1 := TMemoryStream.Create;
Path := ExtractFileDir(ParamStr(0)) + '\';
MS.LoadFromFile(Path+'zzz.txt');
MS.Position := 0;
DecodeStream(MS, MS1);
MS1.SaveToFile(Path+'zip_from_fb2.zip');
MS.Free; MS1.Free;
end;
// конец кода
Еще, в uses добавь EncdDecd.
Сохрани проект и unit1 в какую либо папку (я имею в виду, создай папку).
Туда же брось, подготовленный файл zzz.txt
Запусти Delphi на выполнение.
Нажми на кнопку.
Все.
Полученный архив распакуй в новую папку.
А все сделанное можешь спокойно удалить.
|go| А зачем удалять, может и дальше ею пользоваться?
|t_| Нет, программка одноразова, тут целая история, об эмоциональности программирования, но об это потом...
Запускай проект полученный из архива
И проверь его на этой книге
Ну, как, получилось?
|go| Постой, постой!
А, как подготавливать архивы для вставки в книгу?
|t_| А, тебе зачем?
|go| Ну, вот, пожадничал.
|t_| Да нет, мне не жалко... хотя постой, ты совершенно прав, тебе пригодится возможность кодировать рисунки.
|go| А еще и извлекать картинки из книги...
|t_| Ну ладно, уговорил. Сейчас переделаю прогу. И напишу еще одну, и их исходники засуну в эту книгу. Чтобы тебе не запутаться, программа для декодирования будет находится в конце книги.
|go| Хорошо, я потом посмотрю исходники, и если, что-то пойму...
|t_| Ладно, пиши. Успехов!
Похожие книги

Основы программирования в Linux
В четвертом издании книги "Основы программирования в Linux" вы найдете подробное руководство по программированию в операционной системе Linux. Книга охватывает использование библиотек C/C++, системных вызовов, файлового ввода/вывода, взаимодействия процессов, программирования командной оболочки и создания графических интерфейсов с помощью GTK+ или Qt. Вы узнаете, как компилировать, компоновать программы с библиотеками и работать с терминальным вводом/выводом. Учебник также содержит практические советы по написанию приложений для GNOME и KDE, хранению данных с использованием MySQL и отладке программ. Четкая структура и понятные примеры делают процесс обучения быстрым и эффективным. Идеально подходит для начинающих Linux-программистов, стремящихся освоить основы программирования в этой мощной операционной системе.

97 этюдов для архитекторов программных систем
Архитекторы программного обеспечения играют ключевую роль в успехе проектов. Книга "97 Этюдов для архитекторов программных систем" предлагает практические советы от ведущих специалистов. Она охватывает широкий спектр тем, от решения распространенных проблем до создания эффективных команд. Авторы, включая Билла де Ору, Майкла Хайгарда и Нила Форда, делятся своим опытом, предлагая решения для повышения качества и эффективности работы в сфере разработки ПО. Книга является ценным ресурсом для всех, кто хочет улучшить свои навыки проектирования архитектуры программных систем и добиться успеха в IT-профессии.

Искусство программирования для Unix
Эта книга не просто руководство по Unix, а исследование его философии и культуры. Она не ориентирована на технические подробности, а на понимание "почему это следует сделать", а не "как". Автор, Эрик Стивен Реймонд, обращается к опыту ведущих разработчиков Unix, чтобы показать, как коллективная культура и традиции влияют на создание эффективных и устойчивых программ. Книга разделена на четыре части: Контекст, Проектирование, Реализация и Сообщество. Каждый раздел раскрывает различные аспекты Unix-культуры, от истории и философии до практических рекомендаций для программистов. Книга подходит для тех, кто хочет понять не только "как", но и "почему" Unix-программирование так эффективно. Понимание принципов проектирования, заложенных в Unix, поможет вам создавать более качественные и гибкие программы.

Программист-прагматик. Путь от подмастерья к мастеру
Книга "Программист-прагматик. Путь от подмастерья к мастеру" глубоко исследует процесс разработки программного обеспечения, абстрагируясь от технических тонкостей. Она фокусируется на ключевых аспектах, таких как требования к программе, ее работоспособность и поддержка. Авторы, эксперты в области программирования (А. Алексашин, Дэвид Томас, Эндрю Хант), делятся своим опытом, предлагая практические советы по преодолению трудностей и созданию программ, которые радуют пользователей. Книга охватывает темы личной ответственности, карьерного роста, архитектурных методик, гибкости и повторного использования кода. Научитесь бороться с недостатками ПО, избегать ловушек дублирования знаний, создавать адаптивные программы, избегать программирования на совпадениях, защищать код контрактами, утверждениями и исключениями, собирать реальные требования, осуществлять эффективное тестирование и формировать команды программистов-прагматиков.
