Петропавлівський гуманітарно-технічний коледж
Контрольна робота
По предмету: «Основи об'єктно-орієнтована програмування»
Варіант № 7
Виконав:
Студент з / о група 59-ПР
Семикіної А.С.
Перевірив:
Петропавловськ 2008
Зміст
1. Події клавіатури
2. Форма. Властивості форми
3. Додаток, обчислювати площі трикутника
3.1 Програмний код
3.2 Зовнішній вигляд програми
1. Події клавіатури
Подія (Event) - це те, що відбувається під час роботи програми. У Delphi кожній події присвоєно ім'я. Наприклад, клацання кнопкою миші - це подія OnClick, подвійне клацання мишею подія OnDblClick.
У табл. 1 наведені події клавіатури.
Таблиця 1 - Події
Подія
Відбувається
OnKeyPress
При натисканні клавіші клавіатури
OnKeyDown
При натисканні клавіші клавіатури. Події OnKeyDown і OnKeyPress - це чергуються, повторюються події, які відбуваються до тих пір, поки не буде відпущена утримувана клавіша (у цей момент відбувається подія OnKeyUp)
OnKeyUp
При відпуску натиснутої клавіші клавіатури
Реакцією на подію повинно бути будь-яку дію. У Delphi реакція на подію реалізується як процедура обробки події. Таким чином, для того щоб програма виконувала деяку роботу у відповідь на дії користувача, програміст повинен написати процедуру обробки відповідної події. Слід звернути увагу на те, що значну частину обробки подій бере на себе компонент. Тому програміст повинен розробляти процедуру обробки події тільки в тому випадку, якщо реакція на подію відрізняється від стандартної або не визначена. Наприклад, якщо по умові завдання обмежень на символи, що вводяться в поле Edit, немає, то процедуру обробки події OnKeyPress писати не треба, тому що під час роботи програми буде використана стандартна (прихована від програміста) процедура обробки цієї події.
2. Форма. Властивості форми
Робота над новим проектом, тому в Delphi називається розробляється додаток, починається із створення стартової форми. Так на етапі розробки програми називають діалогові вікна.
Стартова форма створюється шляхом зміни значень властивостей форми Form1 і додавання до форми необхідних компонентів (полів введення і виведення тексту, командних кнопок).
Властивості форми (табл. 2) визначають її зовнішній вигляд: розмір, положення на екрані, текст заголовка, вид рамки.
Для перегляду та зміни значень властивостей форми та її компонентів використовується вікно Object Inspector. У верхній частині вікна Object Inspector вказано ім'я об'єкта, значення властивостей якого відображається в даний момент. У лівій колонці вкладки Properties (Властивості) перераховані властивості об'єкта, а в правій - вказані їх значення.
Таблиця 2 - Властивості форми (об'єкта TF orm)
Властивість | Опис |
Name | Ім'я форми. У програмі ім'я форми використовується для управління формою і доступу до компонентів форми. |
Caption | Текст заголовка |
Width | Ширина форми |
Height | Висота форми |
Top | Відстань від верхньої межі форми до верхньої межі екрану |
Left | Відстань від лівої межі форми до лівої межі екрану |
BorderStyle | Вид кордону. Кордон може бути звичайною (bsSizeable), тонкої (bs Single) або відсутнім (bsNone). Якщо у вікна звичайна межа, то під час роботи програми користувач може за допомогою миші змінити розмір вікна. Змінити розмір вікна з тонкої кордоном не можна. Якщо межа відсутня, то на екран під час роботи програми буде виведено вікно без заголовка. Положення і розмір такого вікна-під час роботи програми змінити не можна |
BorderIcons | Кнопки керування вікном. Значення властивості визначає, які кнопки управління вікном будуть доступні користувачеві під час роботи програми. Значення властивості задається шляхом присвоєння значень уточнюючим властивостям biSystemMenu, biMinimaze, biMaximaze І biHelp. Властивість biSystemMenu визначає доступність кнопки Згорнути та кнопки системного меню, biMinimaze-кнопки Згорнути, biMaximaze-кнопки Розгорнути, biHelp - кнопки виведення довідкової інформації |
Icon | Значок в заголовку діалогового вікна, що позначає кнопку виведення системного меню |
Color | Колір фону. Колір можна задати, вказавши назву кольору або прив'язку до поточної колірній схемі операційної системи. У другому випадку колір визначається поточною колірною схемою, вибраним компонентом прив'язки і змінюється при зміні колірної схеми операційної системи. |
Font | Шрифт. Шрифт, використовуваний "за замовчуванням" компонентами, що знаходяться на поверхні форми. Зміна властивості Font форми приводить до автоматичної зміни властивості Font компоненту, розташованого на поверхні форми. Тобто компоненти успадковують властивість Font від форми (є можливість заборонити успадкування). |
При створенні форми в першу чергу слід змінити значення властивості caption (Заголовок). У нашому прикладі треба замінити текст Form1 на "швидкість бігу". Щоб це зробити, потрібно у вікні Object Inspector клацнути мишею на рядку Caption, в результаті чого буде виділено поточне значення властивості, у рядку з'явиться курсор, і можна буде ввести текст "швидкість бігу" (рис. 1).
Аналогічним чином можна встановити значення властивостей Height і width, які визначають висоту і ширину форми. Розмір форми і її положення на екрані, а також розмір інших елементів управління і їхнє положення на поверхні форми задають у пікселах, тобто точках екрану. Властивостями Height і width треба привласнити значення 250 і 330 відповідно.
Форма - це звичайне вікно. Тому його розмір можна змінити точно так само, як розмір будь-якого іншого вікна, тобто захопленням і переміщенням (за допомогою миші) кордону. Після закінчення переміщення кордонів автоматично зміняться значення властивостей Height і width. Вони будуть відповідати встановленим розміром форми.
Рис. 1 - Установка значення властивості шляхом введення значення
Положення діалогового вікна на екрані після запуску програми відповідає положенню форми під час її розробки, яке визначається значенням властивостей тор (відступ від верхньої межі екрану) і Left (відступ від лівої межі екрану). Значення цих властивостей також можна задати шляхом переміщення вікна форми за допомогою миші.
При виборі деяких властивостей, наприклад, Borderstyle, праворуч від поточного значення властивості з'являється значок розкривного списку. Очевидно, що значення таких властивостей можна задати шляхом вибору зі списку (мал. 2).
Деякі властивості є складними, тобто їх значення визначається сукупністю значень інших (уточнюючих) властивостей. Перед іменами складних властивостей стоїть значок "+", при натисканні на якому розкривається список уточнюючих властивостей (рис. 3). Наприклад, властивість BorderIcons визначає, які кнопки управління вікном будуть доступні під час роботи програми. Так, якщо властивості biMaximize присвоїти значення False, то під час роботи програми кнопки Розгорнути в заголовку вікна не буде.
Рис. 2 - Установка значення властивості шляхом вибору зі списку
Рис. 3 - Розкрита список вкладених властивостей складного властивості BorderIcons
Поряд зі значеннями деяких властивостей відображається командна кнопка з трьома крапками. Це означає, що для завдання значення властивості можна скористатися додатковим діалоговим вікном. Наприклад, значення складного властивості Font можна задати шляхом безпосереднього введення значень уточнюючих властивостей, а можна скористатися стандартним діалоговим вікном вибору шрифту.
3. Додаток, обчислювати площі трикутника
Завдання: Створити додаток обчислювати площі трикутника. Сторони трикутника вводяться за допомогою компонента Edit.
3.1 Програмний код
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class (TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
procedure Button1Click (Sender: TObject);
private
{Private declarations}
public
{Public declarations}
end;
var
Form1: TForm1;
implementation
{$ R *. dfm}
procedure TForm1.Button1Click (Sender: TObject);
var
a, b, c, p, s: real;
begin
label4.Caption :=('');
if (((edit1.Text ='') or (edit2.Text ='')) or (edit3.Text ='')) then
label4.Caption: = ('Введіть всі 3 величини сторін трикутника')
else begin
a: = strtofloat (edit1.Text);
b: = strtofloat (edit2.Text);
c: = strtofloat (edit3.Text);
if (((a = 0) or (b = 0)) or (c = 0)) then
label4.Caption: = ('Трикутника з такими величинами сторін не існує')
else
begin
p: = (a + b + c) / 2;
s: = sqrt (p * (pa) * (pb) * (pc));
if s = 0 then
label4.Caption: = ('Трикутника з такими величинами сторін не існує')
else
label4.Caption: = ('Площа трикутника = '+ floattostr (s));
end;
end;
end;
end.
Зовнішній вигляд програми