Методична розробка "Основи програмування на Lazarus"

Про матеріал
В розробці викладені основи програмування в середовищі програмування Lazarus.
Перегляд файлу

image

 

1. Основні поняття

 

Трішки історії

 

У 1999 р. три людини - Cliff Baeseman, Shane Miller і Michael A. Hess. зробили спробу написати безкоштовне графічне середовище для безкоштовного компілятора FPC. Проект отримує назву Lazarus. На сьогоднішній день слід визнати, що ідея виявилася вельми плідною тому, що середовище існує і розвивається і понині.

 

Призначення

 

Lazarus - це безкоштовний інструмент розробки додатків з графічним інтерфейсом з відкритим кодом. IDE Lazarus є середовищем для швидкої розробки програм, аналогічним Delphi, і базується на оригінальній кросплатформенній бібліотеці візуальних компонентів LCL (Lazarus Component Library), сумісних з VCL Delphi. До складу IDE входять і не візуальні компоненти. В принципі такого набору досить для створення програм з графічним інтерфейсом і додатків, що працюють з базами даних і Інтернетом. Lazarus - це стабільне, багате можливостями середовище розробки для створення самостійних графічних і консольних програм. В даний час воно працює на Linux, FREEBSD і Windows і містить редактор коду, що настроюється, візуальне середовище створення форм разом з менеджером пакетів, відладчиком і графічним інтерфейсом, повністю інтегрованим з компілятором FreePascal. Компілятор FreePascal і його середовище швидкої розробки графічного інтерфейсу Lazarus безкоштовні і розповсюджуються за вільною ліцензією GNU GPL. Крім того, компілятор Free Pascal дозволяє створювати кросплатформенні програми, тобто додатки, які можуть виконуватися на різних платформах, – як в Linux, так і в Windows. 

 

Візуальне програмування

 

Lazarus - це візуальне середовище програмування. «Візуальне» означає спосіб, за допомогою якого в програмі створюється графічний користувацький інтерфейс. Інтерфейс створюється візуально – майбутня програма набирається, конструюється з окремих об'єктів. Кожен елемент вікна нашої майбутньої програми на етапі розробки переноситься з готових шаблонів, розміщується де потрібно. Він вже містить набір властивостей, які програміст встановлює на свій смак. Тобто наша майбутня програма складається з готових «цеглинок», які ми беремо і розміщуємо на формі. Наприклад, нам потрібно використати в проекті кнопку. Ми беремо її на палітрі компонентів і розміщуємо на формі. Вона вже містить набір властивостей, які ми просто змінюємо.

 

Об’єктно-орієнтоване програмування

 

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

  Отже, як випливає з назви, об'єктно-орієнтоване програмування (object-oriented programming, воно ж подієво-кероване програмування – event-driven programming) – це програмування, направлене на об'єкти. 

 

 

 

 

Об’єкт

 

Що ж таке об'єкт (object)? А все, що нас оточує і з чим ми можемо взаємодіяти (поторкати, побачити, почути, зміряти, провести експеримент і т.д.) Це частина додатку, яка характеризується властивим саме йому набором властивостей (properties), а також реагує на події (events).  

 

image Перевірте себе

 

1.      Що таке Lasarus?

2.      Що таке LCL?

3.      Які програми називають кросплатформенними?

4.      Чому Lazarus називають візуальним середовищем програмування?

5.      Що таке об’єктно-орієнтоване програмування?

6.      Що таке подієво-керована модель програмування?

7.      Що таке об'єкт?

 

Налаштування Lazarus. 

При запуску середовища програмування відкривається останній проект. Щоб відмінити це - виконайте

image 

 

2 Основні елементи середовища розробки Lazarus. 

 

Середовище Lazarus складається з декількох вікон. 

image 

 

 

За допомогою цього вікна можна управляти процесом розробки додатку. У ньому передбачені команди управління файлами, компіляцією, редагуванням, вікнами і так далі. Вікно розбите на три функціональні блоки: 

Головне меню. У нім розташовані команди управління файлами, команди управління компіляцією і властивостями всього застосування, команди управління вікнами і налаштуваннями середовища і багато що інше. Меню розташовується у верхній частині основного вікна. 

