Функції delphi: опис, можливості, поради та рекомендації

Delphi - це власне середовище розробки (IDE) для Pascal у Windows. Вона реалізує об`єктно-орієнтовану версію мови. Середовище розробки базується на графічному інтерфейсі, пов`язаного з редактором вихідного коду функції Delphi. Мова програмування завоював популярність завдяки простоті використання при розробці графічних додатків і програм, пов`язаних з базою даних.

Масиви-основа програмування

Borland Software Corporation у 1995 році випустила наступника Turbo Pascal-Delphi, інтегрованого середовища розробки, що використовує власний діалект Object Pascal для полегшення програм Windows. У порівнянні з IDE, функції Delphi мали безпрецедентну підтримку баз даних, створюючи багатовимірне середовище, що дозволяє програмістам писати код швидше і з меншою кількістю помилок, ніж будь-коли раніше.

Мова була універсальним засобом для розробки додатків, включаючи редактор коду, візуальний дизайнер, який підтримував крос-платформну розробку, інтегрований налагоджувач, механізм управління та підтримку сторонніх плагінів. Редактор коду запропонував розробникам нові функції Delphi: аналіз помилок і рефакторинг.

Спочатку масив у програмі Delphi був статичним. Це означало, що його розмір повинен був бути відомим під час написання коду.

Масиви-основа програмування

У четвертій версії до мови були додані нові функції Delphi-динамічні масиви, які відрізнялися за розміром. Розробнику не потрібно було оголошувати розмір при написанні коду, і він міг програмно змінювати його, створюючи посилання, і, фактично, не виділяючи пам`ять для вмісту.

В останній версії, перш ніж розміщувати дані, встановлюють довжину за допомогою зручної процедури SetLength. Тепер, коли довжина встановлена, присвоюють значення, аналогічно тому, як це виконується зі статичним масивом функції Delphi. При цьому динамічні індексуються нулем.

Якщо в ході роботи програми потрібно змінити розмір - зі статичними масивами це просто неможливо, а з динамічними-легко реалізується. Для цього викликають SetLength і використовують знову виділені елементи в масиві. Після того як розмір змінений, оригінальні елементи як і раніше знаходяться в ньому і ніякі дані не будуть втрачені.

Статистичні та динамічні масиви

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

Статистичні & amp; динамічні масиви

Динамічний масив-це запис, що містить інформацію про нього, включаючи розмір, кількість елементів і покажчик на статичний. Коли викликається SetLength, відбувається кілька процесів:

  1. Поле розміру оновлюється.
  2. Новий (внутрішній) статичний масив функції Delphi 7 виділяється з новим розміром.
  3. Елементи старого статичного копіюються в новий.
  4. Покажчик статичного змінюється на новий.

Якщо в поточній позиції внутрішнього статичного масиву достатньо місця для перерозподілу, і існує одна змінна, що посилається на масив, відбувається лише Крок № 1. Все це реалізується кожен раз, коли змінюють його довжину.

Якщо є інші змінні, які посилаються на той самий масив, Старий статичний не буде видалений. Всякий раз, коли змінюється розмір динамічного масиву, він буде скопійований, що означає перебір в пам`яті. Час, який потрібно, пропорційний розміру, наприклад, копіювання з 20 елементів займає більше часу, ніж з 10.

Рядкові оператори

Рядкові оператори

Подібно до будь-якої мови програмування, в Delphi змінні виконують функцію заповнювача, що використовується для зберігання значення. Змінну, що містить конкретний масив символів оголошують типом String. Delphi має якісний асортимент рядкових операторів, функцій та процедур.

Перед призначенням даних String змінної потрібно знати чотири рядкових типу. Короткий рядок функції Delphi-Shortstring. Це підрахований масив (ASCII) символів, що містить до 255 знаків в рядку. Перший байт цього масиву зберігає довжину. Цей принцип функціонування був основним в Delphi 1 (16-бітний Delphi) і створював змінну з ім`ям small, максимальна довжина якої становила 50 символів.

Рядкові оператори

Коли присвоюють значення змінної Short String, рядок усікається. Особливо якщо вона перевищує максимальну довжину цього типу.

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

  1. Ціле число-це цілі числа, наприклад, 42 або -5.
  2. Одинарне або подвійне-використовуються, як тип з комами, наприклад, 3,3.

