52610.fb2 Пишем программу для создания книг FB2. - читать онлайн бесплатно полную версию книги . Страница 9

Пишем программу для создания книг FB2. - читать онлайн бесплатно полную версию книги . Страница 9

S:= Form1.EndNotesList.Items[i];

OutList.Add('<section id="n_'+IntToStr(i+1)+'"><title><p>'+IntToStr(i+1)+'</p>');

OutList.Add('</title><p>'+S+'</p>');

OutList.Add('</section>');

end;

OutList.Add('</body>');

end;

// конец кода

Согласитесь, что здесь все просто, просматриваем список сносок и соблюдаем формат FB2. Но остается один маленький вопрос, а что если нам нужно будет вывести многострочную (точнее много абзачную) сноску. Да, возникает вопрос, приходят и варианты решения…

Ладно, кое-что в коде я пропустил. Но основные недостатки программы, я кажется описал. Правда, наверняка есть ляпы, которые я не заметил…

Наконец файл книги в формате FB2 создан.

На этом все? Ну нет, сейчас все авторы заканчивают книги словами "Продолжение следует". И я замыслил по крайней мере одно продолжение. Мне кажется оно просто необходимо.

Программа должна уметь не только создавать, но и читать файл FB2. Тогда можно растягивать удовольствие изготовления книги на несколько дней, и не потребуется каждый раз заново: читать текстовый файл, расставлять стили, форматировать строки и т. д. и все это с одной и той же книгой - ужас.

Но, как известно из математики, обратная задача всегда сложнее прямой. И т. к. я считаю, что на сегодня уже достаточно утомил Вас. Давайте рассказ о второй версии программы отложим.

Связаться со мной Вы сможете по адресу w__cat@mail.ru (обратите внимание, 2 подчеркивания, т. к. w_cat@mail.ru оказался уже занят). Предупреждаю сразу, я ленив, почту смотрю не каждый день, да и отвечать всем может и не смогу (я же не знаю сколько найдется желающих мне написать). Второе, эту почту я специально завел для этой программки, и если Вы, друзья мои завалите ее спамом или матом, я просто забуду туда дорогу.

Лицензионные условия таковы, пользуйтесь на здоровье, копируйте, переделывайте, если сможете заработать на этом деньги, буду только рад.

Карпов Юрий.

Кохтла-Ярве.

2010.

Итак.

Продолжение следует…

Приложение

Исходный код программы.

Выложил исходник на один сайт, но боюсь, что там ему и потерянному быть…

Поэтому, не буду ждать милости, справимся и сами.

Для начала, извлечем исходник из этого файла.

«Нет таких задач, которые не могли бы решить комму… (извиняюсь) программисты!»

Сделаем копию этого файла. Переименуем его как текст. В этом тексте найдем слово «Приложение». Удалим все до этого слова, да и немного далее, до начала исходного текста.

Теперь заменим все <p> и </p> на пустое место.

Еще заменим:

<empty-line/> на пустое место.

&#38; на &

&lt; на <

&gt; на >

«Цели определены, задачи поставлены, за работу товарищи…»

Программа состоит из 4 форм и 6 файлов pas, всего около 50 кбайт.

Далее, последует инструкция, как сделать программку.

Если Delphi 5 и выше то все просто.

Получившийся пирожок, нужно разрезать на отдельные файлы и назвать так как они подписаны

И запустить проект.

Иначе придется повозится.

В новой папочке создайте пустой проект Delphi.

На форме кликните правой кнопкой мыши и выберите View as Text

Скопируйте код формы из книги (не захватывая слова "начало кода" и "конец кода"). Вставьте его в открытое окно. Нажмите правую кнопку мыши и выберите View as Form. Если все сделано правильно Вы увидите форму.

Скопируйте код соответствующего unit. Замените им код в окне Code.

Хорошо, одна форма сделана.

Теперь создайте новую форму File - New - Form

И повторите предыдущие операции

Форм и соответствующих им Юнитов нужно сделать 4:

Unit1.dfm, genres.dfm, EditStr.dfm, authors.dfm

Unit1.pas, genres.pas, EditStr.pas, authors.pas

Файлы UmFB2.pas и dm.pas форм не имеют т.е. просто сделайте их из текстовых.