- •Тема 1. Поняття про об’єктно-орієнтоване програмування. Поняття про об’єктно-орієнтоване програмування
- •Інструмент прискореної розробки програм
- •Список файлів проекту.
- •Деякі важливі принципи візуального програмування.
- •Вікна інспектора об'єктів, форми, модуля.
- •Лабораторна робота №1 «Робота в середовищі Delphi»
- •Тема 2. Основи об’єктно-орієнтованого програмування.
- •Лабораторна робота №2 «Створення типового вікна Windows-додатку. Властивості об’єктів форми.»
- •Теоретичні відомості:
- •I. Властивості об’єкту Форма.
- •Теоретичні питання:
- •Тема 3. Особливості ооп: основні концепції
- •Лабораторна робота №3 Робота з формою та компонентами Panel, Label, Edit, Button.
- •Лабораторна робота №4 Робота над проектом «Альбом картинок» (компонент Image вкладки Additional)
- •Тема 4. Структура програми Структура програми складається з:
- •Структура проекту
- •Структура модуля
- •Елементи програми
- •Елементи мови Алфавіт
- •Лексеми
- •Теоретичні питання
- •Лабораторна робота №5 Робота над проектом «Текстовий редактор»
- •Тема 5. Типи даних. Введення та виведення числових даних. Функції перетворення. Математичні функції
- •Прості типи
- •Порядкові типи
- •Цілі типи
- •Введення та виведення числових даних
- •Допомога 1.
- •Допомога 2.
- •Лабораторна робота №6. «Створення програм лінійної структури. Створення програми «Калькулятор»
- •В аріант завдання для вибору:
- •Тема 6. Оператори мови Delphi
- •Лабораторна робота №7 Створення найпростішого Windows-Додатка в Delphi, з використанням умовного оператора та оператора вибору.
- •1 Спосіб розв’язку квадратного рівняння
- •2 Спосіб розв’язання квадратного рівняння
- •Створити додатки за вказаним варіантом та записати блок-схему алгоритму:
- •Лабораторна робота № 8 «Створення програм з використанням операторів циклів»
- •Лабораторна робота № 9 «Розробка графічного інтерфейсу програми. Основні керуючі елементи.»
- •1. Програмування об’єкту – перемикач (tRadioButton).
- •Програмування об’єкту – прапорець (tCheckBox).
- •Тема 7. Масиви
- •Лабораторна робота № 10 «Структуровані типи даних»
- •Тема 8. Робота з файлами
- •Лабораторна робота №11 «Файлові типи даних»
- •Тема 9. Допоміжні алгоритми
- •Лабораторна робота № 12 «Створення програм з використанням процедур та функцій»
- •Тема 10. Работа з графікою та мультимедіа
- •Реалізація мультимедійних технологій. Відтворення відеокліпів
- •Внимание!
- •Лабораторна робота № 13 «Створення проекту «Побудова графіка функцій»»
- •Тема 11. Створення анімації в Delphi
- •Лабораторна робота № 14 «Створення проекту «Графічний конструктор»»
- •Лабораторна робота № 15 Створення багатовіконного проекту «Тест з географії»
- •Форма «Тестування» — модуль f_Test
- •Форма «Результат» — модуль fRes
- •Форма «Домопога» — модуль fInstr unit f__lnstr;
- •Тема 12. Організація роботи з таблицями та базами даних. Лабораторна робота №16. Розробка проекту «Рейтинг країн за результатами олімпійських змагань»
- •Лабораторна робота № 17 Створення проекту «Довідник по країнах»
- •Лабораторна робота № 18 Створення проекту «Телефонна книга»
- •Лабораторна робота № 19 Створення проекту «Довідник по тваринах»
- •Лабораторна робота № 20 Створення довідкової системи
- •Хід роботи
Лабораторна робота № 19 Створення проекту «Довідник по тваринах»
Завдання. Створити проект, за допомогою якого користувач зміг би виконувати програмну модифікацію таблиці БД « Тварини».
Аналіз проекту. В попередньому проекті для забезпечення «ручного» редагування БД використовувались компоненти DBGrid та DBNavigator. Щоб набір даних можна було змінювати, необхідно, щоб для нього була встановлена можливість модифікації. Для компонента Table можливість модифікації задасться присвоєнням властивості ReadOnly значення False (за замовчуванням). Якщо ця властивість має значення True, то будь-які зміни (як візуальні, так і програмні) будуть заборонені. Для організації програмної модифікації бази даних використовується компонент Table (вкладка BDE палітри компонентів), оскільки саме він забезпечує безпосередній зв'язок з фізичною таблицею БД, яка розташована на диску.
Наведемо властивості й методи цього компонента, які використаємо для програмної модифікації БД «Тварини»:
властивість RecNo - визначає номер поточного запису;
метод Locate - забезпечує пошук запису, який містить задані поля та задовольняє умови пошуку;
метод InsertRecord - вставляє новий запис до поточної позиції курсора й одночасно задає значення всіх або деяких полів;
метод Edit - слугує для переведення набору даних у режим редагування;
метод Post - записує зміни, які користувач вніс при редагуванні;
метод SetFields - використовується для зміни значень усіх або деяких полів поточного запису;
метод Delete - вилучає поточний запис.
Алгоритм розробки проекту
1. Створити папку D:\Delphi\Pract_19.
2. За допомогою програм SQL Explorer та DatabaseDesktop створити БД «Тварини», запис якої містить поля: назва тварини (символьне); довжина тіла (числова); вага тіла (числова).
3. Створити нову форму, розмістити на ній необхідні компоненти й пов'язати ці компоненти з БД «Тварини» (див. проект «Телефонна книга») (рис. 35).
4. Розмістити на фі рмі ,ри однорядкові редактори Edit1-Edit3, компоненти Label1-Labe3 для підпису цих полів введення даних та три кнопки Button1 («Добавити»), Buttou2 («Редагувати»), Button3 («Вилучити»). Кнопка «Добавити» забезпечуватиме внесення в БД нового запису. При цьому обов'язковою умовою є те, що мають бути введені всі дані. Якщо користувач спробує додати до БД новий запис, а там уже є дані про цю тварину, то виводиться відповідне повідомлення і запис не додається. За допомогою кнопки «Редагувати» можна змінити поточний запис відповідно до полів Edit1—Edit3. Кнопка «Вилучити» дає змогу вилучити поточний запис.
5.Запрограмувати кнопки натискання на «Добавити», «Редагувати», "Вилучити», скориставшись при цьому описаними вище властивостями і методами (див. лістинг програми).
6. Зберегти проект в папці D:\Delphi\Pract_19.
Лістинг програми:
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls;
var Form1: TForm1;
flag:boolean;
dlina, massa: real;
implementation {$R *.dfm}
procedure proverka; //процедура перевірки коректності введених значень
begin
flag:=false;
if forml.Edit1.Text<>’ ' then
begin
try
dlina:=StrToFloat(form1.edit2.text);
massa:=StrToFloat(form1.edit3.text);
except
MessageDlg('Помилка при введенні довжини або ваги тіла!',mtError,[mbOK], 0) ;
exit; end;
flag:=true;
end
else
MessageDlg ( ‘Назву тварини не вказано!', mtError,[mbOK],0);
end;
procedure TForm1.Button1Click(Sender: TObject); //процедура кнопки «Добавити»
begin
proverka;
if flag then
begin
if not Table1.Locate('Animal', Edit1.Text, [loCaseinsensitive]) then
begin
Table1.InsertRecord([Edit1.Text,dlina,massa]);
Edit1. Text: = ‘ ' ;
Edit2 . Text: = ‘ ‘ ;
Edit3 . Text: = ‘ ‘
end
else
MessageDlg(‘Така тварина вже є БД!',mtInformation,[mbOK], 0) ;
end; end;
procedure TForm1.Button2Click(Sender: TObject); //процедура кнопки «Редагувати»
var
num_rec:integer;
begin
proverka; if flag then
begin
num_rec:=Table1.RecNo;
if not Table1.Locate(‘Animal', Editl.Text, [loCaseinsensitive])then
begin Table1.Edit;
table1.SetFields([Edit1.text,dlina,massa]);
end
else
begin
if num_rec=Table1.RecNo then
begin
Tablel.Edit;
Table1.SetFields([Edit1.text,dlina,massa]);
Table1.Post;
Editl.Text: = '';edit2.Text: = ‘ ‘;edit3.Text: = ‘ ‘
end
else
MessageDlg( 'Така тварина вже є в БД! ' , mtInformation, [mbOK],0);
end; end; end
procedure TForm1.Button3Click(Sender: TObject); //процедура кнопки «Вилучити»
begin
if MessageDlg('Вилучити поточний запис?',mtConfirmation,[mbYes,mbNo],0)=mrYes then Table1,Delete ;;
end;
procedure TForm1.Edit1KeyPress (Sender: TObject; varKey: Char); //забезпечення введення назви тварини тільки літерами
begin
if not (key in [#8,'A' . .'Z' ,' ']) then key:=#0;
end; end.