Панель інструментів. Панель інструментів надає швидкий доступ до основних команд головного меню. Вона розташована в лівій частині головного вікна, під головним меню.

Палітра компонентів. Надає доступ до основних компонентів середовища розробки, наприклад: поле введення, напис, меню, кнопка і тому подібне 

Інспектор об'єктів

У верхній частині вікна показується ієрархія об'єктів, а знизу, розташовано три вкладки: "Властивості", "Події", "Вибране". Призначення інспектора об'єктів – це перегляд і встановлення всіх властивостей і подій об'єктів. На вкладці "Властивості" перераховуються і встановлюються всі властивості вибраного об'єкту. На вкладці "Події" перераховуються всі події для об'єкту, вибирається подія для обробки в програмному коді. На вкладці "Вибране" вибрані властивості і події.  

 

image

 

3. Редактор програмного коду Lazarus 

 

image 

Саме у цьому вікні ми набиратимемо тексти своїх програм. Багато функцій і можливості цього редактора збігаються з можливостями звичайних текстових редакторів, наприклад Блокнота. Текст в редакторові можна виділяти, копіювати, вирізувати, вставляти. Крім того, в редакторові можна здійснювати пошук заданого фрагмента тексту, виконувати вставку і заміну. Але, звичайно, цей редактор програмного коду  Lazarus володіє ще рядом додаткових можливостей для комфортної роботи стосовно розробки програм. Основна перевага редактора полягає в тому, що він володіє можливостями підсвічування синтаксису, причому не тільки Pascal, але і інших мов, а також рядом інших зручностей. Зокрема, виділений фрагмент тексту можна зрушувати управо або вліво на кількість позицій, вказаних в настройках Оточення ->Параметри.->Редактор -> Загальні -> Відступ блоку, що дуже зручно для форматування з метою структуризації коду.

 

4 Конструктор форм

 

image 

 

            В ньому створюється форма – вікно вашої майбутньої програми. Для зручності розміщення та позиціювання об’єктів форма покрита сіткою

 

5. Вікно повідомлень  

 

У цьому вікні виводяться повідомлення компілятора, компонувальника і відладчика. 

На цьому ми закінчимо наш короткий огляд середовища Lazarus. Ми розглянули далеко не всі види вікон IDE, та і ті, що розглянули, ми розглянули нашвидку, лише для того, щоб отримати перше уявлення про середовище Lazarus. Займатися нудною розповіддю про всі пункти, опції і можливості Lazarus я зараз не буду. Адже не все буде зрозуміло, та і нудно! Адже вам "не терпиться в бій"! Тому розглядатимемо тільки ті елементи, які будуть нам потрібні на перших порах. А, останнє ми вивчатимемо в міру необхідності і в потрібних місцях. Так, мені здається, буде краще! 

image Перевірте себе

 

1.      Для чого призначене головне вікно IDE Lazarus? 

2.      Для чого призначене головне меню? 

3.      Для чого призначена  панель інструментів? 

4.      Для чого призначена палітра компонентів? 

5.      Для чого призначений інспектор об'єктів?

6.      Для чого призначена вкладка "Властивості"?

7.      Для чого призначена вкладка "Події"?

8.      Для чого призначена вкладка "Вибране"?

9.      Для чого призначений редактор програмного коду Lazarus?

10.  Для чого призначений конструктор форм?

11.  Для чого призначене вікно повідомлень?

 

6 Склад проекту.

 

Середовище програмування Lazarus має зручний графічний інтерфейс. Програма, написана на Lazarus, складається з декількох файлів. Комплект файлів, які використовуються для розробки вашої програми, називається проектом. При збереженні проекту попередньо створюють папку, у яку зберігають файли проекту:

 

imageПапки зі службовими файлами

файл іконки проекту (розширення ico); файли проекту (розширення lpi та lpr);

файл ресурсів (розширення res); файл форми (розширення lfm);

файл програмного коду – розширення pas. відкомпільований файл проекту (розширення exe);

7 Робота в середовищі програмування. 

 

Щоб відкрити збережений проект, необхідно знайти на диску та запустити файл з розширенням lpr

(піктограма image). Або на панелі інструментів натиснути image Открыть, та відкрити в потрібній папці потрібний файл.  

