Категории
Самые читаемые
ChitatKnigi.com » 🟢Компьютеры и Интернет » Программы » Пишем программу для создания книг FB2. - Юрий Карпов

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

Читать онлайн Пишем программу для создания книг FB2. - Юрий Карпов
1 2 3 4 5 6 7 8
Перейти на страницу:

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать

begin

if FileExists(Path + 'Annotation.txt') then

Annotation.Lines.LoadFromFile(Path + 'Annotation.txt');

end;

function ScanUpStyle(n: integer):TmyStyle;

var

i: integer;

LStyle: TmyStyle;

begin

with Form1.ListBox1 do

for i:= n downto 0 do

begin

GetStyle(Items[i], LStyle);

if LStyle in [H1..H5] then

begin

result:= LStyle;

exit;

end;

end;

result:= H1;

end;

procedure ShowHeadStyle(n: integer);

var

LStyle: TmyStyle;

begin

LStyle:= ScanUpStyle(n);

Form1.Button2.Caption:= SetStyle(LStyle);

Form1.Button2.Tag:= integer(LStyle);

end;

procedure TForm1.ListBox1DblClick(Sender: TObject);

var

S: string;

CurStyle: TmyStyle;

i, st: integer;

begin

st:= ListBox1.itemIndex;

S:= GetStyle(ListBox1.Items[st], CurStyle);

with EditSt do

begin

Memo1.WordWrap:= true;

Memo1.Clear;

Memo1.Lines.Add(S);

ShowModal;

if ModalResult = mrOK then

begin

ListBox1.Items.Delete(st);

Memo1.WordWrap:= false;

for i:= Memo1.Lines.Count - 1 downto 0 do

ListBox1.Items.Insert(st, SetStyle1(CurStyle)+Memo1.Lines[i]);

end;

end;

end;

procedure TForm1.ListBox1Click(Sender: TObject);

begin

ShowHeadStyle(ListBox1.itemIndex);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

ChangeStyle(TmyStyle(Button2.Tag));

end;

procedure TForm1.Button5Click(Sender: TObject);

var

LStyle: TmyStyle;

begin

LStyle:= TmyStyle(Button2.Tag);

if LStyle < H5 then ChangeStyle(Succ(LStyle));

end;

procedure TForm1.Button1Click(Sender: TObject);

var

LStyle: TmyStyle;

begin

LStyle:= TmyStyle(Button2.Tag);

if LStyle > H1 then ChangeStyle(Pred(LStyle));

end;

end.

// конец кода

* * *

genres.dfm

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

object Form3: TForm3

Left = 214

Top = 121

BorderIcons = [biSystemMenu, biMinimize]

BorderStyle = bsSingle

Caption = 'Genre'

ClientHeight = 294

ClientWidth = 603

Color = clBtnFace

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -11

Font.Name = 'MS Sans Serif'

Font.Style = []

OldCreateOrder = False

OnCreate = FormCreate

PixelsPerInch = 96

TextHeight = 13

object ListBox1: TListBox

Left = 8

Top = 8

Width = 241

Height = 209

ItemHeight = 13

TabOrder = 0

end

object Button1: TButton

Left = 272

Top = 32

Width = 75

Height = 25

Caption = 'Add'

TabOrder = 1

OnClick = Button1Click

end

object Button2: TButton

Left = 272

Top = 64

Width = 75

Height = 25

Caption = 'Delete'

TabOrder = 2

OnClick = Button2Click

end

object BitBtn1: TBitBtn

Left = 80

Top = 248

Width = 75

Height = 25

TabOrder = 3

Kind = bkOK

end

object BitBtn2: TBitBtn

Left = 448

Top = 240

Width = 75

Height = 25

TabOrder = 4

Kind = bkCancel

end

object Button3: TButton

Left = 272

Top = 112

Width = 75

Height = 25

Caption = 'Up'

TabOrder = 5

OnClick = Button3Click

end

object Button4: TButton

Left = 272

Top = 152

Width = 75

Height = 25

Caption = 'Down'

TabOrder = 6

OnClick = Button4Click

end

object ListBox2: TListBox

Left = 368

Top = 32

Width = 225

Height = 185

ItemHeight = 13

TabOrder = 7

OnDblClick = ListBox2DblClick

