Міністерство
освіти і науки України
Сумський державний університет
Машинобудівний коледж
ЩОДЕННИК-ЗВІТ
З НАВЧАЛЬНОЇ ПРАКТИКИ
СПЕЦІАЛЬНІСТЬ 5.050101
“Обслуговування програмних систем і комплексів”
База практики_______________________________________________________
(назва підприємства)
________________________________________________________
(цех, дільниця)
|
Студент Група Керівник практики |
________________ ________________ ________________
|
____________________
____________________
|
2011 р.
Міністерство освіти і науки України
Сумський державний університет
Машинобудівний коледж
Спеціальність 5.05010101 “Обслуговування програмних систем і комплексів”
__________________________________________________________________
(прізвище, ім’я, по батькові)
Дата видачі завдання “____”________________201__ р.
Дата закінчення роботи “____”________________201__ р.
Керівник _____________________ Вороніна Ю.М.
(підпис) (прізвище, ім’я, по батькові)
Завдання розглянуто на засіданні циклової комісії спеціальності 5.05010101
Протокол №________ від “____”____________201__р.
Голова циклової комісії ___________________ Лобова В.В.
(підпис) (прізвище, ім’я, по батькові)
Зміст
|
Вступ |
4 |
|
|
1 |
Теоретична частина |
5 |
|
2 |
Практична частина |
7 |
|
Висновок |
18 |
|
|
Література |
19 |
|
|
|
|
|
TDatabase
Компонент TDatabase обеспечивает функциональность, которой не хватает TQuery и TStoredProc. В частности, TDatabase позволяет создавать локальные псевдонимы BDE, так что приложению не потребуются псевдонимы, содержащиеся в конфигурационном файле BDE. Этим локальным псевдонимом в приложении могут воспользоваться все имеющиеся TTable, TQuery и TStoredProc. TDatabase также позволяет разработчику настраивать процесс подключения, подавляя диалог ввода имени и пароля пользователя, или заполняя необходимые параметры. И, наконец, самое главное, TDatabase может обеспечивать единственную связь с базой данных, суммируя все операции с базой данных через один компонент. Это позволяет элементам управления для работы с БД иметь возможность управления транзакциями.
Delphi - це комбінація декількох найважливіших технологій:
Високопродуктивний компілятор в машинний код;
Об'єктно-орієнтована модель компонент;
Візуальна (а, отже, і швидкісна) побудова додатків з програмних прототипів;
Засоби, що масштабуються, для побудови баз даних;
Компілятор, вбудований в Delphi, забезпечує високу продуктивність, необхідну для побудови додатків в архітектурі “клієнт-сервер”. Він пропонує легкість розробки і швидкий час перевірки готового програмного блоку і в той же час забезпечує якість коду. Ще до компіляції він бачить результати своєї роботи - після підключення до джерела даних їх можна бачити відображеними на формі, можна переміщатися за даними, представляти їх в тому або іншому вигляді. У цьому сенсі проектування в Delphi мало чим відрізняється від проектування в інтерпретуючому середовищі, проте після виконання компіляції ми одержуємо код, який виконується в 10-20 разів швидше, ніж те ж саме, зроблене за допомогою інтерпретатора.
У Репозіторії Delphi присутній окремий шаблон для додатків баз даних. Тому, як і
будь-який інший додаток Delphi, додаток баз даних починається із звичайної|звичний| форми.
Безумовно, це виправданий підхід, оскільки додаток баз даних має призначений для користувача інтерфейс. І цей інтерфейс створюється з використанням стандартних і спеціалізованих візуальних компонентів на звичайних|звичний| формах.
Візуальні компоненти відображення даних розташовані|схильний| на сторінці Data Controls Палітри компонентів. У більшості вони є модифікаціями стандартних елементів управління, пристосованих для роботи з|із| набором даних.
Додаток може містити|утримувати| довільне число форм і використовувати будь-який інтерфейс (MDI або SDI). Зазвичай|звично| одна форма відповідає за виконання групи однорідних операцій, об'єднаних|з'єднаний| загальним|спільний| призначенням.
У основі будь-якого додатку баз даних лежать набори даних, які є групами записів (їх зручно представити|уявити| у вигляді таблиць в пам'яті), переданих з|із| бази даних в додаток для перегляду|проглядання| і редагування. Кожен набір даних інкапсульований в спеціальному компоненті доступу до даним. У VCL Delphi реалізований набір базових класів, що підтримують функціональність наборовши даних, і практично ідентичні по складу набори дочірніх компонентів для технологій доступу до даним. Їх загальний|спільний| предок — клас TDataSet.
Процедури і функції користувача модулю Unit1:
procedure ListBox11Click(Sender: TObject) – виконує обробку компонента ListBox.
procedure FormActivate(Sender: TObject) – виконує запи при активації форми.
Процедури і функції користувача модулю Unit2:
procedure Button1Click(Sender: TObject) – виведення результату роботи.
procedure LabeledEdit1KeyPress(Sender: TObject; var Key: Char) – заборона введення букв для LabeledEdit1.
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;