Для збереження проекту потрібно створити папку, назвавши її так, як вашу майбутню програму.

Потім задіяти команду Сохранить всеimage та в створеній папці зберегти ваш проект – послідовно всі файли. Слід звернути увагу на те, що під час збереження вашого проекту потрібно декілька разів зберігати всі файли проекту – файлу форми, файлу самого проекту, та інших.  Останнє збереження відкриє вікно

image,  Щоб запустити на виконання ваш проект, потрібно натиснути кнопку “Запустить”  

image на панелі інструментів або натиснути кнопку F9. Щоб зупинити виконання, треба або закрити вікно форми вашого проекту, або натиснути кнопку    “Остановить”  на панелі інструментів Lazarus.

 

8 Створення проекту. 

 

Щоб створити новий проект, необхідно: 

-  створити папку з назвою проекту

-  зберегти в папку створений проект

 

image Перевірте себе

 

1.      Що називають проектом?

2.      Що необхідно зробити перед тим, як зберегти проект?

3.      Яке призначення папок backup та lib?

4.      Для чого призначений файл, який має розширення ico?

5.      Для чого призначені файли, які мають розширення lpi та lpr?

6.      Для чого призначений файл, який має розширення res?

7.      Для чого призначений файл, який має розширення lfm?

8.      Для чого призначений файл, який має розширення pas?

9.      Для чого призначений файл, який має розширення exe?

10.  Як відкрити збережений проект за допомогою програми Мій комп’ютер?

11.  Як відкрити збережений проект за допомогою панелі інструментів?

12.  Як зберегти створений проект?

13.  Чому під час збереження проекту потрібно декілька разів називати файли?

14.  Як запустити на виконання проект?

15.  Як зупинити виконання проекту?

 

image  Виконайте завдання

 

1.      Відкрийте вказану учителем папку.

2.      Запустіть проект, який міститься у цій папці.

3.      Запустіть на виконання проект.

4.      Зупиніть виконання проекту.

5.      Закрийте Lazarus, не зберігайте проект.

6.      Запустіть Lazarus.

7.      За допомогою панелі інструментів відкрийте проект у вказаній учителем папці.

8.      Запустіть на виконання проект.

9.      Зупиніть виконання проекту.

10.  Закрийте Lazarus, не зберігайте проект.

 

 

 

 

 

 

 

 

 

9 Властивості об’єктів. 

 

Властивості форми

Властивість Caption – заголовок вікна, є деякий текст. За умовчанням встановлюється значення "Form1". 

image 

Бажано тут вказувати короткий зміст програми, наприклад "Додавання чисел". Дуже часто розробники тут виводять назву програми і ім'я документа, пов'язаного з цією програмою.

Властивість Name – ім'я форми в програмі. По цьому імені можна звертатися до форми як до об'єкту в програмі. За умовчанням встановлюється ім'я Form1. Бажано давати осмислені імена, особливо якщо в програмі є декілька форм. Іменування повинне підкорятися вимогам мови Паскаль, тобто ім'я не повинне містити неприпустимі символи, пропуски і так далі. 

Розміри вікна форми  задаються властивостями Height і Width. Розміри задаються в пікселях.  Положення вікна при запуску визначається властивістю Position, оптимально наступне значення: poScreenCenter або poDesktopCenter – вікно виводиться в центрі екрану, розмір визначається при проектуванні. Для того, щоб вибрати потрібне значення, необхідно клацнути на назву властивості.

 image

 

Active Control – об’єкт, який стане активним після запуску створеної вами програми. Вибирається із списку об’єктів, які ви розмістили на формі.

image 

Border Icons – наявність кнопок керування вікном форми та системного меню

image                          

                                                                                                                                                        недоступна кнопка «розгорнути»                                                                                                                        доступна кнопка «згорнути»                                                                                                                        доступне системне меню вікна Border Style – стиль границі вікна форми. bsSingle – незмінна, програма працює у віконному режимі і користувач не може змінити розміри форми.

image 

Icon – іконка у лівому верхньому кутку вікна форми, завантажується з файлу іконок (розширення ico) 

image

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

Для того, щоб відкомпільований файл створеної програми мав відповідну назву та піктограму в провіднику, необхідно встановити параметри

