Юрий Карпов - Пишем программу для создания книг FB2.
- Название:Пишем программу для создания книг FB2.
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Ваша оценка:
Юрий Карпов - Пишем программу для создания книг FB2. краткое содержание
Подробный комментарий к исходному коду программы создающей книжку в формате FB2.
Пишем программу для создания книг FB2. - читать онлайн бесплатно полную версию (весь текст целиком)
Шрифт:
Интервал:
Закладка:
Но, как известно из математики, обратная задача всегда сложнее прямой. И т. к. я считаю, что на сегодня уже достаточно утомил Вас. Давайте рассказ о второй версии программы отложим.
Связаться со мной Вы сможете по адресу w__cat@mail.ru (обратите внимание, 2 подчеркивания, т. к. w_cat@mail.ru оказался уже занят). Предупреждаю сразу, я ленив, почту смотрю не каждый день, да и отвечать всем может и не смогу (я же не знаю сколько найдется желающих мне написать). Второе, эту почту я специально завел для этой программки, и если Вы, друзья мои завалите ее спамом или матом, я просто забуду туда дорогу.
Лицензионные условия таковы, пользуйтесь на здоровье, копируйте, переделывайте, если сможете заработать на этом деньги, буду только рад.
Карпов Юрий.
Кохтла-Ярве.
2010.
Итак.
Приложение
Исходный код программы.
Выложил исходник на один сайт, но боюсь, что там ему и потерянному быть…
Поэтому, не буду ждать милости, справимся и сами.
Для начала, извлечем исходник из этого файла.
«Нет таких задач, которые не могли бы решить комму… (извиняюсь) программисты!»
Сделаем копию этого файла. Переименуем его как текст. В этом тексте найдем слово «Приложение». Удалим все до этого слова, да и немного далее, до начала исходного текста.
Теперь заменим все
и
на пустое место.Еще заменим:
на пустое место.
& на &
< на <
> на >
«Цели определены, задачи поставлены, за работу товарищи…»
Программа состоит из 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
Top = 8
Width = 36
Height = 13
Caption = 'Project:'
end
object LAnnotation: TLabel
Left = 16
Top = 240
Width = 51
Height = 13
Caption = 'Annotation'
end
object Lsequence: TLabel
Left = 16
Top = 176
Width = 49
Height = 13
Caption = 'Sequence'
end
object LLang: TLabel
Left = 376
Top = 176
Width = 27
Height = 13
Caption = 'Lang.'
end
object Lsrc_lang: TLabel
Left = 456
Top = 176
Width = 49
Height = 13
Caption = 'Src. Lang.'
end
object LTome: TLabel
Left = 200
Top = 176
Width = 27
Height = 13
Caption = 'Tome'
end
object book_title: TEdit
Left = 64
Top = 56
Width = 217
Height = 21
TabOrder = 0
end
object FB2_file: TEdit
Left = 8
Top = 24
Width = 273
Height = 21
TabOrder = 1
end
object Au: TGroupBox
Left = 296
Top = 8
Width = 185
Height = 153
Caption = ' Authors '
TabOrder = 2
object ListBox3: TListBox
Left = 8
Top = 15
Width = 169
Height = 106
ItemHeight = 13
TabOrder = 0
end
object Button10: TButton
Left = 152
Top = 124
Width = 25
Height = 25
Caption = '...'
TabOrder = 1
OnClick = Button10Click
end
end
object GroupBox1: TGroupBox
Left = 8
Top = 88
Width = 273
Height = 73
Caption = ' Genre '
ParentShowHint = False
ShowHint = False
TabOrder = 3
object GenresBox: TListBox
Left = 8
Top = 15
Width = 225
Height = 50
ItemHeight = 13
TabOrder = 0
end
object Button4: TButton
Left = 240
Top = 40
Width = 25
Height = 25
Caption = '…'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -13
Font.Name = 'MS Sans Serif'
Font.Style = []
ParentFont = False
TabOrder = 1
OnClick = Button4Click
end
end
object GroupBox3: TGroupBox
Left = 480
Top = 8
Width = 185
Height = 153
Caption = ' Translator '
TabOrder = 4
object ListBox2: TListBox
Left = 8
Top = 15
Width = 169
Height = 106
ItemHeight = 13
TabOrder = 0
end
object Button7: TButton
Left = 152
Top = 124
Width = 25
Height = 25
Caption = '…'
TabOrder = 1
OnClick = Button7Click
end
end
object sequence: TEdit
Left = 40
Top = 192
Width = 169
Height = 21
TabOrder = 5
end
object tome: TEdit
Left = 216
Top = 192
Width = 33
Height = 21
TabOrder = 6
end
object Lang: TComboBox
Left = 376
Top = 192
Width = 65
Height = 21
ItemHeight = 13
TabOrder = 7
Text = 'ru'
Items.Strings = (
'ru'
'en')
end
object SLang: TComboBox
Left = 456
Top = 192
Width = 145
Height = 21
ItemHeight = 13
TabOrder = 8
end
object Button9: TButton
Left = 88
Top = 238
Width = 121
Height = 17
Caption = 'Load annotation'
TabOrder = 9
OnClick = Button9Click
end
end
end
object TabSheet3: TTabSheet
Caption = 'document-info'
ImageIndex = 2
object Lurl: TLabel
Left = 32
Top = 40
Width = 28
Height = 13
Caption = 'src-url'
end
object LID: TLabel
Left = 32
Top = 120
Width = 11
Height = 13
Caption = 'ID'
end
object Lversion: TLabel
Left = 24
Top = 200
Width = 34
Height = 13
Caption = 'version'
end
object url: TEdit
Left = 40
Top = 64
Width = 553
Height = 21
TabOrder = 0
end
object id: TEdit
Left = 40
Top = 144
Width = 241
Height = 21
TabOrder = 1
end
object version: TEdit
Left = 40
Top = 224
Width = 65
Height = 21
TabOrder = 2
Text = '1.0'
end
end
object TabSheet6: TTabSheet
Caption = 'publish-info'
ImageIndex = 3
object LISBN: TLabel
Left = 40
Top = 80
Width = 25
Height = 13
Caption = 'ISBN'
end
object LBook_name: TLabel
Left = 16
Top = 32
Width = 54
Height = 13
Caption = 'Book name'
end
object Lpublisher: TLabel
Left = 16
Top = 128
Width = 42
Height = 13
Caption = 'publisher'
end
object Lcity: TLabel
Left = 32
Top = 200
Width = 16
Height = 13
Caption = 'city'
end
object Lyear: TLabel
Left = 280
Top = 200
Width = 20
Height = 13
Caption = 'year'
end
object isbn: TEdit
Left = 80
Top = 72
Width = 217
Height = 21
TabOrder = 0
end
object Book_name: TEdit
Left = 80
Top = 24
Width = 561
Height = 21
TabOrder = 1
end
object publisher: TEdit
Left = 80
Top = 120
Width = 553
Height = 21
TabOrder = 2
end
object year: TEdit
Left = 312
Top = 196
Width = 57
Height = 21
TabOrder = 3
end
object city: TEdit
Left = 80
Top = 192
Width = 145
Height = 21
TabOrder = 4
end
end
object TabSheet2: TTabSheet
Caption = 'Content'
ImageIndex = 1
object Panel1: TPanel
Left = 0
Top = 0
Width = 706
Height = 41
Align = alTop
TabOrder = 0
end
object Panel2: TPanel
Left = 0
Top = 41
Width = 265
Height = 348
Align = alLeft
BevelOuter = bvNone
TabOrder = 1
object Button12: TButton
Left = 216
Top = 123
Width = 33
Height = 25
Caption = '>'
Шрифт:
Интервал:
Закладка: