- •Введение
- •Владеть навыками
- •1. Краткая характеристика базы практики
- •Краткая характеристика материально – технического оборудования лабораторий
- •Краткая характеристика программного обеспечения лабораторий
- •Техника безопасности
- •Описание технологий выполненных работ
- •Умения:
- •Мдк.03.01. Технология разработки программного обеспечения
- •2.2 Интегрирование на Delphi
- •Мдк.03.02. Инструментальные средства разработки программного продукта
- •Работа при коллективной разработке программных продуктов
- •Мдк.03.03. Документирование и сертификация
- •Указания к использованию цумк
- •Структура цумк
- •Работа по блокам
- •Указания к изменению содержания цумк
- •Заключение
- •Получили умения:
- •Овладели навыками
- •Список использованной литературы
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.
Конечный вид программы:
Мдк.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;