image 

 

 

 

 

 

 

 

image Перевірте себе

 

1.      Яке призначення властивості Caption? 

2.      Яке призначення властивості Name ?

3.      Яке призначення властивості Height і Width? 

4.      Яке призначення властивості Position? 

5.      Що буде, якщо властивості Position встановити значення poDesktopCenter?

6.      Яке призначення властивості Active Control? 

7.      Як зробити недоступною кнопку «розгорнути»?

8.      Як зробити доступною кнопку «згорнути»?

9.      Як зробити доступним системне меню вікна?

10.  Яку властивість форми потрібно змінити, щоб користувач не міг змінити розміри форми працюючої програми?

11.  Як встановити іконку у лівому верхньому кутку вікна форми?

12.  Які параметри проекту потрібно змінити, щоб відкомпільований файл створеної програми мав

відповідну назву та піктограму в провіднику?

 

image  Виконайте завдання

 

1.      Створіть папку, яка буде містити проект.

2.      Запустіть Lazarus.

3.      Встановіть назву заголовка форми «Обмінний пункт»

4.      Встановіть ширину форми 330 пікселів

5.      Встановіть висоту форми 170 пікселів

6.      Налаштуйте властивості форми таким чином, щоб вона запускалась в центрі екрану

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

8.      Встановіть властивості форми так, що користувач не міг змінити розміри форми працюючого додатку

9.      Встановіть іконку форми з папки, вказаної учителем

10.  Встановіть властивості проекту таким чином, щоб відкомпільований файл вашого проекту мав

назву заголовку форми та іконку форми

 

10 Розміщення на формі потрібних  об'єктів

 

 Для того, щоб розмістити на формі потрібний об'єкт, треба вибрати його на палітрі компонентів. Потім натиснути ліву кнопку мишки на формі в тому місці, де буде лівий верхній край об’єкту, протягнути курсор мишки та відпустити кнопку мишки в тому місці форми, де буде розміщено правий нижній край об’єкту. Після цих операцій об’єкт з'явиться на формі. Коли по об'єкту клацнути лівою кнопкою мишки, ти він стане виділений (по краях об'єкту з'являться крапки). Якщо потягнути за крапку курсором при натиснутій лівій кнопці мишки, то можна змінити розмір об'єкту. Щоб  перемістити об’єкт на інше місце, потрібно клацнути та затримати на ньому ліву кнопку мишки, перемістити його на нове місце на формі та відпустити ліву кнопку мишки. Приклад – зміна розмірів кнопки.

 Кнопка стандартного            розміру

Кнопка зміненого розміру

imageЩоб створити на формі написи, використовують об’єкт ТLabel.  палітри компонентів, вкладка

image

Цей об'єкт призначений для створення надписів на формі. Його розміщують в потрібному місці на формі та встановлюють потрібні властивості. Також це стандартний об’єкт для виведення інформації – аналог оператора Writel Паскаля.

            Щоб вивести зображення на формі – використовують TImage палітри компонентів, вкладка

image

 

 

 

 

 

 

Для вводу в програму текстової інформації від користувача використовують об’єкт текстове поле (TEdit), палітри компонентів, вкладка Standart

image

Для запуску виконання програмою якихось дій використовують  командну кнопку  (ТButton) палітри компонентів, вкладка Standart.

image

 

11 Створення інтерфейсу програми.

 

Створення програмного проекту складається з декількох етапів:

-     Створення інтерфейсу (форми та об’єктів);

-     Написання програмного коду;

-     Збереження проекту;

-     Компілювання проекту (створення програмного файлу).

Для прикладу напишемо програму, яка буде обчислювати розрахунки долари-гривні та гривнідолари згідно введеного курсу та суми грошей.  

Спочатку створимо інтерфейс програми.

Нам потрібно на формі створити надписи, які видають інформацію про дію програми та про місця вводу даних в програму. Це буде реалізовано за допомогою об'єктів TLabel. Причому мітки label1, label2 та label3 будуть тільки показувати написи на формі, а ось мітка label4 буде виводити результати обчислень.

image

