Новини високих технологій
» » Функції Delphi: опис, можливості, поради та рекомендації

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

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

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

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

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

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

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

Поле розміру оновлюється. Новий (внутрішній) статичний масив функції Delphi 7 виділяється з новим розміром. Елементи старого статичного копіюються в новий. Покажчик статичного змінюється на новий. Якщо в поточній позиції внутрішнього статичного масиву достатньо місця для перерозподілу, і існує одна змінна посилається на масив, відбувається тільки крок № 1. Все це реалізується кожного разу, коли змінюють його довжину. Якщо є інші змінні, які посилаються на той же масив, старий статичний не буде видалений. Всякий раз, коли змінюється розмір динамічного масиву, він буде скопійований, що означає перебір в пам'яті. Час, який потрібен, пропорційно розміру, наприклад, копіювання 20 елементів займає більше часу, ніж з 10.

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

Подібно будь-якій мові програмування, у Delphi змінні виконують функцію заповнювача, використовуваного для зберігання значень. Змінну, що містить конкретний масив символів оголошують типу String. Delphi має якісний асортимент строкових операторів, функцій та процедур. Перед призначенням даних String змінної потрібно знати чотири строкових типу. Коротка рядок функції Delphi - Shortstring. Це підрахований масив (ASCII) символів, що містить до 255 символів в рядку. Перший байт цього масиву зберігає довжину. Цей принцип функціонування був основним в Delphi 1 (16-бітний Delphi) і створював змінну з ім'ям small, максимальна довжина якої складала 50 символів.
Коли присвоюють значення змінної Short String, рядок скорочується. Особливо якщо вона перевищує максимальну довжину цього типу. Змінні та їх тип повинні бути оголошені перед використанням. Тип змінної повинен бути обраний таким, який буде містити змінну: Ціле число - це цілі числа, наприклад, 42 або -5. Одинарне або подвійне - використовуються, як тип з комами, наприклад, 33. Операції можуть бути застосовані до числових змінних: додавання; віднімання; множення; модуль - може бути застосований тільки до цілого числа; 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. Крім того, можна визначити початкову позицію і максимальну довжину для пошуку.

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

Для імпорту підпрограм бібліотеки.DLL) приєднують директиву у вигляді: externalstringConstant, по-закінченню заголовка функцій і процедур, де string Constant - ім'я бібліотечного файлу в лапках. Є можливість імпортувати підпрограму з іншою назвою. Для цього вказують оригінальне ім'я у зовнішній директиві:
External stringConstant1 namestringConstant2. Де перший string Constant вказує ім'я бібліотечного файлу, а другий є вихідним ім'ям підпрограми. Наступний оператор виконує імпорт функції з user32.dll. Первісне ім'я функції - MessageBoxA. Замість імені можна використати номер, щоб ідентифікувати підпрограму для імпорту: externalstringConstantindexintegerconstant. Де integerConstant індекс підпрограми в експортній таблиці. У декларації імпорту обов'язково слідують точному позначенню і регістру назви підпрограми. Однак як тільки процедура імпортується, більше немає різниці між ними.

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

Припустимо, потрібно сформувати 3 одновимірних масивів 50 членів суспільства розробників програмного забезпечення. 1-й масив - імена, 2-й - електронна пошта, а 3-ї - число завантажень. Будь-який з них має індекси і код, щоб підтримувати всі 3 переліку синхронно. Природно, можна спробувати з одним масивом. Для цього необхідні рядки імен і адрес електронної пошти, і ціле число завантажень. Наприклад, подальше оголошення організовує тип запису з ім'ям REMember, який можна застосовувати в цьому випадку.
По суті, конструкція даних запису має можливість перемішувати всілякі інтегровані типи Delphi, включаючи створені. Записи обумовлюють фіксовані колекції компонентів різних типів. Будь-який елемент схожий на змінну з імені та типу. Тип функції Delphi Member охоплює 3 поля: рядкове значення Name, eMail і ціле число Posts. У наслідку того, як буде встановлено тип запису, можна оголосити змінну Member. Вона не виділяє пам'яті для імен, eMail і Posts. Для того щоб практично створити запис Member, оголошують її змінну.

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

Код для подій onmousemove створюють з компонентом TDBGrid, щоб можна було знайти рядки і стовпці DBGrid (осередку) в місці наведення курсору миші. Якщо він розташований над сіткою, то спрацьовує обробник події onmousemove. Тоді використовують метод MoveBy DataSet компонента, щоб встановити відображається поточний запис.
Рівнозначний код використовують для того, щоб продемонструвати місце, де знаходиться курсор миші, і поміняти його, коли він розташований над рядком заголовка. Для правильної установки активної запису потрібно "зламати" 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: Чіткий синтаксис, що робить код максимально читабельним. Механізм перетягування для реалізації, що дозволяє швидко створювати програмне забезпечення GUI. Підтримка баз даних SQL. Підтримує весь Windows API. Повно-об'єктно-орієнтоване програмування. Сумісний з C ++. Сильно адаптивна середовище VCL. Потрібно мінімальне обслуговування додатків. Під час свого апогею, величезне співтовариство, розробило масу високоякісного програмного продукту у вигляді компонентів з процедурами та функціями Delphi, багато з яких повністю безкоштовні і з відкритим вихідним кодом. Сьогодні все це працює, тільки з однією проблемою - браком досвідчених програмістів на Delphi.
Цікаво по темі
Огляд програм для розробки під Android
Огляд програм для розробки під Android
Розробка мобільних додатків є одним з найбільш перспективних напрямків 21 століття. Якщо ще 10 років тому для цього доводилося вступати у вищі
Типи даних в "Сі". Програмування на мові Сі"
Типи даних в "Сі". Програмування на мові Сі"
Типи даних в Сі - клас даних, значення яких мають схожі характеристики. Тип визначає внутрішнє подання даних у пам'яті. Основні типи даних: логічний,
Приклади застосування методу JavaScript length
Приклади застосування методу JavaScript length
Довжина рядка, числа або іншого елемента скрипта має істотне значення. Особливістю підходу мови jаvascript до поняття довжини є можливість
Функція strpos в PHP: визначення позиції підрядка
Функція strpos в PHP: визначення позиції підрядка
Пошук входження підрядка в рядок за допомогою функції PHP strpos(). Типи вхідних і вихідних параметрів, приклади і тонкощі використання. Схожі
Javascript Array для збереження необмеженої кількості змінних
Javascript Array для збереження необмеженої кількості змінних
Логічно масив займає проміжне положення між змінними і об'єктами. Практично не слід надавати особливого значення словам. У програмі є змінні і код.