Операції можуть бути застосовані до числових змінних:

  • складання;
  • віднімання;
  • множення;
  • модуль - може бути застосований тільки до цілого числа;
  • char-використовується, щоб містити один символ, наприклад, m;
  • рядок-використовується, щоб містити пропозиції, наприклад, Hello world;
  • логічні значення-True і False.

Щоб об`єднати 2 рядки символів, використовують оператор»+". Приклад: Hello + world буде реалізовано, як Hello world.

Змінні та константи

Параметр представляє інформацію та робить виклик функції Delphi у процедурі. Змінна-це частина даних, оголошена всередині функції і доступна виключно в ній. Це локальне значення, змінюють так, як потрібно розробнику. Існують глобальні змінні, доступні по всьому dpr та проекту. Їх слід використовувати лише у виняткових випадках.

При використанні змінної, її оголошують у всіх файлах, де вона використовується. Тільки змінні, передані як параметр Delphi функції та процедури, не оголошуються в тій, де вони застосовуються. Для оголошення використовують ключове слово var. Вони можуть бути оголошені в .DPR або в процедурах файлів .pas.

Компонент Tdbgrid Delphi є однією з перлин VCL. Розроблений таким чином, щоб дозволити користувачеві переглядати і редагувати дані в табличній сітці, він надає різні способи налаштування способу подання даних. Наприклад, додавання кольору до сіток бази даних покращить зовнішній вигляд та розмежує важливість певних рядків або стовпців у БД.

Delphi файли

Delphi складається з одиниць, відповідних вихідних файлів та індексних карток (форм), які визначають графічні інтерфейси. Таблиця різних файлів, які може знадобитися змінити, а також їх призначення.

Розширення файлу

Опис

.DCR

Файл проекту

.DFM

Креслення форми, що містить властивості графічних компонентів

.dpr

Файл проекту-це серце програми, пов`язує всі різні файли, що містять код (.pas) з .DPR з функцією дати Delphi

.PAS

Оригінальний файл, що містить код програми

.bdsproj

Файл проекту, пов`язаний з .DPR

.RC

Файл ресурсів Windows

Таблиця файлів, генерованих після компіляції.

Розширення файлу

Опис

.BPG

Файл проектної групи.

.dcu

Файл, створений під час компіляції, але не обов`язковий.

.dpk

Оригінальний файл пакета.

.dof

Файл параметрів проекту.

.dsk

Перевага IDE.

.RES

Файл ресурсів Windows, він може містити піктограми, растрові зображення, звуки.

Функція Pos

Функція POS Delphi повертає ціле число, що вказує позицію першого входження одного рядка в інший. Це створюється наступним чином. Pos шукає перше повне входження зазначеного рядка. Зазвичай пропонується в одинарних лапках у джерелі. Джерелом є деяка змінна.

Якщо Pos знаходить рядок, він повертає позицію символу в Source, А першого символу в Str, як цілочисельного значення, в іншому випадку функція Delphi повертає 0. String і Source будуть рядками. Старомодна функція Pos - найбільш поширений спосіб пошуку і завжди розташована на початку.

Оновлена функція Pos допомагає вирішити цю проблему. Вона шукає рядок s1 у s2 і повертає її позицію, як це робить Старий Pos. Крім того, можна визначити початкову позицію і максимальну довжину для пошуку.

Функція Pos

Імпорт бібліотечних функцій

Для імпорту підпрограм бібліотеки (.DLL) приєднують директиву у вигляді: externalstringConstant, по-закінченню заголовка функцій і процедур, де string Constant-ім`я бібліотечного файлу в лапках. Є можливість імпортувати підпрограму з іншою назвою. Для цього вказують оригінальне ім`я у зовнішній директиві:

External stringConstant1, namestringConstant2.

Де перший string Constant вказує ім`я бібліотечного файлу, а другий-оригінальне ім`я підпрограми. Наступний оператор виконує імпорт функції з user32.dll. Оригінальна назва функції-MessageBoxA. Замість імені можна використовувати номер, щоб ідентифікувати підпрограму для імпорту:

externalstringConstantindexintegerConstant.

Де integerConstant Індекс підпрограми в експортній таблиці.

У декларації імпорту обов`язково слідують точному позначенню і регістру назви підпрограми. Однак, як тільки процедура імпортується, різниці між ними більше немає.

Приклад створення одновимірного масиву

Припустимо, потрібно сформувати 3 одновимірних масиву для 50 членів товариства розробників програмне забезпечення. 1 - й масив-імена, 2 - й-електронна пошта, а 3-й-число завантажень.

Будь-який з них має індекси і код, щоб підтримувати всі 3 переліку синхронно. Природно, можна спробувати з одним масивом. Для цього необхідні рядки Імен і адрес пошти, і ціле число завантажень.

Наприклад, наступне оголошення організовує тип запису з ім`ям REMember, який можна застосовувати в цьому випадку.

