снюється за номером (або індексом). Всі елементи масиву мають однаковий тип.
Опис масиву має вигляд:
type імя_тіпа_массіва=array [діапазон] of тіп_елемента;
Діапазон визначає нижню і верхню межі масиву і, отже, кількість елементів у ньому. При зверненні до масиву індекс повинен лежати в межах цього діапазону. Масив зі ста елементів цілого типу описується так:
type TMyArray=array [1 .. 100] of Integer;
Тепер можна описати змінні типу TMyArray:
var A, B: TMyArray;
Замість присвоєння типу можна явно описати змінні як масиви:
var A, B: array [1..100] of Integer;
Для доступу до елементу масиву потрібно вказати ім'я масиву та індекс елемента в квадратних дужках. В якості індексу може виступати число, ідентифікатор або вираз, значення яких має укладатися в діапазон, заданий при описі масиву:
var N: Integer;
N:=65;
A [5]:=101;
A [N]:=165;
A [N + 3]:=200;
B:=A ;;
Іноді потрібно дізнатися верхню чи нижню межу масиву. Для цього служать вбудовані функції:
High () - поверне число, що є верхньою межею масиву;
Low () - поверне число, що є нижньою межею масиву.
У дужки потрібно підставити масив, межі якого потрібно дізнатися.
Вираз B:=A означає, що кожен елемент масиву B буде дорівнює елементу з таким же індексом масиву A. Таке привласнення можливо тільки якщо обидва масиви оголошені через якийсь пойменований тип, або перераховані в одному списку. І у випадку:
var A: array [1..100] of String;
B: array [1..100] of String;
його використовувати неможливо (але можливо поелементне привласнення B [1]:=A [2]; і т.д.).
Масиви можуть мати кілька вимірів, що перераховуються через кому. Наприклад, таблицю з чотирьох стовпців і трьох рядків:
1 2 3 4 5 6 7 8 9 10 11 12
можна описати у вигляді масиву з двома вимірами:
type MyTable=array [1..4, 1..3] of Integer;
var X: MyTable;
Y: Integer;
begin
Y:=X [3, 2];
end;
Тепер в результаті операції присвоєння Y дорівнюватиме 7.
Багатомірний, наприклад, двовимірний масив можна описати як масив масивів:
type TMyArray=array [1 .. 4] of array [1 .. 3] of Integer;
Результат буде аналогічний попередньому прикладу.
Кожен вимір багатовимірного масиву може мати свій власний тип, не обов'язково цілий.
Крім вищеописаних, так званих статичних масивів, у яких кількість елементів незмінно, в Delphi можна використовувати динамічні масиви, кількість елементів у яких допускається змінювати в залежності від вимог програми. Це дозволяє економити ресурси комп'ютера, хоча робота з такими масивами відбувається набагато повільніше. Описуються динамічні масиви аналогічно статичним, але без вказівки діапазону індексів:
type TDinArray=array of Integer;
var A: TDinArray;
Після створення в динамічному масиві немає жодного елемента. Необхідний розмір задається в програмі спеціальною процедурою SetLength. Масив зі ста елементів:
begin
SetLength (A, 100);
end;
Нижня межа динамічного масиву завжди дорівнює нулю. Тому індекс масиву A може змінюватися від 0 до 99.
Багатовимірні динамічні масиви описуються саме як масиви масивів.
Щоб звільнити пам'ять, виділену динамічному масиву, потрібно масиву як цілому привласнити значення nil:
A:=nil;
Ключове слово nil в Delphi означає відсутність значення.
Записи дуже важливий і зручний інструмент. Навіть не застосовуючи спеціальні технології, з його допомогою можна створювати власні бази даних. Записи - це структура даних, кожен елемент якої має власне ім'я і тип даних. Елемент записи інакше називають поле. Опис записі має вигляд:
type імя_тіпа_запісі=record
н...