Запускати роботу програми будуть два об’єкти - кнопка Button1 запускає розрахунок долари в гривні, а кнопка Button2 запускає розрахунок  гривні в долари. Встановлюємо текст заголовку форми – властивості Caption значення „Обмінний пункт”. Встановлюємо властивості форми, як описано вище у пункті 8. На цьому розробка інтерфейсу програми закінчена. Тепер потрібно її зберегти. Створюємо папку, називаємо її „Обмінний пункт”. Зберігаємо в цю папку файли проекту.

 

 

image Перевірте себе

 

1.      Яке призначення палітри компонентів?

2.      Як розмістити на формі потрібний елемент керування?

3.      Як перетягнути в інше місце форми елемент керування?

4.      Як змінити розміри елемента керування?

5.      Для чого призначений об’єкт ТLabel?

6.      Для чого призначений об’єкт TImage?

7.      Як вивести зображення на формі?

8.      Для чого призначений об’єкт текстове поле TEdit? 9.Для чого призначена командна кнопка ТButton?

 

 

image  Виконайте завдання

 

1. Відкрийте проект, створений у попередньому завданні 2. Розмістіть на формі об’єкти, показані на рисунку 3.Збережіть проект.

 

12 Зміна властивостей об’єктів під час виконання програми.

 

 Для встановлення нової властивості потрібного об’єкта потрібно знати його ім’я у проекті. Потім необхідно записати такий рядок коду:

ім'я_об'єкту.властивість:=нове_значення;

Приклад – на формі розмістили три об’єкти TLabel. В інспекорі об’єктів в ієрархічній структурі ми бачимо головний об’єкт – форму TForm з іменем Form1, та три підлеглих розміщених на формі TLabel з іменами Label1, Label2 та Label3. На прикладі ми виділили  Label3 в інспекторі об’єктів, відповідно він виділився на формі. Його ім’я Name ми бачимо як у інспекторі об’єктів, так і у вкладці Свойства - Name Label3. Тепер, щоб вивести на Label3 нову текстову інформацію, ми напишемо такий рядок коду:

Label3.Caption:=’Новий текст’;

image

 

 Для виведення інформації існує стандартний об’єкт для виведення інформації TLabel – аналог оператора Writel Паскаля. Але є різниця в його застосуванні. Щоб вивести інформацію на розміщеному на формі об’єкті TLabel, потрібно присвоїти нове значення властивості Caption. Просте виведення текстової інформації на об’єкті TLabel, який має ім’я Label1, має вигляд Label1.Caption:= ’Вітаю’;

Але якщо потрібно вивести значення змінної, яка має числову інформацію, потрібно перетворити її в текстову за допомогою функції FloatToStr для змінної типу Real та функції IntToStr для змінної типу Integer. 

Приклад виведення на Label1 значення змінної Suma типу Real: Label1.Caption:= FloatToStr(Suma);

Приклад виведення на Label1 значення змінної Suma типу Integer:

Label1.Caption:= IntToStr(Suma);

Також при виведенні інформації можливо вказати, скільки чисел виводити цілої та десяткової частин числа. На прикладі виводиться п’ять чисел цілої та два числа десяткової частин змінної Suma типу Real: Label1.Caption:= FloatToStrF(Suma,fffixed,5,2); 

Щоб вивести змішану (текстову і числову) інформацію, потрібно привести все до текстового типу і скласти рядок тексту. Наприклад

Label1.Caption:= ’При Х=’ + FloatToStr(Х) + ’   У=’ +  FloatToStr(У); 

Щоб вивести інформацію у декілька рядків, подібно до оператора Writeln Паскаля, існує зовсім інший об’єкт. Він виводити інформацію у декілька рядків, причому коли інформація не вміщується, показує смужки прокрутки. Це об’єкт TMemo палітри компонентів, вкладка Standart.  Щоб активувати смужки прокрутки, потрібно встановити значення ssBoth властивості ScrollBars:

image

Щоб вивести три рядки тексту, потрібно написати такий код:

Мemo1.Lines.Add('Привіт');

Мemo1.Lines.Add('мене звуть'); Мemo1.Lines.Add('Володимир');

 

