Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shablon_otcheta_pKS10uchebnaya_praktika.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.12 Mб
Скачать

2.2 Интегрирование на Delphi

Использованные компоненты:

IBQuery.

IBDatabase.

IBTransaction.

DBGrid.

DataSource.

Edit.

Button.

Label.

IBTable.

MainMenu.

Взаимосвязи компонент выглядят следующим образом:

первым является IBDatabase. Это центральный компонент для соединения с базой данных. Один компонент может быть связан только с одной базой данных в конкретный момент времени.

вторым является IBTransaction. Вне контекста транзакции в InterBase нельзя выполнить никаких действий с данными и метаданными БД.

IBTransaction1.DefaultDatabase:=IBDatabase1;

третьим является либо датасет (IBDataSet, IBQuery), либо IBSQL. он связывается с базой данных и транзакцией

IBQuery1.Database:=IBDatabase1;

IBQuery1.Transaction:=IBTransaction1;

четвертый - источник данных для датасета, т.е. универсальный TDataSource.

DataSource1.DataSet:=IBQuery1;

пятым является DBGrid. Он связывается только с DataSource.

DBGrid.DataSource:=DataSource1;

Затем в меню "Database name" указываем путь где хранится база данных, после чего в строке "Connected" выбираем значение "true" и можно уже приступать к работе с таблицами.

Выбираем "IBQuery" и в сроке "SQL" пишем следующее:

Select * from Ispolnitel

в строке Active выбираем True, и в DBGrid2 мы увидим таблицу Ispolnitel из нашей БД.

Создаем процедуру Button1Click и пишем следующий код:

IBTable1.Active:= false;

IBQuery2.Active:=false;

IBQuery3.Active:=false;

IBQuery2.SQL.Clear;

IBQuery2.SQL.Append('select nazvanie, zhanr, albom, god_vih from pesni ');

IBQuery2.SQL.Append(' where kod_ispoln = ''' +Edit1.Text+'''');

IBQuery2.Active:=true;

DataSource1.DataSet:=IBQuery2;

IBQuery3.SQL.Clear;

IBQuery3.SQL.Append('select imya_ispoln from ispolnitel ');

IBQuery3.SQL.Append('where kod_ispoln = ''' +Edit1.Text+'''');

IBQuery3.Active:=true;

DataSource3.DataSet:=IBQuery3;

Это процедура поиска песен по выбранному исполнителю. В компоненте Edit пишем номер исполнителя и в DBGrid1 мы увидим все доступные на данное время песни выбранного исполнителя.

Далее добавим редактор БД для пополнения, изменения или удаления записи. Для этого надо создать новую форму добавить те же компоненты IB, и Navigator.

Конечный вид программы:

    1. Мдк.03.02. Инструментальные средства разработки программного продукта

По данному МДК выполнены следующие виды работ:

  • Автоматизированное тестирование;

  • Работа при коллективной разработке программных продуктов

Главная форма содержит 1 кнопку нажав на которую мы начинаем тест.

Все вопросы и варианты ответа к ним, будут выводиться произвольно, т.е. при следующем запуске, повтора вопросов не будет.

В конце тестирование можно посмотреть свой результат:

Основная процедура приложения. Она отвечает за вывод вопроса и принятия ответа.

Procedure TForm1.VoprosToScr;

var

i:integer;

s,buf:string;

ifn:string;

begin

vopros:=vopros+1;

caption:='Вопрос ' + IntToStr(vopros);

buf:='';

repeat

readln(f,s);

if (s[1] <> '.') and (s[1] <> '\')

then buf:=buf+s+' ';

until (s[1] ='.') or (s[1] ='\');

Label5.caption:=buf;

if s[1] <> '\'

then Image1.Tag:=0

else

begin

Image1.Tag:=1;

ifn:=copy(s,2,length(s));

try

Image1.Picture.LoadFromFile(ifn);

except

on E:EFOpenError do

Image1.Tag:=0;

end;

end;

i:=1;

repeat

buf:='';

repeat

readln(f,s);

if (s[1]<>'.') and (s[1] <> ',')

then buf:=buf+s+' ';

until (s[1]=',')or(s[1]='.');

score[i]:= StrToInt(s[2]);

case i of

1: Label1.caption:=buf;

2: Label2.caption:=buf;

3: Label3.caption:=buf;

4: Label4.caption:=buf;

end;

i:=i+1;

until s[1]='.';

if Image1.Tag =1

then ShowPicture;

if Form1.Label1.Caption <> ''

then begin

if Form1.Image1.Tag =1

then Label1.top:=Image1.Top+Image1.Height+10

else Label1.top:=Label5.Top+Label5.Height+10;

RadioButton1.top:=Label1.top;

Label1.visible:=TRUE;

RadioButton1.visible:=TRUE;

end;

if Form1.Label2.Caption <> ''

then begin

Label2.top:=Label1.top+ Label1.height+10;

RadioButton2.top:=Label2.top;

Label2.visible:=TRUE;

RadioButton2.visible:=TRUE;

end;

if Form1.Label3.Caption <> ''

then begin

Label3.top:=Label2.top+ Label2.height+10;

RadioButton3.top:=Label3.top;

Label3.visible:=TRUE;

RadioButton3.visible:=TRUE;

end;

if Form1.Label4.Caption <> ''

then begin

Label4.top:=Label3.top+ Label3.height+10;

RadioButton4.top:=Label4.top;

Label4.visible:=TRUE;

RadioButton4.visible:=TRUE;

end;

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]