тип запису з Ім`ям REMember

По суті, конструкція даних запису має можливість перемішувати всілякі інтегровані типи Delphi, включаючи створені. Записи обумовлюють фіксовані колекції компонентів різних типів. Будь-який елемент схожий на змінну з імені І типу.

Тип функції Delphi Member охоплює 3 поля: Рядкове значення Name, eMail і ціле число Posts. Надалі того, як буде встановлений тип запису, можна оголосити змінну Member. Вона не виділяє пам`яті для Імен, eMail і Posts. Для того щоб практично створити запис Member, оголошують її змінну.

Приклад створення одновимірного масиву

Використання компонентів OnMouseOver

Код для подій OnMouseMove створюють з компонентом TDBGrid, щоб можна було знайти рядки і стовпці DBGrid (комірки) в місці наведення курсора миші. Якщо він розташований над сіткою, то спрацьовує обробник події OnMouseMove. Тоді використовують метод MoveBy компонента DataSet, щоб встановити відображається поточний запис.

Використання компонентів OnMouseOver

Рівнозначний код використовують для того, щоб продемонструвати місце, де знаходиться курсор миші, і поміняти його, коли він розташований над рядком заголовка. Задля правильній установці активної записи потрібно "зламавши" DBGrid і отримати доступ до захищеного властивості Row. Рядки властивостей tcustomdbgrid компонента містять посилання на поточні активні рядки.

Багато компонентів мають корисні властивості та методи, позначені як невидимі або захищені розробниками Delphi. Доступ до таких елементів забезпечується застосуванням простої техніки, званої " захищений злом».

Цей код, Наводячи курсор миші на сітку, вибирає запис, що відображається в сітці «під» курсором. При цьому не потрібно натискати на сітку, щоб змінити існуючу запис. Ondrawcolumncell подія використовується для обробки необхідності настроюваної графіки для даних в осередках.

Скиннинг Delphi Applications

Ці компоненти змінюють зовнішній вигляд додатків, додаючи теми та оболонки. Це простий спосіб покращити графічний інтерфейс користувача (GUI). VCLSkin-легкий у використанні компонент для створення графічного інтерфейсу програми Delphi. VCLSkin створить тему або обкладинку для нього без будь-яких змін вихідного коду.

Бібліотека DynamicSkinForm VCL забезпечує підтримку обкладинок для форм, меню, підказок, а також багатьох стандартних і нестандартних оригінальних елементів управління.

У скінів є багато об`єктів і ефектів для крутих додатків, таких як WinAmp і iTunes. Спеціальний редактор дозволяє користувачеві налаштовувати скіни. SkinAdapter є компонентом DynamicSkinForm, який дозволяє створювати скіни додатків без зміни вихідного коду.

SUISkin пропонує автоматичну програму з підтримкою скінів. З ним модифікацій для існуючих проектів не потрібно. Просто перетягують компонент движка скіна на основну форму і встановлюють деякі властивості. Він буде автоматично обробляти всі форми і діалоги. Файли скінів можуть бути скомпільовані в EXE-файл. Під час виконання можна легко перемикати або вимикати їх.

Пакет розробки інтерфейсу App Face-це рішення для створення візуальних графічних інтерфейсів додатків, які можна використовувати у VC, VB.Net, Delphi, Visual Basic, C ++ Builder та Win32 SDK. Він включає в себе управління скінами, засіб створення візуальних скінів, прикладів вихідного коду, а також технічного керівництво. Бібліотека appface.dll, є компонентом ядра і може автоматично обробити всі створені вікна в цільовому додатку.

Переваги середовища програмування

Функції Delphi

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

Підстави чому досі використовують Delphi:

  1. Чіткий синтаксис, що робить код максимально читабельним.
  2. Механізм перетягування для реалізації, що дозволяє швидко створювати програмне забезпечення GUI.
  3. Підтримка баз даних SQL.
  4. Підтримує весь Windows API.
  5. Повно-об`єктно-орієнтоване програмування.
  6. Сумісний з C ++.
  7. Високо адаптоване середовище VCL.
  8. Потрібне мінімальне обслуговування додатків.

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

Статті на тему