Програмування на Object Pascal серед Delphi
Якщо програміст хоче, щоб за появу панелі інтерфейсу на екрані у полях перебували початкові значення даних, він повинен врахувати, що з запуску докладання виникає подія — створення Форми (OnCreate). Створимо процедуру обробки цієї події, яка занесе початкові значення змінних x, y, z в поля Edit1, Edit2 і Edit3 відповідно, а полі Memo1 розмістить рядок Лабораторна робота № 1 — Лінійний алгоритм. І… Читати ще >
Програмування на Object Pascal серед Delphi (реферат, курсова, диплом, контрольна)
Лабораторна робота № 1.
Програмування лінійних алгоритмов Цель лабораторної роботи: вивчити основні елементи візуальної середовища, освоїти використання найпростіших компонентів DELPHI для ввода/вывода даних, і створити додаток, яке використовує лінійний алгоритм.
1.1.Визуальная середовище DELPHI.
Після запуску DELPHI на екрані з’являється панель інтерфейсу, показана на рис. 1.1. Середовище DELPHI візуально реалізується у вигляді кількох одночасно розкритих на екрані монітора вікон. Кількість, розташування, величину і вид вікон може змінюватися программистом.
Головне вікно завжди бере участь у екрані потрібне для управління процесом створення приложения.
Головне меню містить всіх необхідних заходів керувати проектом.
Піктограми головного меню полегшують доступом до найчастіше застосовуваним командам.
Палітра Компонентів забезпечує доступом до набору бібліотечних програм середовища DELPHI, які описують певний елемент (компонент), поміщений програмістом у вікно Форми. Кожен компонент існує певна набір властивостей, які програміст може вибирати змінювати зі свого розсуду. Наприклад, заголовок вікна, напис на кнопці, розмір, колір і тип шрифту та інших. Властивості компонентів наведені у HELP.
Вікно Інспектори аж Об'єктів призначено зміни властивостей вибраних компонентів і і двох сторінок. Сторінка Properties (Властивості) варта зміни необхідних властивостей компонента. Сторінка Events (Події) — визначення реакції компонента те що чи іншу подію (наприклад, щиголь кнопки «миші «).
Вікно Форми є інтерфейс проектованого Windowsдокладання. У той вікно на етапі проектування докладання поміщаються необхідні компоненти, які розробник бере з Палітри Компонентів. Кожній Форму проекту відповідає модуль (Unit), текст якого мовою Object Pascal розміщається з вікна Редактора Кода.
Вікно Редактора Коду призначено для перегляду, створення і редагування текстів модулів проекту. При початкової завантаженні з вікна Редактора Коду перебуває текст модуля, у якому мінімальний набір операторів для нормально функціонувати порожній Форми як Windowsдокладання. При розміщення деякого компонента з вікна Форми, текст модуля автоматично доповнюється необхідними операторами.
Про всіх які у системі подіях, як-от створення Форми, натискання кнопки миші чи клавіатури тощо., ядро Windows інформує вікна шляхом посилки відповідних повідомлень. Середовище DELPHI приймає і обробляє повідомлення з допомогою оброблювачів подій (наприклад, щиголь кнопки «миші» — подія OnClick, створення Форми — OnCreate). Найчастіше застосовувані події представлені у табл. 1.1.
|Таблица 1.1 | |Подія |Опис події | |OnActivate |Виникає при активізації Форми | |OnCreate |Виникає під час створення Форми. У обработчике даної події| | |слід ставити дії, які мають відбуватися в | | |момент створення Форми, наприклад установка початкових | | |значень. | |OnClick |Виникає при натисканні кнопки миші у сфері компонента. | |OnDblClick |Виникає маючи натисканні кнопки миші у сфері | | |компонента | |OnKeyPress |Виникає при натисканні клавіші на клавіатурі. Параметр Key | | |має тип Char і має ASCII-код натиснутої клавіші | | |(клавіша Enter клавіатури має код #13, клавіша Esc — #27 | | |тощо.). Зазвичай всі ці події використовують у тому випадку, | | |коли необхідна реакція на натискання одній з клавіш. | |OnKeyDown |Виникає при натисканні клавіші на клавіатурі. Оброблювач | | |цієї події отримує інформацію про натиснутої клавіші і | | |стані клавіш Shift, Alt і Ctrl, і навіть про натиснутою | | |кнопці миші. |.
До сформування оброблювача події програмісту необхідно розкрити список компонентів у верхній частині вікна Інспектори аж Об'єктів і вибрати необхідна компонента. Потім, сторінка Events Інспектори аж Об'єктів, натисканням лівої клавіші миші вибрати назва оброблювача і двічі клацнути з його правої (білої) частини. У відповідь DELPHI активізує вікно Редактора Коду модуля і покаже заготівлю процедури обробки обраного події. Для кожного оброблюваного події у тексті модуля організується процедура (procedure), між ключовими словами begin і end якої програміст на мові Object Pascal записує необхідний алгоритм обробки события.
Перемикання між вікном Форми і вікном Редактора Коду здійснюється кнопкою головного меню з піктограмою [pic] чи клавіш F12.
1.2. Приклад створення приложения.
Завдання: створити Windows-приложение для обчислення выражения.
[pic] .
Чисельні значення даних x, y і z занести з клавіатури на відповідні поля панелі інтерфейсу. Одна з імовірних варіантів панелі інтерфейсу створюваного докладання показаний на рис. 1.2.
1.2.1. Збереження проекта.
У процесі проектування докладання DELPHI створює кілька файлів — проект. Кожен проект доцільно зберігати в окремої, заздалегідь створеної папці. З допомогою підходящого докладання Windows створимо теку і назвемо її, наприклад, LAB1.
Задля збереження проекту відкрийте у головному меню пункт File і клацніть «мишею» на опції Save Project As…(Сохранить проект як…). Спочатку DELPHI відкриє панель діалогу Save Unit1 As (Зберегти модуль як) задля збереження модуля проекту. У цьому панелі знайдемо створену папку LAB1 і збережемо у ній модуль під назвою, наприклад, UnLinAlg. Зверніть увагу, що DELPHI за умовчанням присвоїть цьому файлу тип Delphi unit з розширенням *.pas. Потім відкриється панель діалогу Save Project1 As. Назвемо наш проект, наприклад, PrLinAlg і збережемо їх у тієї ж папці. Тут DELPHI дасть файлу тип Delphi project і розширення *.dpr. Переконайтеся у цьому, що головне вікно DELPHI називається PrLinAlg, вікно головного файла проектуPrLinAlg. dpr, а вікно модуля проектуUnLinAlg.pas.
Намагайтеся давати файлам осмислені імена замість одноманітних Unit1 і Project1, запропонованих DELPHI.
Щоб уникнути втрати файлів проекту на аварійних ситуаціях пов’язаних, наприклад, з выключениием харчування, зависанні системи й т.п., рекомендується періодично зберігати проект, використовуючи піктограму [pic] головного меню чи опцію Save All в меню File.
1.2.2. Налаштування окон.
Щоб працювати з вікном, необхідно зробити його активним, клацнувши «мишею» будь-де вікна. У активного вікна заголовок стає виділеним, наприклад, на рис. 1.1 активним є вікно Редактора Кода.
Вікна Форми і Редактора Коду модуля у правому верхньому розі мають кнопки управління, призначених: [pic] -для згортання вікна в піктограму, [pic] -розгортання вікна все екран і повернення до вихідному розміру [pic], [pic] -для закриття окна.
З допомогою «миші», захоплюючи жодну з крайок вікна чи виділену рядок заголовка, отрегулируете потрібні розміри вікон Форми, Редактора Коду, Інспектори аж Об'єктів та його становище на экране.
1.2.3. Зміна заголовка Формы.
Нова Форма має однакові ім'я (Name) і заголовок (Сaption) — FORM1. Початківцям програмістам ім'я Форми змінювати категорично не рекомендується, т.к. воно використовують у тексті модуля.
Для зміни заголовка активізуйте вікно Інспектори аж Об'єктів і сторінці Properties в властивості Caption замініть заголовок Form1 на.
Лаб. робота № 1-Линейный алгоритм. Переконайтеся, що водночас змінився заголовок вікна Формы.
1.2.4. Розміщення компонентів на Форме.
Будемо розміщувати компоненти на Форму те щоб відповідали панелі, показаної на рис 1.2.
[pic].
Для нанесення написів на Форму використовується компонент Label. Виберіть в Палітрі Компонентів сторінка Standard піктограму [pic] компонента Label і клацніть у ньому «мишею». Потім у потрібному місці Форми клацніть «мишею» — з’явиться напис Label1. У властивості Caption Інспектори аж Об'єктів замініть напис Label1 на Запровадьте значення X:. У властивості Font підберіть шрифт. Аналогічно нанесіть на Форму інші написи. Клацнувши «мишею» будь-якою з розміщених компонентів, відрегулюйте його місце розташування на Форму і размер.
Для ввода/вывода даних в найпростіших випадках використовуються компоненти Edit і Memo. Компонент Edit застосовується у тому випадку, коли дані видаються однієї рядком. Якщо є є кілька рядків, то використовується компонент Memo.
До сформування полів введення про чисельні значень змінних x, y і z використовуємо компонент Edit. Виберіть в Палітрі Компонентів сторінка Standard піктограму [pic] і розмістіть компонент Edit у потрібних місцях Форми як і, як Ви це робили з компонентом Label.
Для виведення результатів використовуємо компонент Memo. Виберіть в Палітрі Компонентів сторінка Standard піктограму [pic], помістіть компонент Memo на Форму і откорректируйте його місце розташування і размеры.
1.2.5. Написання процедури обробки події створення Форми (FormCreate).
Якщо програміст хоче, щоб за появу панелі інтерфейсу на екрані у полях перебували початкові значення даних, він повинен врахувати, що з запуску докладання виникає подія — створення Форми (OnCreate). Створимо процедуру обробки цієї події, яка занесе початкові значення змінних x, y, z в поля Edit1, Edit2 і Edit3 відповідно, а полі Memo1 розмістить рядок Лабораторна робота № 1 — Лінійний алгоритм. І тому двічі клацніть мишею будь-якою вільному місці Форми. На екрані з’явиться текст модуля UnLinAlg, у якому DELPHI автоматично створює заготівлю процедуры-обработчика події створення Форми: Procedure TForm1. FormCreate (Sender:TObject). Між операторами begin і end цієї процедури вставте оператори, які виконують необхідні дії (текст модуля приведено у п. 1.2.7).
1.2.6. Написання процедури обробки події натискання кнопки Button1.
(Button1Click).
Помістимо на Форму кнопку, натискання якої призведе до вирахування висловлювання. Виберіть в Палітрі Компонентів сторінка Standart піктограму [pic] компонента Button. У властивості Caption Інспектори аж Об'єктів замініть напис на кнопці Button1 на Обчислити. У властивості Font підберіть шрифт. Відрегулюйте ситуацію і розмір кнопки. Потім двічі клацніть «мишею» на кнопці, після чого курсор встановиться з тексту процедуры-обработчика події натискання кнопки Button1: Procedure TForm1. Button1Click (Sender:TObject). Уважно наберіть оператори цієї процедури, використовуючи текст модуля UnLinAlg.
1.2.7. Текст модуля UnLinAlg.
Unit UnLinAlg;
interface.
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class (TForm).
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Memo1: TMemo;
Button1: TButton; procedure FormCreate (Sender: TObject); procedure Button1Click (Sender: TObject); private.
{ Private declarations } public.
{ Public declarations } end;
var Form1: TForm1;
implementation.
{$R *.DFM} // Процедура обробки події створення Форми: procedure TForm1. FormCreate (Sender: TObject); begin Edit1. Text:= «0.4 »; // початкова значення X Edit2. Text:= «8.75e-2 »; // початкова значення Y Edit3. Text:= «-19.63 »; // початкова значення Z Memo1. Clear; // очищення Memo1 // Висновок рядки у Memo1: Memo1.Lines.Add («Лабораторна робота № 1 — Лінійний алгоритм »); end; // Процедура обробки події натискання кнопки Button1: procedure TForm1. Button1Click (Sender: TObject); var x, y, z, a, b, c, u: extended; // оголошення локальних змінних begin x:=StrToFloat (Edit1.Text); // X присвоюється вміст Edit1 y:=StrToFloat (Edit2.Text); // Y присвоюється вміст Edit2 z:=StrToFloat (Edit3.Text); // Z присвоюється вміст Edit3 // Обчислюється вираз a:=sqrt (x)-y*y*y; b:=sin (a)/cos (a); c:=Exp (5*Ln (b)); u:=c+exp (y/z)*sin (z*z); Memo1.Lines.Add («X = «+Edit1.Text+ «Y = «+Edit2.Text+ «Z = «+Edit3.Text); // контрольний висновок X, Y, Z в Memo1 // Висновок результату в Memo1: Memo1.Lines.Add («U = «+FloatToStrF (u, ffFixed, 8,3)); end;
end.
Дані, із якими працюють компоненти Edit і Memo, мають тип String. Тож у процедурі TForm1. Button1Click при привласненні вмісту полів Edit1, Edit2,Edit3 змінним X, Y, Z з допомогою функції StrToFloat здійснюється перетворення даних типу String в справжні значення з плаваючою точкою типу Extended. Якщо потрібно працювати з цими цілого типу, використовується функція StrToInt.
При виведення даних в Memo1 використовується метод Add властивості Lines, причому для перетворення даних із дійсного значення строковое і управління формою уявлення виведеного результату використовується функція FloatToStrF.
1.2.8. Фундаментальна обізнаність із приложением.
Для запуску створеного докладання натиснімо піктограму [pic] головного меню чи клавішу F9. У цьому відбувається компіляція модулів і, якщо ні помилок, компонування проекту й створення виконуваного файла PrLinAlg.exe. На екрані з’являється панель інтерфейсу докладання (рис. 1.2).
Клацніть «мишею» на кнопці «Обчислити» й у полі Memo1 з’являється результат. Змініть вихідні значення x, y, z в полях Edit і знову натиснімо кнопку «Обчислити». Переконайтеся, що у полі Memo1 відбиваються нові результати. Завершити роботу докладання можна натисканням кнопки [pic] в правом верхньому розі панелі интерфейса.
Що стосується заштатного функціонування докладання відновити початковий режим роботи на проект можна шляхом вибору меню Run опції ProgramReset чи натиснути клавіші Ctrl+F2.
1.3. Виконання індивідуального задания.
За вказівкою викладача виберіть свого індивідуального завдання. Уточніть умова завдання, кількість і типи вихідних даних. Згідно з з цим оформите дизайн панелі інтерфейсу проектованого докладання, встановіть необхідну кількість полів Edit, тексти заголовків на Форму, розміри шрифтів, і навіть типи змінних і функції перетворення при введення і виведення результатов.
Індивідуальні задания.
1. [pic].
При x=14.26, y=-1.22, z=3.5([pic] t=0.564 849.
2. [pic].
При x=-4.5, y=0.75([pic], z=0.845[pic] u=-55.6848.
3. [pic].
При x=3.74[pic], y=-0.825, z=0.16[pic] v=1.0553.
4. [pic].
При x=0.4[pic], y=-0.875, z=-0.475[pic] w=1.9873.
5. [pic].
При x=-15.246, y=4.642[pic], z=20.001[pic] [pic]=-182.036.
———————————- 3.
Рис. 1.2.
Label1.
Label2.
Label3.
Рис. 2.1 1- головне вікно; 2 — головне меню, 3 — піктограми головного меню, 4 — вікно Інспектори аж Об'єктів; 5 — вікно Редактора Кода,.
6- вікно порожній Форми; 7 — Палітра Компонентов.
Label4.
Edit1.
Edit2.
Edit3.
Button1.
Memo1.