Извлекаем архив из fb2

Извлекаем архив из fb2

Книга предназначена студенту, писавшему программы только в качестве курсовых, "сдавшему" Delphi и несмотря на это, желающему стать программистом. Это, не сборник готовых рецептов, автор хочет поставить читателя в условия максимально приближенные к рабочим. Мы вместе напишем программу, пройдя через ошибки, и сомнения к окончательной победе...

Жанр: Программирование
Серия: Решебник delphi №1
Всего страниц: 1
ISBN: -
Год издания: Не установлен
Формат: Полный

Извлекаем архив из fb2 читать онлайн бесплатно

Шрифт
Интервал

Извлекаем архив из fb2

|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_| Ладно, пиши. Успехов!


Еще от автора Юрий Карпов
Английский по методу w_cat

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Рекурсия

Книга предназначена студенту, писавшему программы только в качестве курсовых, "сдавшему" Delphi и несмотря на это, желающему стать программистом. Это, не сборник готовых рецептов, автор хочет поставить читателя в условия максимально приближенные к рабочим. Мы вместе напишем программу, пройдя через ошибки, и сомнения к окончательной победе...


Пишем программу для создания книг FB2

Подробный комментарий к исходному коду программы создающей книжку в формате FB2.


Рекомендуем почитать
Сооруди себе рыжий парик

Американский писатель Чарлз Вильямс (1909–1975) — автор более 20 остросюжетных романов, множества рассказов, ряда сценариев. Уроженец ковбойского Техаса, Вильямс по праву занимает достойное место в галерее мастеров детективных произведений, которые появились на литературном небосклоне США в послевоенный период.Книга также издавалась под названиями "Дыхание смерти" и "Прикосновение смерти".


Фредди Меркьюри. Украденная жизнь

Это вторая книга Мариам Ахундовой, посвященная памяти Фредди Меркьюри, и это новое исследование его творчества. Первая книга «История Фредди Меркьюри», как и следовало ожидать, оказалась в хорошем смысле скандальной, так как реабилитация доброго имени оклеветанного гения всегда — скандал. Книга мгновенно была распродана... Мариам Ахундова защитила честь и достоинство блистательной звезды британского рока. Автора благодарили, автору возражали, автору угрожали...О причинах, побудивших Мариам Ахундову к написанию второй книги, лучше всего сказано в ее собственном предисловии.


Братья должны умереть

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Звезды правду говорят

Даже то, что она подружится с Лилей, Маргарите сообщили… звезды! Так оно и случилось, и теперь девушки стали просто не разлей вода. Дело в том, что Маргарита — астролог. К ней часто обращались с просьбами составить гороскопы, но Рите и в голову не приходило требовать с заказчиков деньги за этот совсем не легкий труд. Но Лиля предложила подруге иной подход к этому делу — она взялась находить богатых клиентов и улаживать с ними финансовые вопросы. И вот появился первый — бизнесмен Казаков… Маргарита взялась за составление его гороскопа.


Изучаем Java EE 7

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)


MFC и OpenGL

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Как функции, не являющиеся методами, улучшают инкапсуляцию

Когда приходится инкапсулировать, то иногда лучше меньше, чем большеЯ начну со следующего утверждения: Если вы пишете функцию, которая может быть выполнена или как метод класса, или быть внешней по отношению к классу, Вы должны предпочесть ее реализацию без использования метода. Такое решение увеличивает инкапсуляцию класса. Когда Вы думаете об использовании инкапсуляции, Вы должны думать том, чтобы не использовать методы.Удивлены? Читайте дальше.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Программное обеспечение встроенных систем. Общие требования к разработке и документированию

Embedded system software. General requirements for development and documentationСтандарт подготовлен в развитие ГОСТ Р ИСО/МЭК 12207-99 «Информационная технология. Процессы жизненного цикла программных средств» с целью учета специфики разработки и документирования программного обеспечения встроенных систем реального времени.


Как пасти котов. Наставление для программистов, руководящих другими программистами

«Как пасти котов» – это книга о лидерстве и руководстве, о том, как первое совмещать со вторым. Это, если хотите, словарь трудных случаев управления IT-проектами. Программист подобен кошке, которая гуляет сама по себе. Так уж исторически сложилось. Именно поэтому так непросто быть руководителем команды разработчиков. Даже если вы еще месяц назад были блестящим и дисциплинированным программистом и вдруг оказались в роли менеджера, вряд ли вы знаете, с чего надо начать, какой выбрать стиль руководства, как нанимать и увольнять сотрудников, проводить совещания, добиваться своевременного выполнения задач.