14 Організація введення даних.

 

 Для введення інформації існує стандартний об’єкт для введення інформації TEdit – аналог  оператора Readl Паскаля. От тільки щоб ми туди не ввели – все буде тільки текстового типу. Якщо потрібно присвоїти значення змінній, яка має числовий тип, потрібно перетворити введений в TEdit  текст в число за допомогою функції StrToFloat для змінної типу Real та функції StrToInt для змінної типу Integer. Стандартний текст об’єкту TEdit стирається у властивості Text – для роботи програми він не потрібний, адже при запуску вашої програми TEdit  повинен бути пустим і готовим для введення інформації.

image 

Приклад присвоєння значення змінної Suma типу Real введеного в Edit1 числа: Suma:=StrToFloat (Edit1.Text);  Приклад присвоєння значення змінної Suma типу Integer введеного в Edit1 числа: Suma:=StrToInt (Edit1.Text); 

image 

Перевірте себе

 

1.      Ім’я мітки label12. Напишіть рядок програмного коду, який виводить на мітку текст «Вітаю»

2.      Напишіть рядок програмного коду, який виводить на мітку Label1 значення змінної Resul типу Real

3.      Напишіть рядок програмного коду, який виводить на мітку Label5 значення змінної Dart типу Integer

4.      Напишіть рядок програмного коду, який виводить на мітку Label8 три числа цілої та два числа десяткової частин змінної Resul типу Real

5.      У змінній Street типу Real знаходиться значення пройденого шляху – число 50. Напишіть рядок програмного коду, який виводить на мітку Label3 рядок типу «Пройдений шлях = 50»

6.      Для чого призначений об’єкт TMemo?

7.      Як в об’єкті TMemo вивести текст у декілька рядків?

 

15 Програмний код. Подія.

 

Перш ніж розпочати написання програмного коду, необхідно скласти алгоритм роботи програми. В нас програма здійснює два розрахунки, тому буде два алгоритми. Складаємо алгоритм розрахунку долари-гривні. 

 

                                             

Текстове поле Edit1

Текстове поле Edit2

Кнопка Button1

 

Мітка Label4 

image                                                           Початок 

 

 

 

                                                              Кінець

 

 

Як бачимо, курс долара вводиться в текстове поле Edit1, сума доларів вводиться , текстове поле Edit2, обчислення запускається натисканням на кнопку Button1, результат виводиться на мітку Label4.

Аналогічно складаємо алгоритм розрахунку гривні-долари.  Подія.

Для кожного об’єкта передбачені події – зовнішній вплив на об’єкт. Наприклад, подія натискання на кнопку лівою кнопкою мишки або наведення курсору мишки на об’єкт. 

Програма почне працювати лише тоді, коли з об’єктом виникне подія, для якої в програмі описаний програмний код. 

 

 

 

Події

Подія Click виникає, як тільки користувач виконає клацання кнопкою миші на елементі управління. Подія MouseDown виникає при натисненні кнопки миші, а MouseUp – при відпусканні. Подія MouseMove виникає, коли користувач пересуває курсор миші.

Якщо властивості форми KeyPreview привласнити значення True, то подія пов'язана з клавіатурою, передається спочатку формі, а потім поточному елементу управління. Подія KeyDown викликається при натисненні клавіші клавіатури, а KeyUp – при відпуску.

Активний елемент отримує фокус, тобто якщо це текстове поле, то воно відображається мерехтливим маркером введення, а якщо командна кнопка, то виділяється пунктирною рамкою навколо напису. Події форми:

      подія FormCreate відбувається при завантаженні форми в пам'ять;

      подія Close викликається, якщо форма вивантажується з пам'яті  ;

 

Щоб програма почала працювати, необхідно написати програмний код – набір команд мовою Lazarus. 

Для того, щоб написати програмний код, потрібно вияснити декілька питань: який об’єкт буде запускати обчислення; яка подія при цьому буде з ним відбуватись.

В нашому випадку запускати роботу програми буде два об’єкти – кнопка Button1 (розрахунок доларів в гривні) та кнопка Button2 (розрахунок гривень в долари). Отже, програма буде здійснювати два незалежні розрахунки. Запускатись програма буде тоді, коли виникне подія click (натискання на кнопку лівою кнопкою мишки, коли курсор знаходиться над нею). Пишемо програмний код.

