Юрий Карпов - Пишем программу для создания книг FB2.. Страница 8

('antique_ant', 'Античная литература'),

('antique_east', 'Древневосточная литература'),

('antique_russian', 'Древнерусская литература'),

('antique_european', 'Европейская старинная литература'),

('antique_myths', 'Мифы. Легенды. Эпос'),

('antique', 'Старинная литература'),

//Техника

('sci_metal', 'Металлургия'),

('sci_radio', 'Радиоэлектроника'),

('sci_build', 'Строительство и сопромат'),

('sci_transport', 'Транспорт и авиация'),

//Фантастика

('sf_history', 'Альтернативная история'),

('sf_action', 'Боевая фантастика'),

('sf_heroic', 'Героическая фантастика'),

('sf_fantasy_city', 'Городское фэнтези'),

('sf_detective', 'Детективная фантастика'),

('sf_cyberpunk', 'Киберпанк'),

('sf_space', 'Космическая фантастика'),

('sf', 'Научная Фантастика'),

('sf_postapocalyptic', 'Постапокалипсис'),

('sf_social', 'Социально-психологическая фантастика'),

('sf_horror', 'Ужасы и Мистика'),

('sf_fantasy', 'Фэнтези'),

('sf_epic', 'Эпическая фантастика'),

('sf_humor', 'Юмористическая фантастика'),

//Юмор

('humor_anecdote', 'Анекдоты'),

('humor', 'Юмор'),

('humor_prose', 'Юмористическая проза'),

('humor_verse', 'Юмористические стихи')

);

maxI = 18;

LI: array[0..maxI] of integer = (

0, // Деловая литература

16, // Детективы и Триллеры

28, // Детское

36,// Документальная литература

42, //Домоводство

52, // Компьютеры и Интернет

60, // Любовные романы

67, // Наука, Образование

93, // Периодика

94, //Поэзия, Драматургия

96, // Приключения

106,// Проза

111,// Прочее

113, //Религия и духовность

118, //Справочная литература

124, //Старинное

130,//Техника

134, //Фантастика

147 //Юмор

);

maxL = 23;

Lg: array[0..maxL] of gr = (

('', ''),

('en', 'Английский'),

('be', 'Белорусский'),

('bg', 'Болгарский'),

('hu', 'Венгерский'),

('nl', 'Голландский'),

('el', 'Греческий современный (1453-)'),

('da', 'Данийский'),

('grc', 'Древнегреческий (до 1453)'),

('he', 'Иврит'),

('it', 'Итальянский'),

('de', 'Немецкий'),

('pl', 'Польский'),

('pt', 'Португальский'),

('ru', 'Русский'),

('sk', 'Словакский'),

('sl', 'Словенский'),

('tr', 'Турецкий'),

('uk', 'Украинский'),

('fi', 'Финский'),

('fr', 'Французский'),

('cs', 'Чешский'),

('et', 'Эстонский'),

('ja', 'Японский')

);

implementation

end.

// конец кода

А это - файл проекта

my_FB2.dpr

// начало кода

program my_FB2;

uses

Forms,

Unit1 in 'Unit1.pas' {Form1},

genres in 'genres.pas' {Form3},

authors in 'authors.pas' {Form2},

EditStr in 'EditStr.pas' {EditSt};

{$R *.res}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm3, Form3);

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TEditSt, EditSt);

Application.Run;

end.

// конец кода

Попробовал выполнить собственные инструкции, оказалось забыл еще один файл. А так ничего, "поругался" Дельфи на отсутствие ресурсного файла, да ничего он сам его сделает. А забытый, вот он:

UmFB2.pas

// начало кода

unit UmFB2;

interface

uses

Classes, SysUtils, Dialogs;

Type

TmyStyle = (

Norm, Epig, Auth, Sub, Poem, Citat, None,

ZZ, // пустой тип

H1, H2, H3, H4, H5 );

var

SytleStack : TList;

// StyleList : TList;

OutList : TStringList;

EndNotes_count: integer;

// Path : string;

function GetStyle(S:string; var m:TmyStyle):string;

function GetStr(S:string):string;

procedure PrintString(St, E : string);

implementation

procedure PrintString(St, E : string);

begin

if E <> '' then

OutList.Add(' <'+St+'>'+E +'</'+St+'>');

end;

function GetStyle(S:string; var m:TmyStyle):string;

var

n : byte;

ss : string;

begin

n := pos('|', S);

ss := copy(s,1,n-1); // стиль

case ss[length(ss)] of

'N' : m := Norm;

'E' : m := Epig;

'A' : m := Auth;

'1' : m := H1;

'2' : m := H2;

'3' : m := H3;

'4' : m := H4;

'5' : m := H5;

'S' : m := Sub;

'P' : m := Poem;

'C' : m := Citat;

'-' : m := None;

end;// case

delete(s,1,n+1); // текст

result := S;

end;

function GetStr(S:string):string;

var

n : byte;

begin

n := pos('|', S);

delete(s,1,n+1); // текст

result := S;

end;

BEGIN

SytleStack := TList.create;

OutList := TStringList.Create;

// StyleList := TList.Create;

END.

// конец кода

Ну вот и весь исходник.

Успехов.

w_cat.

Примечания

1

Эти стихи, не имеют никакого отношения к теме. Ну просто, они мне нравятся.