Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
30.05.2020
Размер:
276.48 Кб
Скачать

2 Практична частина

2.1 Опис процедур і функцій користувача

Процедури і функції користувача модулю Unit1:

procedure ListBox11Click(Sender: TObject) – виконує обробку компонента ListBox.

procedure FormActivate(Sender: TObject) – виконує запи при активації форми.

Процедури і функції користувача модулю Unit2:

procedure Button1Click(Sender: TObject) – виведення результату роботи.

procedure LabeledEdit1KeyPress(Sender: TObject; var Key: Char) – заборона введення букв для LabeledEdit1.

2.2 Програмний код

Unit1

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, Buttons, Menus, ExtCtrls, DBCtrls, DB, DBTables,

Grids, DBGrids;

type

TForm1 = class(TForm)

DBGrid1: TDBGrid;

Database1: TDatabase;

DataSource1: TDataSource;

Table1: TTable;

DBNavigator1: TDBNavigator;

Panel1: TPanel;

BitBtn1: TBitBtn;

Query1: TQuery;

ListBox1: TListBox;

DBGrid2: TDBGrid;

Label1: TLabel;

DataSource2: TDataSource;

procedure ListBox1Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3;

{$R *.dfm}

procedure TForm1.ListBox1Click(Sender: TObject);

begin

case listbox1.ItemIndex of

0:with form2 do

begin

edit1.Text:='';

label1.Caption:='Введіть прізвище актора';

showmodal;

end;

1:with form2 do

begin

edit1.Text:='';

label1.Caption:='Введіть назву фільма';

showmodal;

end;

2:with form3 do

begin

with query1 do

begin

Active:=False;

SQL.Clear;

SQL.Add('SELECT Nazva_filmu,Rik_vyhodu_na_ekran');

SQL.Add('FROM "'+'tab.db'+'"');

SQL.Add('WHERE Rik_vyhodu_na_ekran = 2009');

Active:=True;

end;

showmodal;

end;

3:with form2 do

begin

edit1.Text:='';

label1.Caption:='Введіть Назву фільма';

showmodal;

end;

4:with form2 do

begin

edit1.Text:='';

edit2.Visible:=true;

edit2.Text:='';

label1.Caption:='Введіть прізвище актора';

label2.Caption:='Введіть прізвище режисера';

showmodal;

end;

5:with form3 do

begin

with query1 do

begin

Active:=False;

SQL.Clear;

SQL.Add('SELECT Actor');

SQL.Add('FROM "'+'tab.db'+'"');

SQL.Add('WHERE Rik_vyhodu_na_ekran between 2008 and 2010');

Active:=True;

end;

showmodal;

end;

6:with form2 do

begin

edit1.Text:='';

label1.Caption:='Введіть прізвище режисера';

showmodal;

end;

7:with form2 do

begin

edit1.Visible:=false;

labelededit1.Visible:=true;

labelededit1.Text:='';

labelededit1.editlabel.Caption:='Введіть рік';

showmodal;

end;

end;

end;

procedure TForm1.FormActivate(Sender: TObject);

begin

with Query1 do

begin

Active:=False;

SQL.Clear;

SQL.Add('SELECT Nazva_filmu,Rik_vyhodu_na_ekran');

SQL.Add('FROM "'+'tab.db'+'"');

SQL.Add('WHERE Rik_vyhodu_na_ekran between ''2008''and''2011''');

Active:=True;

end;

end;

end.

Unit2

unit Unit2;

interface

uses

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

Dialogs, StdCtrls, Buttons, DB, DBTables, ExtCtrls;

type

TForm2 = class(TForm)

BitBtn1: TBitBtn;

Edit1: TEdit;

Edit2: TEdit;

Button1: TButton;

Label1: TLabel;

Label2: TLabel;

LabeledEdit1: TLabeledEdit;

procedure Button1Click(Sender: TObject);

procedure LabeledEdit1KeyPress(Sender: TObject; var Key: Char);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit1, Unit3;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

var a:string;

begin

with form3 do

begin

if (form2.label1.Caption='Введіть прізвище актора') then

begin

with query1 do

begin

Active:=False;

SQL.Clear;

SQL.Add('SELECT Nazva_filmu,Actor');

SQL.Add('FROM "'+'tab.db'+'"');

SQL.Add('WHERE Actor = "'+form2.edit1.text+'"');

Active:=True;

end;

end;

if (form2.label1.Caption='Введіть назву фільма') then

begin

with query1 do

begin

Active:=False;

SQL.Clear;

SQL.Add('SELECT Nazva_filmu,Rejiser');

SQL.Add('FROM "'+'tab.db'+'"');

SQL.Add('WHERE Nazva_filmu = "'+form2.edit1.text+'"');

Active:=True;

end;

end;

if (form2.label1.Caption='Введіть Назву фільма') then

begin

with query1 do

begin

Active:=False;

SQL.Clear;

SQL.Add('SELECT Rejiser,Simeynyy_stan_rejisera');

SQL.Add('FROM "'+'tab.db'+'"');

SQL.Add('WHERE Nazva_filmu= "'+form2.edit1.text+'"');

Active:=True;

end;

end;

if ((form2.label1.Caption='Введіть прізвище актора')

and(form2.label2.Caption='Введіть прізвище режисера')) then

begin

with query1 do

begin

a:=form2.Edit2.Text;

Active:=False;

SQL.Clear;

SQL.Add('SELECT Actor,Rejiser,Rik_vyhodu_na_ekran');

SQL.Add('FROM "'+'tab.db'+'"');

SQL.Add('WHERE Actor = "'+form2.edit1.text+'" and Rejiser = "'+a+'"');

Active:=True;

end;

end;

if (form2.label1.Caption='Введіть прізвище режисера') then

begin

with query1 do

begin

Active:=False;

SQL.Clear;

SQL.Add('SELECT Nazva_filmu,Rejiser');

SQL.Add('FROM "'+'tab.db'+'"');

SQL.Add('WHERE Rejiser = "'+form2.edit1.text+'"');

Active:=True;

end;

end;

if (form2.labelededit1.editlabel.Caption='Введіть рік') then

begin

with query1 do

begin

Active:=False;

SQL.Clear;

SQL.Add('SELECT Nomer_diska, Nazva_filmu, Rejiser, Actor,');

SQL.Add(' Rik_vyhodu_na_ekran,Simeynyy_stan_rejisera');

SQL.Add('FROM "'+'tab.db'+'"');

SQL.Add('WHERE Rik_vyhodu_na_ekran = "'+form2.labelededit1.text+'"');

Active:=True;

end;

end;

showmodal;

end;

form2.Close;

end;

procedure TForm2.LabeledEdit1KeyPress(Sender: TObject; var Key: Char);

begin

case key of

'0'..'9',chr(8):;

else key:=chr(0);

end;

end;

end.

Соседние файлы в папке practica