Пишем программу для создания книг FB2 (СИ) - Карпов Юрий
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'
end
object Label8: TLabel
Left = 8
Top = 56
Width = 47
Height = 13
Caption = 'midl-name'
end
object first_name: TEdit
Left = 64
Top = 16
Width = 113
Height = 21
TabOrder = 0
end
object last_name: TEdit
Left = 64
Top = 80
Width = 113
Height = 21
TabOrder = 1
end
object nickname: TEdit
Left = 64
Top = 112
Width = 113
Height = 21
TabOrder = 2
end
object mail: TEdit
Left = 64
Top = 144
Width = 113
Height = 21
TabOrder = 3
end
object mid_name: TEdit
Left = 64
Top = 48
Width = 113
Height = 21
TabOrder = 4
end
end
object Au: TGroupBox
Left = 8
Top = 8
Width = 185
Height = 193
Caption = 'Authors'
TabOrder = 1
object ListBox1: TListBox
Left = 8
Top = 15
Width = 169
Height = 170
ItemHeight = 13
TabOrder = 0
OnClick = ListBox1Click
end
end
object Button1: TButton
Left = 208
Top = 16
Width = 75
Height = 25
Caption = 'new'
TabOrder = 2
OnClick = Button1Click
end
object Button2: TButton
Left = 208
Top = 56
Width = 75
Height = 25
Caption = 'Add'
TabOrder = 3
OnClick = Button2Click
end
object Button3: TButton
Left = 208
Top = 96
Width = 75
Height = 25
Caption = 'Edit'
TabOrder = 4
OnClick = Button3Click
end
object Button4: TButton
Left = 208
Top = 136
Width = 75
Height = 25
Caption = 'Delete'
TabOrder = 5
OnClick = Button4Click
end
object BitBtn1: TBitBtn
Left = 96
Top = 224
Width = 75
Height = 25
TabOrder = 6
Kind = bkOK
end
object BitBtn2: TBitBtn
Left = 328
Top = 224
Width = 75
Height = 25
TabOrder = 7
Kind = bkCancel
end
end
// конец кода
authors.pas
// начало кода
unit authors;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TPerson = class
fName: string;
mName: string;
lName: string;
nick: string;
email: string;
constructor Create;
end;
TForm2 = class(TForm)
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label8: TLabel;
first_name: TEdit;
last_name: TEdit;
nickname: TEdit;
mail: TEdit;
mid_name: TEdit;
Au: TGroupBox;
ListBox1: TListBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
constructor TPerson.Create;
begin
fName:= '';
mName:= '';
lName:= '';
nick:= '';
email:= '';
end;
procedure TForm2.Button1Click(Sender: TObject);
begin // New
first_name.Text:= '';
mid_name.Text:= '';
last_name.Text:= '';
nickname.Text:= '';
mail.Text:= '';
end;
procedure TForm2.Button2Click(Sender: TObject);
var
Person: TPerson;
begin // Add
Person:= TPerson.Create;
with Person do
begin
fName:= first_name.Text;
mName:= mid_name.Text;
lName:= last_name.Text;
nick:= nickname.Text;
email:= mail.Text;
ListBox1.Items.AddObject(lName+' '+fName,Person);
end;
end;
procedure TForm2.ListBox1Click(Sender: TObject);
var
Person: TPerson;
begin
with ListBox1 do
Person:= TPerson(Items.Objects[ItemIndex]);
with Person do
begin
first_name.Text:= fName;
mid_name.Text:= mName;
last_name.Text:= lName;
nickname.Text:= nick;
mail.Text:= email;
end;
end;
procedure TForm2.Button3Click(Sender: TObject);
var
Person: TPerson;
begin // Edit
with ListBox1 do
begin
if ItemIndex = - 1 then exit;
Person:= TPerson(Items.Objects[ItemIndex]);
end;
with Person do
begin
fName:= first_name.Text;
mName:= mid_name.Text;
lName:= last_name.Text;
nick:= nickname.Text;
email:= mail.Text;
with ListBox1 do
Items[ItemIndex]:=lName+' '+fName;
end;
end;
procedure TForm2.Button4Click(Sender: TObject);
var
Person: TPerson;
begin // Delete
with ListBox1 do
begin
if ItemIndex = - 1 then exit;
Person:= TPerson(Items.Objects[ItemIndex]);
Person.Free;
Items.Delete(ItemIndex);
end;
end;
end.
// конец кода
dm.pas
Это просто текстовый файл, без формы.
// начало кода
unit dm;
interface
type
gr = array[1..2] of string;
const
maxg = 151;
gg: array[0..maxg] of gr = (// Список жанров
// Деловая литература
('banking', 'Банковское дело'),
('accounting', 'Бухучет, налогообложение, аудит'),
('global_economy', 'Внешнеэкономическая деятельность'),