Щоб вивести вікно програмного коду, треба двічі клацнути лівою кнопкою мишки по об'єкту, який буде запускати роботу програми. Клацнемо двічі по кнопці Button1.  Вікно програмного коду має такий вигляд:

 

image 

 

 

 

Заголовок початку

 

процедури 

 

image

 

Ім'я події 

Як видно в вікні програмного коду, ми вивели програмний код кнопки Button1, події click. Для кожної події є процедура обробки цієї події, яка описується в програмному коді. Розпочинається процедура обробки події службовим словом procedure TForm1.Button1Clickimage

Закінчується процедура обробки події службовим словом

end;

Між словами begin після заголовка процедури та end;  вписують програмний код.

Тоді, коли натиснути на кнопку Button1, програма виконає команди, які ви впишете між словами begin  та end;  

 

16  Величини. Оголошення змінних.

Опис змінних

Змінна – це іменована область пам'яті, призначена для зберігання даних. Тип даних задає певний формат або розмір вмісту змінної. При оголошенні змінних указується тип даних: 

Імя_змінної:Тип_данних;

Оголошують змінну в секції var програмного коду після рядка Form1: TForm1;  Приклад оголошення змінних:

  x,a,b:Integer;   y:Real; 

В нашу програму будуть вводитись користувачем три види даних – курс долара (вводиться в текстове поле Edit1), сума доларів (вводиться в текстове поле Edit2) та в це саме текстове поле вводиться сума гривень. Щоб зберігати в програмі ці дані, використовують змінні. В змінні записують введені дані.  В нашій програмі необхідно використати три змінні. В одній змінній (назвемо „Kurs”) буде зберігатись курс долара, в другій змінній (назвемо „Suma”) буде зберігатись сума грошей, третій змінній (назвемо „Itog”) буде зберігатись результат обчислення. Ім'я змінної задає програміст. Як правило, змінну оголошують англійською мовою з великої букви. Називають змінну так, щоб її назва несла інформацію про дані, які будуть в ній зберігатись. Наприклад, змінну, в якій буде зберігатись курс долара, ми назвали Kurs. Змінну в програмі оголошують один раз – спочатку програмного коду. Недопустимо оголошення двох однакових змінних різних типів.  Якщо декілька змінних мають однаковий тип, їх оголошують в одному рядку через кому.

image 

Перевірте себе

 

1.      Що називають подією?

2.      Коли почне виконуватися програмний код? 

3.      Коли виникає подія Click? 

4.      Коли виникає MouseDown?

5.      Коли виникає MouseUp?

6.      Коли виникає MouseMove?

7.      Коли виникає KeyDown?

8.      Коли виникає KeyUp?

9.      Коли виникає FormCreate? 

10.  Коли виникає Close?   

11.  Які питання потрібно вияснити , перш ніж написати програмний код?

12.  Як вивести вікно програмного коду?

13.  Що таке процедура обробки події?

14.  Де в процедурі вписують програмний код?

15.  Що таке змінна?

16.  В якій частині програмного коду оголошують змінну?

17.  Як оголосити числову змінну типу Real?

18.  Як оголосити числову змінну типу Integer?

 

 

 

 

 

 

 

 

 

image  Виконайте завдання

 

1. Відкрийте проект, збережений при виконанні попереднього практичного завдання

 

2. Оголосіть змінні

image

 

Оголошують

змінні в секції var після рядка

Form1: TForm1; 

 

3. Виведіть вікно програмного коду

 

Тепер, коли всі змінні оголошені, можна писати програмний код. Щоб вивести вікно програмного коду, треба двічі клацнути лівою кнопкою мишки по об'єкту, який запускає обчислення. В нашій програмі запускати роботу програми будуть два об'єкти - кнопка Button1 запускає розрахунок долари в гривні, а кнопка Button2 запускає розрахунок  гривні в долари. Напишемо зразу код обчислення долари-гривні. Запускає розрахунок долари в гривні кнопка Button1. Клацнемо двічі лівою кнопкою мишки по кнопці Button1 – з'явиться вікно програмного коду:

image

Нам потрібно між словами begin  та end;  вписати рядки нашого програмного коду. 

Необхідно, щоб програма:

-     зчитала з першого текстового поля курс долара і присвоїла його значення змінній Kurs,  потім зчитала з другого текстового поля суму грошей і присвоїла їх значення змінній Suma, 

