Робота з об’єктами в Delphi

Матеріал з Фізмат Вікіпедії
Перейти до: навігація, пошук

Мета уроку Навчальна. Ознайомити учнів з основними операціями над об’єктами в середовищі ООП «Делфі» та функціями перетворення типів даних.

Розвиваюча. Розвивати інформатичну компетентність, спостережливість, кмітливість.

Виховна. Виховувати творчість та дослідницький інтерес.

Тип уроку. Урок засвоєння нових знань. Спарені уроки в 10 класі

1. Організаційний момент. Запуск середовища ООО Делфі

2. Актуалізація опорних знань.

a. Усне опитування

i. Що таке ООП?

ii. Що таке об’єкт?

iii. В чому полягає об’єктна орієнтованість

iv. Які об’єкти середовища Делфі ви знаєте?

v. Через які властивості вказаних об’єктів, на вашу думку, можна передавати інформацію? (учні мають можливість звіряти свої відповіді з інформацією на слайдах та обговорювати їх)

b. Заповнення таблиці «Типи даних у Паскалі»

Ім’я Пояснення Приклади

Integer Цілі числа 25, -18, 32000

Real Дійсні числа 2.05, -8, 4.25

String Рядок ‘infa’,’2’,’pascal’

Char Символ ‘5’, ’a’, ’_’

boolean Логічний тип True, False

… … …


3. Пояснення нового матеріалу

Кожен компонент, який ви ставите на форму, має своє відображення у вікні Інспектора Об'єктів (Object Inspector). Як ви пам'ятаєте, Object Inspector має дві "сторінки" - "Properties" (Властивості) і "Events" (Події). Створення програми в Delphi зводиться до "нанесення" компонентів на форму (яка, до речі, також є компонентом) та налаштування взаємодії між ними шляхом:

1. зміни значення властивостей цих компонентів.

2. написання адекватних реакцій на події.

Як Ви вже встигли, напевно, помітити, властивість є важливим атрибутом компонента. Для користувача (програміста) властивість виглядає як просте поле будь-якої структури, що містить деяке значення. Однак, на відміну від "просто" поля, будь-яка зміна значення деякого властивості будь-якого компонента відразу ж призводить до зміни візуального представлення цього компонента. Властивості служать двом головним цілям. По-перше, вони визначають зовнішній вигляд форми або компоненту. А по-друге, властивості визначає поведінку форми або компоненту.

Існує кілька типів властивостей, залежно від їх "природи", тобто внутрішнього устрою.

Прості властивості - це ті, значення яких є числами або рядками. Наприклад, властивості Left та Top приймають цілі значення, що визначають положення лівого верхнього кута компонента чи форми. Властивості Caption і Name (з прикладу минулого уроку) є рядки і визначають заголовок та ім'я компонента чи форми.

Перечислювані властивості - це ті, які можуть приймати значення з визначеного набору (списку). Найпростіший приклад - це властивість типу Boolean, яке може приймати значення True або False (істинно або хибно). Наприклад властивість Enabled для кнопки Button означатиме, чи може користувач чи ні натиснути на неї. Якщо встановлено False, то кнопка стає сіркою, недоступною. Тобто властивість кнопки Enabled може прінітать тільки два значення і не більше.

Вкладені властивості - це ті, які підтримують вкладені значення (або об'єкти). Object Inspector зображує знак "+" зліва від назви таких властивостей. Є два види таких властивостей: множини і комбіновані значення. Object Inspector зображує безлічі у квадратних дужках. Якщо безліч порожньо, воно відображається як []. Установки для вкладених властивостей виду "безліч" зазвичай мають значення типу Boolean. Найбільш поширеним прикладом такої властивості є властивість Style з вкладеними багатьма булевими значеннями. Комбіновані значення відображаються в Інспекторові Об'єктів як колекція деяких величин, кожен зі своїм типом даних. Деякі властивості, наприклад, Font, для зміни своїх значень мають можливість викликати діалогове вікно. Для цього досить клацнути маленьку кнопку з трьома крапками в правій частині рядка Інспектора Об'єктів, що показує дане властивість.

Delphi дозволяє легко маніпулювати властивостями компонента як в режимі проектування, так і в режимі виконання програми відповідно програмно.

У режимі виконання користувач (програміст) має можливість не тільки маніпулювати всіма властивостями, відображеними в інспектор об'єктів, а й керувати більш обширним їх списком.

Однак, доступ до властивостей компонентів досить легко отримати програмним шляхом. Все, що ви повинні зробити для зміни якого-небудь властивості - це написати простий рядок коду в редакторі коду аналогічно такому.

Label1.Caption:=’Hello world’

Зверніть увагу, що тут, які в багатьох інших випадках ми маємо справу з текстовими даними. Але, як ми вже згадували, з текстовими даними ми можемо зробити тільки дуже обмежене число операцій і в часто не можемо обійтися без даних числового типу. Що ж робити?


Str – скорочення від позначення типу даних рядок

Int – скорочення від позначення типу даних ціле число

Float – скорочення від позначення типу даних дійсне число (з плаваючою крапкою).

Функції для перетворення типів записуємо на дошці і в зошитах. Приклади:

S:=inttostr(35); {s=’35’}

N:=strtoint(‘245’); {n=245}

4. Формування практичних навичок

Запрограмуємо такий різновид калькулятора.

Обговорення структури майбутньої програми.

Попередній вигляд форми налаштовуємо в інспекторі об’єктів. Зміни форми в процесі – програмуємо.

Як звернутися до властивості об’єкта?

Які об’єкти бачимо на формі?

Фрагмент програми • procedure TForm1.Button1Click(Sender: TObject);

• var a,b,n,rez:byte;

• begin

• a:=strtoint(edit1.Text);

• b:=strtoint(edit2.Text);

• n:=ComboBox1.ItemIndex;

• case n of

• 0:rez:=a+b;

• 1:rez:=a-b;

• 2:rez:=a*b;

• end;

• Label1.Caption:=inttostr(rez);

• end;

Додаткове завдання: додати дію ділення на ненульове значення. Перерва

5. Практична робота (через 20 хв. Після її початку – ще одна перерва із зарядкою для очей)

Як ми знаємо світлофор має 3 стани – червоне, жовте, зелене світло. Пронумеруємо їх 1, 2, 3 відповідно. Напишемо програму, яка за введеним номером стану світлофора виводить у текстове поле колір світлофора літерами цього ж кольору.

Додаткове завдання: вивести в інше поле кольором світлофора для пішохода відповідне застереження («Йди», «Готуйся», «Стій» чи ін.).

6. Підсумки уроків. Пояснення домашнього завдання

закріпити отримані навики, оформити естетичний вигляд і зручність програм.