Ладно, кое-что в коде я пропустил. Но основные недостатки программы, я кажется описал. Правда, наверняка есть ляпы, которые я не заметил…
Наконец файл книги в формате FB2 создан.
На этом все? Ну нет, сейчас все авторы заканчивают книги словами «Продолжение следует» . И я замыслил по крайней мере одно продолжение. Мне кажется оно просто необходимо.
Программа должна уметь не только создавать, но и читать файл FB2. Тогда можно растягивать удовольствие изготовления книги на несколько дней, и не потребуется каждый раз заново: читать текстовый файл, расставлять стили, форматировать строки и т. д. и все это с одной и той же книгой ― ужас.
Но, как известно из математики, обратная задача всегда сложнее прямой. И т. к. я считаю, что на сегодня уже достаточно утомил Вас. Давайте рассказ о второй версии программы отложим.
Связаться со мной Вы сможете по адресу w__cat@mail.ru (обратите внимание, 2 подчеркивания, т. к. w_cat@mail.ru оказался уже занят). Предупреждаю сразу, я ленив, почту смотрю не каждый день, да и отвечать всем может и не смогу (я же не знаю сколько найдется желающих мне написать). Второе, эту почту я специально завел для этой программки, и если Вы, друзья мои завалите ее спамом или матом, я просто забуду туда дорогу.
Лицензионные условия таковы, пользуйтесь на здоровье, копируйте, переделывайте, если сможете заработать на этом деньги, буду только рад.
Итак.
Продолжение следует…
Приложение
Исходный код программы.
Выложил исходник на один сайт, но боюсь, что там ему и потерянному быть…
Поэтому, не буду ждать милости, справимся и сами.
Для начала, извлечем исходник из этого файла.
«Нет таких задач, которые не могли бы решить комму… (извиняюсь) программисты!»
Сделаем копию этого файла. Переименуем его как текст. В этом тексте найдем слово «Приложение». Удалим все до этого слова, да и немного далее, до начала исходного текста.
Теперь заменим все <p> и </p> на пустое место.
Еще заменим:
<empty-line/> на пустое место.
& на &
< на <
> на >
«Цели определены, задачи поставлены, за работу товарищи…»
Программа состоит из 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 форм не имеют т.е. просто сделайте их из текстовых.
Итак, начали.
Unit1.dfm
// начало кода
object Form1: TForm1
Left = 187
Top = 98
Width = 722
Height = 463
Caption = 'Form1'
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = –11
Font.Name = 'MS Sans Serif'
Font.Style = []
Menu = MainMenu1
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object PageControl1: TPageControl
Left = 0
Top = 0
Width = 714
Height = 417
ActivePage = TabSheet2
Align = alClient
TabIndex = 3
TabOrder = 0
object TabSheet1: TTabSheet
Caption = 'title-info'
object Annotation: TMemo
Left = 0
Top = 273
Width = 706
Height = 116
Align = alClient
ScrollBars = ssVertical
TabOrder = 0
WordWrap = False
end
object Panel3: TPanel
Left = 0
Top = 0
Width = 706
Height = 273
Align = alTop
BevelOuter = bvNone
TabOrder = 1
object Lbook_title: TLabel
Left = 8
Top = 64
Width = 43
Height = 13
Caption = 'book-title'
end
object LProject: TLabel
Left = 8