Програмування в Delphi складається в розробці процедур (підпрограм) обробки подій при розробці проектів, при цьому Delphi організовує взаємодію підпрограм.
Проект і його склад
Мал. 2.2.3. Структура проекту Delphi
Проект (програма в Delphi) - це що розробляється. Проект складається з форм, модулів, установок параметрів проекту, ресурсів і т. Д. Вся ця інформація розміщується в файлах (див. Рис. Вище), частина з яких автоматично створюється при розробці програми.
Delphi створює безліч файлів для однієї програми з різними розширеннями. Частина з них має ім'я проекту, інша - ім'я модуля. При цьому, спочатку файлів присвоюються імена Project1 і Unit1 c зазначеними в схемі розширеннями, при збереженні їх слід змінити на імена за змістом проекту, що розробляється. Файл проекту має розширення dpr і зберігає код головний програми. З його допомогою створюється об'єкт головної форми програми і забезпечується зв'язок програми з ядром Windows. Файли з розширеннями exe, res, сfg, dsk, dof мають ім'я проекту. Нехай початкове ім'я проекту Project1 збережено під ім'ям ProjecUrok1, тоді файли c зазначеними розширеннями, має такі значки файлів:
Мал. 2.2.4. Піктограми файлів проекту
Файли з розширеннями, Рис. 3. dpr - читається файл (Рис. 3.), з exe - завантажувальний (виконуваний), з res - створюється автоматично для кожного проекту, містить значок програми, її версію і інші дані. Цей файл приєднується до виконуваного файлу на етапі компонування за допомогою директиви, яка міститься в головному програмі. Файли (текстові) з розширеннями сfg, dsk, dof зберігають параметри налаштування: сfg (компіляції), dsk (проекту), dof (середовища). При внесенні до проекту змін створюються файли резервних копій, що починаються зі значка "тильда" - "
". см. значок ProjecUrok1.
Файл проекту - це головна програма, автоматично створювана Delphi і написана на мові Delphi. Вона містить завжди кілька рядків і не допускає редагування. Саме вона обробляється компілятором.
У Delphi (як і в будь-якій мові програмування) початком програмної одиниці виступає заголовок, а кінцем її записи слово end.
Структура головної програми проекту з ім'ям Project1
Виділені зарезервовані (службові) слова Program, uses, in, begin, End служать інформацією компілятору про початок і кінець обробки програми зверху вниз. При цьому End. (Т. Н. - термінатор) вказує на те, що все, розташоване за End із крапкою, ігнорується.
Після заголовка програми йдуть рядки,
Вони вказують на те, що в даній програмі будуть використані модулі Forms (відомий компілятору) і Unit1 (новий), тому вказується файл з текстом модуля in 'Unit1.pas' і ім'я пов'язаного з модулем файлу опису форми Form1.
Далі слід тіло процедури, укладену в операторні дужки (слова begin-початок і End. - кінець):
Тіло процедури - виконувані оператори зі зверненням до трьох методів об'єкта Application. Delphi автоматично створює об'єкт - програму Application для кожного нового проекту. Перший оператор виконує перехід до деякого фрагменту підпрограми Delphi, що дозволяє здійснити перехід до рядка Application. CreateForm (TForm1, Form1);
Метод CreateForm показує на екрані вікно головної форми, метод Run видає повідомлення Windows про дії користувача.
Модуль і його структура
Модуль (модулі) - автономно компилируемая програмна (і) одиниця (и) з включенням різних компонентів интерфейсного розділу. Основна робота програми відповідно до заданого алгоритму управляється кодом в модулі (модулях).
Заголовок. Визначається зарезервованим словом Unit і наступним за ним ім'ям модуля. Спочатку ім'я -Unit1, при збереженні модуля ім'я слід визначити за змістом. Якщо передбачено кілька модулів, то заголовок має вигляд - Unit <список модулей>, в якому імена розділяються комами. На першому етапі програмування в Delphi ми будемо використовувати один модуль найпростішої структур:
У разделеImplementation розташовується код програми, він може включати в себе процедуриобработкі подій (одну або кілька), процедури загального вигляду, а також процедури - функції.
End. - зарезервоване слово (ознака кінця модуля) з точкою - термінатор.
Файли модулів - мають розширення: dfm, pas, ddp, dсu. Файли з текстами модулів мають розширення pas. Відкомпільований файл машинного коду отримує розширення dсu. Файл з розширенням dfm створюється на диску після збереження модуля. У ньому зберігаються всі властивості компонентів вікна. Файл з розширенням ddp зберігає відомості про всі діаграмах вікна. Серед зазначених файлів модулів файли з розширеннями dfm і pas є для проекту найбільш важливими. Нижче представлені значки файлів модуля з ім'ям UnUrok1 і представленими вище розширеннями.
Мал. 2.2.5. Піктограми файлів модуля
У Delphi, як і вОbject Pascal, основною програмною одиницею є подпрограмма.Разлічают два види підпрограм: процедури і функції. Відмінність полягає в тому, що з ім'ям функції пов'язано значення, тому ім'я функції можна використовувати у виразах. Відповідно до заданим алгоритмом можуть використовуватися як процедури загального вигляду, так і процедури обробки подій.
Програма - послідовність рядків, де рядок може розташовуватися з будь-якої позиції екрану. Структурно програма складається з заголовка і блоку. Тема розташовується на початку програми і має вигляд:
Program <Имя программы>
Блок містить описову і виконавчу частини. В описовій частині містяться опис елементів програми, а у виконавчій частині вказуються дії над елементами програми, виконання яких повинно привести до потрібного результату. Загальний випадок описової частини містить наступні розділи:
· Опис типів даних
· Опис процедур і функцій
Кожен із зазначених розділів закінчується крапкою з комою.
· Що повторюється код програми в більшості випадків повинен бути оформлений у вигляді окремої процедури або функції.
Ø будь-який текст, укладений символами // і кінцем рядка.
Ø будь-який текст, укладений між символами в одному рядку або в - кількох рядках
Ø будь-який текст між відкривають і закривають символами мови (* .. (..) .. *), ( '..').
Елементи програми - її неподільні частини, які розпізнаються компілятором це (як і в інших мовах програмування).
Зарезервовані (службові) англійські слова. що визначають початок будь-якого дії (оператора, команди) .Онідают інформацію компілятору про призначення тієї чи іншої синтаксичної конструкції. Їх можна представити наступними групами:
· Заголовки - program, unit, procedure, function.
· Блоки опису -const, var, label, type.
· Створення нових типів - array, string, record ... end, file, file ... of.
· Операційні дужки - begin ... end.
· Оператори - if ... then ... else ...; case ... of ... end; for ... to ... do ...; for ... downto ... do ...; repeat ... until ...; while. do ...; with ... do ...
· Діректіви- export, Public, published, virtual, protected, index ... Їх список досить широкий.
· Слова зі спеціальним призначенням - at, on.
Увага. Не застосовувати препарат імена, що збігаються з зарезервованими (службовими) словами.
Імена (ідентифікатори), як відомо, імена в програмі використовуються для позначення змінних, констант, процедур, функцій, типів і самих програм. Це послідовність, що починається з латинських символів з можливістю включення цифр і знака підкреслення «_», при цьому довжина імені не обмежена (одна з можливостей сучасних ОС), але розпізнається за першим 255 символів. Перед використанням імені в програмі воно повинно бути оголошено (описано).
Константи. Можуть бути з використані у виразах, операторах програми у вигляді констант (іменовані) і константних виразів. Іменовані - оголошуються за допомогою ключового слова const і мають наступний синтаксис:
const <идентификатор константы>=<константное выражение>;
Приклад. Const S = 'Моя група' + '3-МД-10';
Або просто вираз - 234.
Примітка. Типи. Додаток 1
<список идентификаторов переменных, разделенных запятыми>: <тип>;
Вирази - рядок, що складається з послідовності операндів.
Операнди - це константи, змінні, покажчики різних дозволених в мові функцій. Тип виразу визначається типом входять до нього операндів.
· Операції над операндами в вираженні виконуються в строго визначеному порядку;
· Значення кожного операнда має певний тип;
· Значення кожного виразу має певний тип.
Вирази становлять невід'ємну частину операторів.
Delphi відрізняється великою різноманітністю різного роду функцій (математичних, статистичних, дати і часу, строкових), використовуваних в виразах, частина з яких забезпечується модулем Match. Для підключення цих функцій необхідно послатися на їх ім'я зі списком параметрів в вираженні інструкції, а в реченні Uses розробляє модуля вказати його ім'я.
Основні стандартні арифметичні функції:
ABS (аргумент) - абсолютне значення аргументу, Sqrt (аргумент) - квадратний корінь аргументу, Sqr (аргумент) -квадрат аргументу, Sin (аргумент), Cos (аргумент), Arctan (аргумент),
Exp (аргумент) - експонента аргументу, Ln (аргумент) - натуральний логарифм аргументу. Через зазначені функції можна виразити такі функції як: Tan (аргумент), ArcSin (аргумент), ArCos (аргумент), Loga (аргумент). Крім стандартних функцій Delphi забезпечує безліччю інших функцій, таких як функції перетворення: Trunc (n) - ціла частина від n, Frac (n) - дрібна частина речового n, Int (n) - ціла частина дійсного n, Round (n) - ціле , найближчим до n, Random () ...
Chr (n) - символ ANSI з номером n, IntToStr (n) - рядок, що є зображенням цілого n, FloatToStr (n) - рядок, що є зображенням речового n, StrToInt (s) - ціле, зображенням якого є рядок s, StrTofloat ( s) - речовий, зображенням якого є рядок s, FloatToStrF (n) -вещественное число в рядок з форматуванням.
Функції дати і часу. YearsBetween, YearSpan повертають число років між двома значеннями дати і часу.
Chr (n) - символ ANSI з номером n, IntToStr (n) - рядок, що є зображенням цілого n, FloatToStr (n) - рядок, що є зображенням речового n, StrToInt (s) - ціле, зображенням якого є багаторазовим рядок s, StrTofloat ( s) - речовий, зображенням якого є рядок s, Round (n) - ціле, найближчим до n. Trunc (n) - ціла частина від n, Frac (n) - дрібна частина речового n, Int (n) - ціла частина дійсного n.
Оператори відносини - -. =,>,> =, <, <=, <>.Boolean.
Оператори рядків. Для рядків застосовні також оператори відносин. Два рядки можуть бути з'єднані знаком «+». Тип результату String.
@, Not, ^ (унарні), *, /, div, mod, and, sh1 (зрушення наліво), shr (зрушення направо), as, +, -, or, xor, =,>,> =, <, <=, <>, in, is
присвоювання - <имя>: =<выражение>; Як ім'я може виступати ім'я змінної, елемент масиву, ім'я процедури-функції.
Умовного переходу - if;
Оператор вибору - Case;
Оператори циклу: While; Repeat; For.