-     потім обчислила суму грошей і присвоїла її  значення змінній Itog,  і нарешті вивела значення змінної Itog на третє текстове поле. 

 

4. Напишіть рядок програмного коду присвоєння змінній Kurs введеного значення курсу долара 

 

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

image

 

властивість text текстового поля

image 

 

Ще раз повторю словами те, що ми написали мовою Lazarus: змінній  Kurs присвоїли

перетворене в число значення, введене в текстове поле Edit1.

 

5. Напишіть рядок програмного коду присвоєння змінній Suma введеного значення суми грошей 

 

Тепер нам потрібно, щоб програма зчитала з другого текстового поля суму грошей і присвоїла їх значення змінній Suma. Це буде так:

Suma:=StrToFloat(Edit2.Text);

 

6.      Напишіть рядок програмного коду присвоєння змінній Itog обчисленої суми грошей

 

Itog = Kurs * Suma;

 

7.      Виведіть значення змінної Itog на мітку:

 

Label4.Caption:=FloatToStr(Itog)+' грн';

 

Тепер частина цього програмного коду буде мати такий вигляд:

 

procedure TForm1.Button1Click(Sender: TObject); begin

 Kurs:=StrToFloat(Edit1.Text);

 Suma:=StrToFloat(Edit2.Text);

 Itog:=Kurs*Suma;

 Label4.Caption:=FloatToStr(Itog)+' грн'; end; 

 

8. Запустіть програму на виконання .

 

Зверніть увагу, що при натисканні на кнопку Button2 нічого не відбувається (не написаний програмний код).

Приклад роботи програми:

 

image 

 

 

 

 

9. До кнопки Button2 допишіть аналогічний код, який відрізняється тільки рядком

розрахунку гривень в долари:

 

procedure TForm1.Button2Click(Sender: TObject); begin

 Kurs:=StrToFloat(Edit1.Text);

 Suma:=StrToFloat(Edit2.Text);

 Itog:=Suma/Kurs;

 Label4.Caption:=FloatToStr(Itog)+' дол'; end;      

 

Приклад роботи програми:

image 

 

17 Виведення інформації в декілька рядків в циклі.

 

            Даний приклад показує, як в циклі вивести інформацію на об’єкт TMemo. Будемо демонструвати це на прикладі табуляції функції.

 

image            Завдання слідуюче:       

 

 

 

 

З умови видно, що нам потрібно два об’єкти для введення даних, один об’єкт для виведення даних, кнопка для запуску обчислення. Також нам потрібно три змінних типу Integer для зберігання введених користувачем меж табуляції та присвоєння значення змінній х функції, одна змінна типу Real для зберігання результатів обчислення.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

image  Виконайте завдання

 

 image

image 

 

4. Напишіть програмний код:

 

Запускає обчислення image , виводемо подвійним клацанням по ньому вікно програмного коду.

image 

 

 

 

               Зверніть увагу на складання рядка для виведення на  image    

 

image

 

 

5. Самостійно створіть текст з завданням у верхній частині проргами

 

Для цього запускаємо Word, створюємо в ньому компактно в декілька рядків текст завдання, у формульному редакторі створюємо формулу. Потім копіюємо знімок екрану до буфера обміну кнопкою Preent Screen. Запускаємо редактор Paint, вставляємо до нього копію екрану. Виділяємо фрагмент із потрібним нам текстом з формулами, активуємо команду «обрезать». Потім зберігаємо фрагмент. Створюємо на формі об’єкт TImage та вставляємо до нього щойно збережений графічний файл.   

 

6. Запустіть програму на виконання

 

Результат роботи програми:

 

image 

 

6. Збережіть проект

 

image 

Перевірте себе

1.      Для чого призначений об’єкт TMemo?

2.      Як вивести рядок тексту на  об’єкт TMemo?

3.      Як у циклі вивести інформацію на об’єкт TMemo?

4.      Запишіть програмний код виведення на TMemo: «При Х=  значення змінної Х У= значення змінної У»

5.      Як перенести з редактора Word Текст із формулами до проекту?

pdf
Додано
7 січня 2022
Переглядів
4582
Оцінка розробки
Відгуки відсутні
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку