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

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.

// конец кода