Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Тема: Засоби візуальної розробки програм↑ Стр 1 из 5Следующая ⇒ Содержание книги
Поиск на нашем сайте
Лекція 12 Тема: Засоби візуальної розробки програм Перший проект Для демонстрації можливостей Delphi і технології візуального проектування розробимо додаток, використовуючи який, можна обчислити швидкість, з якої спортсмен пробіг дистанцію. Вид вікна програми під час її роботи наведено на рис. 1.
Рис. 1. Вікно програми обчислення швидкості перегони
Для початку роботи над новою програмою запустите Delphi. Якщо ви вже працюєте в середовищі розробки й у вас завантажений інший проект, виберіть у меню File (Файл) команду New →Application (Створити → Додаток). Форма Робота над новим проектом, так в Delphi називається розроблювальний додаток, починається зі створення стартової форми. Так на етапі розробки програми називають діалогові вікна. Стартова форма створюється шляхом зміни значень властивостей форми Form1 і додавання до форми необхідних компонентів (полів введення й висновку тексту, командних кнопок). Властивості форми (табл. В1) визначають її зовнішній вигляд: розмір, положення на екрані, текст заголовка, вид рамки. Для перегляду й зміни значень властивостей форми і її компонентів використовується вікно Object Inspector. У верхній частині вікна Object Inspector зазначене ім’я об’єкта, значення властивостей якого відображається в цей момент. У лівому стовпчику вкладки Properties (Властивості) перераховані властивості об’єкта, а в правій – зазначені їх значення. Таблиця 1. Властивості форми (об’єкта mform).
При створенні форми в першу чергу слід змінити значення властивості caption (Заголовок). У нашім прикладі треба замінити текст Form1 на «Швидкість бігу». Щоб це зробити, потрібно у вікні Object Inspector клацнути мишею на рядку Caption, у результаті чого буде виділено поточне значення властивості, у рядку з'явиться курсор, і можна буде ввести текст «Швидкість бігу» (рис. 2).
Рис. 2. Установка значення властивості шляхом уведення значення
Форма Аналогічним чиномм можна встановити значення властивостей Height і Width, які визначають висоту й ширину форми. Розмір форми і її положення на екрані, а також розмір інших елементів керування і їх положення на поверхні форми задають у пікселах, тобто точках екрану. Властивостям Height і Width треба задати значення 250 і 330 відповідно. Форма – це звичайне вікно. Тому його розмір можна змінити точно так само, як розмір будь-якого іншого вікна, тобто захопленням і переміщенням (за допомогою миші) границі. По закінченню переміщення границь автоматично зміняться значення властивостей Height і width. Вони будуть відповідати встановленому розміру форми. Положення діалогового вікна на екрані після запуску програми відповідає положенню форми під час її розробки, яке визначається значенням властивостей Тор (відступ від верхньої границі екрана) і Left (відступ від лівої границі екрана). Значення цих властивостей також можна задати шляхом переміщення вікна форми за допомогою миші. При виборі деяких властивостей, наприклад, BorderStyle, праворуч від поточного значення властивості з’являється значок списку, що розкривається. Очевидно, що значення таких властивостей можна задати шляхом вибору зі списку (рис. 3). Рис. 3. Установка значення властивості шляхом вибору зі списку
Деякі властивості є складними, тобто їх значення визначається сукупністю значень інших (уточнюючих) властивостей. Перед іменами складних властивостей стоїть значок «+», при клацанні на який розкривається список уточнюючих властивостей (рис. 4). Наприклад, властивість BorderIcons визначає, які кнопки керування вікном будуть доступні під час роботи програми. Так, якщо властивості biMaximize присвоїти значення False, те під час роботи програми кнопки Розгорнути в заголовку вікна не буде. Рис. 4. Розкритий список вкладених властивостей складної властивості Bordericons
Поруч зі значеннями деяких властивостей відображається командна кнопка із трьома точками. Це значить, що для задання значення властивості можна скористатися додатковим діалоговим вікном. Наприклад, значення складної властивості Font можна задати шляхом безпосереднього введення значень уточнюючих властивостей, а можна скористатися стандартним діалоговим вікном вибору шрифту. У табл. В2 перераховані властивості форми розроблювальної програми, які слід змінити. Інші властивості залишені без зміни й у таблиці не наведені. Таблиця 2. Значення властивостей стартової форми.
У наведеній таблиці в іменах деяких властивостей є точка. Це значить, що потрібно задати значення уточнюючого властивості. Після того як будуть встановлені значення властивостей головної форми, вона повинна мати вигляд, наведений на рис. 5. Рис. 5. Так виглядає форма після установки значень властивостей Компоненти Програма обчислення швидкості бігу повинна одержати від користувача вихідні дані – довжину дистанції й час, за який спортсмен пробіг дистанцію. У подібних програмах дані із клавіатури, як правило, вводять у поля редагування. Тому у форму треба додати компонент Edit – поле редагування. Найбільш часто використовувані компоненти перебувають на вкладці Standard (рис. 6). Для того щоб додати у форму компоненти, необхідно в палітрі компонентів вибрати цей компонент, клацнувши лівою кнопкою миші на його піктограмі, далі встановити курсор у ту точку форми, у якій повинен бути лівий верхній кут компонента, і ще раз клацнути лівою кнопкою миші. У результаті у формі з’являється компонент стандартного розміру.
Рис. 6. Вкладка Standard містить найбільше часто використовувані компоненти
Розмір компонента можна задати в процесі його додавання до форми. Для цього треба після вибору компонента з палітри помістити курсор миші в ту точку форми, де повинен перебувати лівий верхній кут компонента, натиснути ліву кнопку миші й, утримуючи її натиснутою, перемістити курсор у точку, де повинен перебувати правий нижній кут компонента, потім відпустити кнопку миші. У формі з’явиться компонент потрібного розміру. Кожному компоненту Delphi привласнює ім’я, яке складається з назви компонента і його порядкового номера. Наприклад, якщо до форми додати два компоненти Edit, те їхні імена будуть Edit1 і Edit2. Програміст шляхом зміни значення властивості Name може змінити ім’я компонента. У простих програмах імена компонентів, як правило, не змінюють. На рис. 7 наведений вид форми після додавання двох компонентів Edit полів редагування, призначених для введення вихідних даних. Один з компонентів виділений. Властивості виділеного компонента відображаються у вікні Object Inspector. Щоб побачити властивості іншого компонента, треба клацнути лівою кнопкою миші на зображенні потрібного компонента. Можна також вибрати ім’я компонента у вікні Object Treeview або з вікна, що перебуває у верхній частині, Object Inspector списку, що розкривається, об’єктів. Рис. 7. Форма після додавання компонентів Edit
У табл. 3 перераховані основні властивості компонента Edit – поля введення-редагування. Таблиця 3. Властивості компонента Edit (поле введення-редагування).
Delphi дозволяє змінити розмір і положення компонента за допомогою миші. Для того щоб змінити положення компонента, необхідно встановити курсор миші на його зображення, нажати ліву кнопку миші й, утримуючи її натиснутої, перемістити контур компонента в потрібну крапку форми, потім відпустити кнопку миші. Під час переміщення компонента (рис. 8) відображаються поточні значення координат лівого верхнього кута компонента (значення властивостей Left і Tор). Рис. 8. Відображення поточних значень властивостей Left і Top при зміні положення компонента
Для того щоб змінити розмір компонента, необхідно його виділити, установити покажчик миші на один з маркерів, що позначають границю компонента, нажати ліву кнопку миші й, утримуючи її натиснутої, змінити положення границі компонента. Потім відпустити кнопку миші. Під час зміни розміру компонента відображаються поточні значення властивостей Height і Width (рис. 9). Рис. 9. Відображення поточних значень властивостей Height і Width при зміні розміру компонента
Властивості компонента так само, як і властивості форми, можна змінити за допомогою Object Inspector. Для того щоб властивості необхідного компонента минулого виведені у вікні Object Inspector, потрібно виділити цей компонент (клацнути мишею на його зображенні). Можна також вибрати компонент із вікна, що перебуває у верхній частині, Object Inspector списку, що розкривається, об’єктів (рис. 10) або зі списку у вікні Object Treeview (рис. 11).
Рис. 10. Вибір компонента
Рис. 11. Вибір компонента зі списку у вікні Object Inspector у вікні Object Treeview
У табл. 4 наведені значення властивостей полів редагування Edit1 і Edit2. Компонент Edit1 призначений для введення довжини дистанції, Edit2 – для введення часу. Зверніть увагу на те, що значенням властивості Text обох компонентів є порожній рядок. Таблиця 4. Значення властивостей компонентів Edit.
Компонент |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Edit1 | Edit2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Text | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Top | 56 | 96 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Left | 128 | 128 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Height | 21 | 21 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Width | 121 | 121 |
Крім полів редагування у вікні програми повинна перебувати коротка інформація про програму й призначення полів введення. Для висновку тексту у форму використовують поля висновку тексту. Поле висновку тексту (поле статичного тексту) – це компонент Label. Значок компонента Label перебуває на вкладці Standard (рис. 12). Додається компонент Label у форму точно так само, як і поле редагування.
Рис. 12. Компонент Label – поле висновку тексту
У форму розроблювального додатка треба додати чотири компоненти Label. Перше поле призначене для висновку інформаційного повідомлення, друге й третє – для висновку інформації про призначення полів уведення, четверте поле – для висновку результату розрахунків (швидкості).
Властивості компонента Label перераховано в табл. 5.
Таблиця 5. Властивості компонента Label (поле висновку тексту).
Властивість | Опис |
Name | Ім’я компонента. Використовується в програмі для доступу до компонента і його властивостям |
Caption | Відображуваний текст |
Font | Шрифт, використовуваний для відображення тексту |
Parentfont | Ознака спадкування компонентом характеристик шрифту форми, на якій перебуває компонент. Якщо значення властивості рівно True, текст виводиться шрифтом, установленим для форми |
Autosize | Ознака того, що розмір поля визначається його вмістом |
Left | Відстань від лівої границі поля висновку до лівої границі форми |
Top | Відстань від верхньої границі поля висновку до верхньої границі форми |
Height | Висота поля висновку |
Width | Ширина поля висновку |
Wordwrap | Ознака того, що слова, які не містяться в поточному рядку, автоматично переносяться на наступний рядок |
Слід звернути увагу на властивості Autosize і Wordwrap. Ці властивості потрібно використовувати, якщо поле висновку повинне містити кілька рядків тексту. Після додавання до форми компонента Label значення властивості Autosize рівно True, тобто розмір поля визначається автоматично в процесі зміни значення властивості caption. Якщо ви прагнете, щоб текст, що перебуває в полі висновку, займав кілька рядків, то треба відразу після додавання до форми компонента Label привласнити властивості Autosize значення False, властивості Wordwrap – значення True. Потім зміною значень властивостей Width і Height потрібно задати необхідний розмір поля. Тільки після цього можна ввести у властивість caption текст, який повинен бути виведений у поле.
Після додавання полів висновку тексту (чотирьох компонентів Label) і установки значень їх властивостей відповідно до табл. В6 форма програми набуває вигляду, наведеного на рис. 13.
Зверніть увагу, що значення властивості caption уводиться як один рядок. Розташування тексту усередині поля висновку визначається розміром поля, значенням властивостей Autosize і Wordwrap, а також залежить від характеристик використовуваного для висновку тексту шрифту.
Рис. 13. Вид форми після додавання полів висновку тексту
Таблиця 6. Значення властивостей компонентів Label1, Label2, Label3 і Label4.
Компонент | Властивість | Значення |
Labell | Autosize | False |
Wordwrap | True | |
Caption | Програма обчислить швидкість, з якою спортсмен пробіг дистанцію | |
Top | 8 | |
Left | 8 | |
Height | 33 | |
Width | 209 | |
Label2 | Top | 56 |
Left | 8 | |
Caption | Дистанція (метрів) | |
Label3 | Top | 96 |
Left | 8 | |
Caption | Час (хвилин, секунд) | |
Label4
| Caption | |
Autosize | False | |
Wordwrap | True | |
Top | 120 | |
Left | 8 | |
Height | 41 | |
Width | 273 |
Останнє, що треба зробити на етапі створення форми – додати у форму дві командні кнопки: Обчислити й Завершити. Призначення цих кнопок очевидно.
Командна кнопка, компонент Button, додається у форму точно так само, як і інші компоненти. Значок компонента Button перебуває на вкладці Standard (рис. 14). Властивості компонента наведено в табл. 7.
Рис. 14. Командна кнопка – компонентів Button
Таблиця 7. Властивості компонента Button (командна кнопка).
Властивість | Опис |
Name | Ім’я компонента. Використовується в програмі для доступу до компонента і його властивостям |
Caption | Текст на кнопці |
Enabled | Ознака доступності кнопки. Кнопка доступна, якщо значення властивості рівно True, і недоступна, якщо значення властивості рівно False |
Left | Відстань від лівої границі кнопки до лівої границі форми |
Top | Відстань від верхньої границі кнопки до верхньої границі форми |
Height | Висота кнопки |
Width | Ширина кнопки |
Після додавання до форми двох командних кнопок потрібно встановити значення їх властивостей відповідно до табл. 8.
Таблиця 8. Значення властивостей компонентів Button1 і Button2.
Властивість |
Компонент | |
Button1 | Button2 | |
Caption | Обчислити | Завершити |
Top | 176 | 216 |
Left | 200 | 200 |
Height | 25 | 25 |
Width | 80 | 80 |
Остаточний вид форми розроблювального додатка наведено на рис. 15.
Рис. 15. Форма програми Швидкість перегони
Завершивши роботу зі створення форми додатка, можна приступити до написання тексту програми. Але перед цим обговоримо дуже важливі при програмуванні в Windows поняття:
· подія;
· процедура обробки події.
Система підказок
У процесі набору тексту програми редактор коду виводить довідкову інформацію про параметри процедур і функцій, про властивості й методи об’єктів.
Наприклад, якщо у вікні редактора коду набрати Messagedig (ім’я функції, яка виводить на екран вікно повідомлення) і відкриваючу дужку, то на екрані з’явиться вікно підказки, у якому будуть перераховані параметри функції Messagedig із вказівкою їх типу (рис. 19). Один з параметрів виділений напівжирним. Так редактор підказує програмістові, який параметр він повинен уводити. Після набору параметра й комі у вікні підказки буде виділений наступний параметр. І так доти, поки не будуть зазначені всі параметри.
Рис. 19. Приклад підказки
Для об’єктів редактор коду виводить список властивостей і методів. Як тільки програміст набере ім’я об’єкта (компонента) і крапку, так відразу на екрані з’являється вікно підказки – список властивостей і методів цього об’єкта (рис. 20). Перейти до потрібного елемента списку можна за допомогою клавіш переміщення курсору або набравши на клавіатурі декілька перших букв імені потрібної властивості або методу. Після того як буде обраний потрібний елемент списку й натиснута клавіша Enter, обрана властивість або метод будуть вставлені в текст програми.
Система підказок суттєво полегшує процес підготовки тексту програми, рятує від рутини. Крім того, якщо під час набору програми підказка не з’явилася, це значить, що програміст припустився помилки: швидше за все, невірно набрав ім’я процедури або функції.
Рис. 20. Редактор коду автоматично виводить список
властивостей і методів об’єкта (компонента)
Навігатор коду
Вікно редактора коду розділене на дві частини (рис. 21). У правій частині перебуває текст програми. Ліва частина, яка називається навігатор коду (Code Explorer), полегшує навігацію по тексту (коду) програми. В ієрархічному списку, структура якого залежить від проекту, над яким іде робота, перераховані форми проекту, їх компоненти, процедури обробки подій, функції, процедури, глобальні змінні й константи. Вибравши відповідний елемент списку, можна швидко перейти до потрібного фрагмента коду.
Вікно навігатора коду можна закрити звичайним образом. Якщо вікно навігатора коду не доступно, то для того, щоб воно з’явилося на екрані, потрібно з меню View вибрати команду Code Explorer.
Рис. 21. Вікно Code Explorer полегшує навігацію по тексту програми
Довідкова система
У процесі набору програми можна одержати довідку, наприклад, про конструкцію мови або функції. Для цього потрібно у вікні редактора коду набрати слово (інструкцію мови програмування, ім’я процедури або функції і т.д.), про який треба одержати довідку, і нажати клавішу F1.
Довідкову інформацію можна одержати, вибравши з меню Help команду Delphi Help. У цьому випадку на екрані з’явиться стандартне вікно довідкової системи (рис. 25). У цьому вікні на вкладці Предметний покажчик потрібно ввести ключове слово, що визначає тему, по якій потрібна довідка. Як правило, у якості ключового слова використовують перші кілька букв імені функції, процедури, властивості або методу.
Рис. 25. Пошук довідкової інформації із ключового слова
Структура проекту
Проект Delphi являє собою набір програмних одиниць – модулів. Один з модулів – головний, містить інструкції, з яких починається виконання програми. Головний модуль додатка повністю формується Delphi.
Головний модуль являє собою файл із розширенням .dpr. Для того щоб побачити текст головного модуля додатка, потрібно з меню Project вибрати команду View Source.
У лістингу ВЗ наведений текст головного модуля програми обчислення швидкості перегони.
Лістинг В3. Головний модуль додатка Швидкість бігу
program vrun;.
usesForms,vrun1 in vrunl.pas {Form1};{$R *.res}beginApplication.Initialize;Application.Createform(Tform1, Form1);Application.Run;end.Починається головний модуль словом program, за яким іде ім’я програми, що збігається з іменем проекту. Ім’я проекту задається в момент збереження проекту, і воно визначає ім’я створюваного компілятором файлу, що виконується, програми. Далі за словом uses випливають імена використовуваних модулів: бібліотечного модуля Forms і модуля форми vrunl.pas.
Рядок {$R *.RES}, яка схожа на коментар, – це директива компіляторові підключити файл ресурсів. Файл ресурсів містить ресурси додатка: піктограми, курсори, бітові образи й ін. Зірочка показує, що ім’я файлу ресурсів таке ж, як і у файлу проекту, але з розширенням res.
Файл ресурсів не «є текстовим файлом, тому переглянути його за допомогою редактора тексту не можна. Для роботи з файлами ресурсів використовують спеціальні програми, наприклад, Resource Workshop. Можна також застосовувати вхідну до складу Delphi утиліту Image Editor, доступ до якої можна одержати вибором з меню Tools команди Image Editor.
частина, що виконується, головного модуля перебуває між інструкціями begin і end. Інструкції, що виконується частини забезпечують ініціалізацію додатка й висновок на екран стартового вікна.
Крім головного модуля, кожна програма містить у собі ще як мінімум один модуль форми, який містить опис стартової форми додатка й підтримуючих її роботу процедур. В Delphi кожній формі відповідає свій модуль.
У лістингу В4 наведений текст модуля програми обчислення швидкості перегони.
Лістинг В4. Модуль програми Швидкість бігу.
unit vrun1;
interface
uses
Windows, Messages, Sysutils, Variants, Classes,
Graphics, Controls, Forms, Dialogs, Stdctrls;
type
Tform1 = class(Tform)
Edit1: Tedit;
Edit2: Tedit;
Label1: Tlabel;
Label2: Tlabel;
Label3: Tlabel;
Label4: Tlabel;
Button1: Tbutton;
Button2: Tbutton;
procedure Buttonlclick(Sender: Tobject);
procedure Button2Click(Sender: Tobject);
private
{ Private declarations } public
{ Public declarations } end;
var
Form1: Tform1;
implementation
{$R *.dfm}
// натискання кнопки Обчислити
procedure Tform1.Buttonlclick(Sender: Tobject);
var
dist: integer; // дистанція, метрів
t: real; // час як дробовий число
min: integer; // час, хвилини
sek: integer; // час, секунди
v: real;
// швидкість
begin
// одержати вихідні дані з полів уведення
dist: = Strtoint(Edit1.Text); t: = Strtofloat(Edit2.Text);
// попередні перетворення
min: = Trunc(t); // кіл-у хвилин – це ціла частина числа t
sek: = Trunc(t*100) mod 100; // кіл-у секунд – це дробова частина
// числа t
// обчислення
v: = (dist/1000) / ((min*60 + sek)/3600);
// висновок результату
label4.Caption: = Дистанція: + Edit1.Text + м + #13
+ Час: + Inttostr(min) + хв
+ Inttostr(sek) + сек + #13 +
Швидкість: + Floattostrf(v,fffixed,4.2) + км/година;
end;
// натискання кнопки Завершити
procedure Tform1.Button2Click(Sender: Tobject)
begin
Form1.Close;
end;
end.
Починається модуль словом unit, за яким іде ім’я модуля. Саме це ім’я згадується в списку використовуваних модулів в інструкції uses головного модуля додатка, текст якого наведений у лістингу ВЗ.
Модуль складається з наступних розділів:
· інтерфейсу;
· реалізації;
· ініціалізації.
Розділ інтерфейсу (починається словом interface) повідомляє компілятор, яка частина модуля є доступною для інших модулів програми. У цьому розділі перераховані (після слова uses) бібліотечні модулі, використовувані даним модулем. Також тут перебуває сформоване Delphi опис форми, який іде за словом type.
Розділ реалізації відкривається словом implementation і містить оголошення локальних змінних, процедур і функцій, що підтримують роботу форми.
Починається розділ реалізації директивою {$R *.DFM}, що вказує компіляторові, що в процесі генерації виконуваного файлу треба використовувати опис форми. Опис форми перебуває у файлі з расширеням .dfm, ім’я якого збігається з іменем модуля. Файл опису форми генерується середовищем Delphi на основі зовнішнього вигляду форми.
За директивою {$R *.DFM} випливають процедури обробки подій для форми і її компонентів. Сюди ж програміст може помістити інші процедури й функції.
Розділ ініціалізації дозволяє виконати ініціалізацію змінних модуля. Інструкції роздягнула ініціалізації розташовуються після розділу реалізації (опису всіх процедур і функцій) між begin і end. Якщо розділ ініціалізації не містить інструкцій (як у наведеному прикладі), то слово begin не вказується.
Слід зазначити, що значна кількість інструкцій модуля формує Delphi. Наприклад, Delphi, аналізуючи дії програміста по створенню форми, генерує опис класу форми (після слова type). У наведеному прикладі інструкції, набрані програмістом, виділені тлом. Очевидно, що Delphi виконала значну частину роботи зі складання тексту програми.
Збереження проекту
Проект – це набір файлів, використовуючи які компілятор створює файл програми, що виконується (Ехе-Файл). У найпростішому випадку проект складається з файлу опису проекту (Dof-Файл), файлу головного модуля (Dpr-Файл), файлу ресурсів (Res-Файл), файлу опису форми (Dfm-Файл), файлу модуля форми, у якім перебувають основний код додатка, у тому числі функції обробки подій на компонентах форми (Pas-Файл), файл конфігурації (Cfg-Файл).
Щоб зберегти проект, потрібно з меню File вибрати команду Save Project As. Якщо проект ще жодного разу не був збережений, то Delphi спочатку запропонує зберегти модуль (уміст вікна редактора коду), тому на екрані з’явиться вікно Save Unitl As. У цьому вікні (рис. 26) треба вибрати папку, призначену для файлів проекту, і ввести ім’я модуля. Після натискання кнопки Зберегти, з’являється наступне вікно (рис. 27), у якім необхідно ввести ім’я файлу проекту.
Рис. 26. Збереження модуля форми
Рис. 27. Збереження проекту
Зверніть увагу на те, імена файлів модуля (pas-файл) і проекту (dpr-файл) повинні бути різними. Ім’я генерованого компілятором файлу, що виконується, збігається з іменем проекту. Тому файлу проекту слід привласнити таке ім’я, яке, на вашу думку, повинен мати файл, що виконується, програми, а файлу модуля – яке-небудь інше ім’я, наприклад, отримане шляхом додавання до імені файлу проекту порядкового номера модуля.
Примітка. Оскільки проект являє собою набір файлів, то рекомендується для кожного проекту створювати окрему папку.
Компіляція
Компіляція – це процес перетворення вихідної програми в виконувану. Процес компіляції складається із двох етапів. На першому етапі виконується перевірка тексту програми на відсутність помилок, на другому – генерується програма, що виконується (ехе-файл).
Після введення тексту функції обробки події й збереження проекту можна з меню Project вибрати команду Compile і виконати компіляцію. Процес і результат компіляції відбиваються в діалоговім вікні Compiling (рис. 28). У це вікно компілятор виводить помилки (Errors), попереджень (warnings) і підказок (Hints). Самі повідомлення про помилки, попередження й підказки відображаються в нижній частині вікна редактора коду (рис. 29).
Рис. 28. Результат компіляції
Примітка. Якщо під час компіляції вікна Compiling на екрані не має, то виберіть із меню Tools команду Environment options і на вкладці Preferences установіть у ввімкнений стан перемикач Show compiler progr ess.
Рис. 29. Повідомлення компілятора про виявлені помилки
Помилки
Компілятор генерує виконувану програму лише в тому випадку, якщо вихідний текст не містить синтаксичних помилок. У більшості випадків у тільки що набраній програмі є помилки. Програміст повинен їх усунути.
Щоб перейти до фрагмента коду, який містить помилку, треба встановити курсор у рядок з повідомленням про помилку й з контекстного меню (рис. 30) вибрати команду Edit source.
Процес усунення помилок носить ітераційний характер. Звичайно спочатку усуваються найбільш очевидні помилки, наприклад, декларуються неоголошені змінні. Після чергового внесення змін у текст програми виконується повторна компіляція. Слід ураховувати той факт, що компілятор не завжди може точно локалізувати помилку. Тому, аналізуючи фрагмент програми, який, на думку компілятора, містить помилку, потрібно звертати увагу не тільки на той фрагмент коду, на який компілятор установив курсор, але й на той, який перебуває в попередньому рядку.
Рис. 30. Перехід до фрагмента програми, що містить помилку
У табл. 10 перераховані найбільш типові помилки й відповідні їм повідомлення компілятора.
Таблиця 10. Повідомлення компілятора про помилки.
Повідомлення | Імовірна причина |
Missing operator or semicolon (Відсутній оператор або крапка з комою) | Після інструкції не поставлена крапка з коми |
Якщо компілятор виявив досить багато помилок, то переглянете всі повідомлення, усуньте спочатку найбільш очевидні помилки й виконайте повторну компіляцію. Цілком імовірно, що після цього кількість помилок значно поменшає. Це пояснюється особливостями синтаксису мови, коли одна незначна помилка може «тягти» за собою досить велику кількість інших.
Якщо в програмі немає синтаксичних помилок, компілятор створює виконуваний файл програми. Ім’я виконуваного файлу таке ж, як і у файла проекту, а розширення –.exe. Delphi розміщує виконуваний файл у той же каталог, де перебуває файл проекту.
Запуск програми
Пробний запуск програми можна виконати безпосередньо з Delphi, не завершуючи роботу із середовищем розробки. Для цього потрібно з меню Run вибрати команду Run або клацнути на відповідній кнопці панелі інструментів Debug (рис. 31).
Рис. 31. Запуск програми із середовища розробки
Помилки часу виконання
Під час роботи додатка можуть виникати помилки, які називаються помилками часу виконання (run-time errors) або виключеннями (exceptions). У більшості випадків причинами виключень є невірні вихідні дані. Наприклад, якщо під час роботи програми обчислення швидкості перегони в поле Час увести 3.20, тобто для відділення дробової частини числа від цілої використовувати крапку, то в результаті натискання кнопки Обчислити на екрані з’явиться вікно з повідомленням про помилку (рис. 32).
Рис. 32. Приклад помилки часу виконання (програма запущена з Windows)
Причина виникнення помилки полягає в наступному. У тексті програми дробова частина числа від цілої відділяється крапкою. При введенні вихідних даних у поле редагування користувач може відокремити дробову частину числа від цілою крапкою або комою. Який із цих двох символів є припустимим, залежить від настроювання Windows.
Якщо в настроюванні Windows зазначене, що роздільник цілої й дробової частин числа – кома (для Росії це стандартна установка), а користувач під час роботи програми введе в поле редагування, наприклад, рядок 3.20, то при виконанні інструкції:
t = Strtofloat(Edit2.Text)
виникне виключення, тому що при стандартному, для Росії настроюванню Windows вміст поля Edit2 і, отже, аргумент функції strtofloat не є зображенн
| Поделиться: |
Познавательные статьи:
Последнее изменение этой страницы: 2021-12-15; просмотров: 41; Нарушение авторского права страницы; Мы поможем в написании вашей работы!
infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.130.151 (0.01 с.)