end

object ComboBox1: TComboBox

Left = 368

Top = 8

Width = 225

Height = 21

ItemHeight = 13

ItemIndex = 0

TabOrder = 8

Text = #1044#1077#1083#1086#1074#1072#1103' '#1083#1080#1090#1077#1088#1072#1090#1091#1088#1072

OnChange = ComboBox1Change

Items.Strings = (

#1044#1077#1083#1086#1074#1072#1103' '#1083#1080#1090#1077#1088#1072#1090#1091#1088#1072

#1044#1077#1090#1077#1082#1090#1080#1074#1099' '#1080' '#1058#1088#1080#1083#1083#1077#1088#1099

#1044#1077#1090#1089#1082#1086#1077

#1044#1086#1082#1091#1084#1077#1085#1090#1072#1083#1100#1085#1072#1103' '#1083#1080#1090#1077#1088#1072#1090#1091#1088#1072

#1044#1086#1084#1086#1074#1086#1076#1089#1090#1074#1086

#1050#1086#1084#1087#1100#1102#1090#1077#1088#1099' '#1080' '#1048#1085#1090#1077#1088#1085#1077#1090

#1051#1102#1073#1086#1074#1085#1099#1077' '#1088#1086#1084#1072#1085#1099

#1053#1072#1091#1082#1072', '#1054#1073#1088#1072#1079#1086#1074#1072#1085#1080#1077

#1055#1077#1088#1080#1086#1076#1080#1082#1072

#1055#1086#1101#1079#1080#1103', '#1044#1088#1072#1084#1072#1090#1091#1088#1075#1080#1103

#1055#1088#1080#1082#1083#1102#1095#1077#1085#1080#1103

#1055#1088#1086#1079#1072

#1055#1088#1086#1095#1077#1077

#1056#1077#1083#1080#1075#1080#1103' '#1080' '#1076#1091#1093#1086#1074#1085#1086#1089#1090#1100

#1057#1087#1088#1072#1074#1086#1095#1085#1072#1103' '#1083#1080#1090#1077#1088#1072#1090#1091#1088#1072

#1057#1090#1072#1088#1080#1085#1085#1086#1077

#1058#1077#1093#1085#1080#1082#1072

#1060#1072#1085#1090#1072#1089#1090#1080#1082#1072

#1070#1084#1086#1088)

end

end

// конец кода

genres.pas

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

unit genres;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Buttons, StdCtrls, dm;

type

TForm3 = class(TForm)

ListBox1: TListBox;

Button1: TButton;

Button2: TButton;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Button3: TButton;

Button4: TButton;

ListBox2: TListBox;

ComboBox1: TComboBox;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure ComboBox1Change(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure ListBox2DblClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.FormCreate(Sender: TObject);

var

i: integer;

begin

for i:= 0 to maxg do

ListBox2.Items.Add(gg[i][2]);

ListBox2.ItemIndex:= 0;

end;

procedure TForm3.Button1Click(Sender: TObject);

var

i: integer;

begin

for i:= 0 to ListBox1.Items.Count - 1 do

if ListBox2.Items[ListBox2.ItemIndex] = ListBox1.Items[i]

then exit;

ListBox1.Items.Add(ListBox2.Items[ListBox2.ItemIndex]);

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

if ListBox1.ItemIndex = -1 then exit;

ListBox1.Items.Delete(ListBox1.ItemIndex);

end;

procedure TForm3.ComboBox1Change(Sender: TObject);

begin

ListBox2.ItemIndex:= LI[ComboBox1.ItemIndex];

ListBox2.TopIndex:= ListBox2.ItemIndex;

end;

procedure TForm3.Button3Click(Sender: TObject);

var

k: integer;

begin

k:= ListBox1.ItemIndex;

if k > 0 then

begin

ListBox1.Items.Move(k,k-1);

ListBox1.ItemIndex:= k -1;

end;

end;

procedure TForm3.Button4Click(Sender: TObject);

var

k: integer;

begin

k:= ListBox1.ItemIndex;

if k < ListBox1.Items.Count - 1 then

begin

ListBox1.Items.Move(k,k+1);

ListBox1.ItemIndex:= k+1;

end;

end;

procedure TForm3.ListBox2DblClick(Sender: TObject);

begin

Button1Click(nil);

end;

end.

// конец кода

* * *

EditStr.dfm

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

object EditSt: TEditSt

Left = 175

Top = 164

Width = 692

Height = 303

Caption = 'Edit'

Color = clBtnFace

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -11

Font.Name = 'MS Sans Serif'

Font.Style = []

OldCreateOrder = False

PixelsPerInch = 96

TextHeight = 13

object Panel1: TPanel

Left = 0

Top = 240

Width = 684

Height = 36

Align = alBottom

BevelOuter = bvNone

TabOrder = 0

object BitBtn1: TBitBtn

Left = 16

Top = 8

Width = 75

Height = 25

TabOrder = 0

Kind = bkOK

end

object BitBtn2: TBitBtn

Left = 592

Top = 8

Width = 75

Height = 25

TabOrder = 1

Kind = bkCancel

end

object BitBtn3: TBitBtn

Left = 592

Top = 8

Width = 75

Height = 25

TabOrder = 2

Kind = bkAbort

end

object Button1: TButton

Left = 112

Top = 8

Width = 75

Height = 25

Caption = 'Bold'

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -11

Font.Name = 'MS Sans Serif'

Font.Style = [fsBold]

ParentFont = False

TabOrder = 3

OnClick = Button1Click

end

object Button2: TButton

Left = 200

Top = 8

Width = 75

Height = 25

Caption = 'Italic'

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -11

Font.Name = 'MS Sans Serif'

Font.Style = [fsItalic]

ParentFont = False

TabOrder = 4

OnClick = Button2Click

end

end

object Memo1: TMemo

Left = 0

Top = 0

Width = 684

Height = 240

Align = alClient

ScrollBars = ssVertical

TabOrder = 1

end

end

// конец кода

EditStr.pas

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

unit EditStr;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, Buttons, ComCtrls;

type

TEditSt = class(TForm)

Panel1: TPanel;

Memo1: TMemo;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

EditSt: TEditSt;

implementation

{$R *.dfm}

procedure TEditSt.Button1Click(Sender: TObject);

begin

with Memo1 do

if SelLength > 0 then

Memo1.SelText:= '<strong>'+ SelText + '</strong>'

end;

procedure TEditSt.Button2Click(Sender: TObject);

begin

with Memo1 do

if SelLength > 0 then

Memo1.SelText:= '<emphasis>'+ SelText + '</emphasis>'

end;

end.

// конец кода

* * *

authors.dfm

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

object Form2: TForm2

Left = 359

Top = 204

Width = 502

Height = 285

Caption = 'Person'

Color = clBtnFace

Font.Charset = DEFAULT_CHARSET

Font.Color = clWindowText

Font.Height = -11

Font.Name = 'MS Sans Serif'

Font.Style = []

OldCreateOrder = False

PixelsPerInch = 96

TextHeight = 13

object GroupBox1: TGroupBox

Left = 296

Top = 8

Width = 185

Height = 193

Caption = 'Author'

TabOrder = 0

object Label2: TLabel

Left = 8

Top = 24

Width = 45

Height = 13

Caption = 'first-name'

end

object Label3: TLabel

Left = 8

Top = 88

Width = 45

Height = 13

Caption = 'last-name'

end

object Label4: TLabel

Left = 8

Top = 120

Width = 46

Height = 13

Caption = 'nickname'

end

object Label5: TLabel

Left = 8

Top = 152

Width = 24

Height = 13

Caption = 'email'

1 2 3 4 5 6 7 8
Перейти на страницу:
Открыть боковую панель
Комментарии
Настя
Настя 08.12.2024 - 03:18
Прочла с удовольствием. Необычный сюжет с замечательной концовкой
Марина
Марина 08.12.2024 - 02:13
Не могу понять, где продолжение... Очень интересная история, хочется прочесть далее
Мприна
Мприна 08.12.2024 - 01:05
Эх, а где же продолжение?
Анна
Анна 07.12.2024 - 00:27
Какая прелестная история! Кратко, ярко, захватывающе.
Любава
Любава 25.11.2024 - 01:44
Редко встретишь большое количество эротических сцен в одной истории. Здесь достаточно 🔥 Прочла с огромным удовольствием 😈