Ініціалізація масиву (присвоєння початкових значень компонентам масиву) може здійснюватись двома шляхами:
Перший – послідовне присвоєння елементам масиву відповідних значень.
A[3]:=5;
B[10,20]:=3.5;
Другий – з використанням типізованих констант
Наприклад:
type ar = array [1..10] of real;
const
ab : ar = (1, 4.6, 3.3, 1.6, 5.5, 3.2, 0, 444.5, 0.23, 1024.2 );
Двовимірні масиви зберігаються у пам’яті ЕОМ по рядкам.
Індекс(и) масиву – число або вираз. Тип у індексу може бути переліковим, інтервальним, цілим, булевським та символьним.
Наприклад:
Type
S1 = 1..100;
S2 = ( left, right, back, forward );
Var
A : array [1..100] of real;
B : array [s1,s2] of integer;
C : array [s2] of char;
СС : array [s2] of char;
D : array ['a'..'z'] of integer;
У операторній (алгоритмічній) частині програми один масив може бути присвоєний іншому, якщо їх типи та розмірність є ідентичною. Наприклад, у нашому випадку:
C := CC;
Кожен елемент масиву можна використовувати як окрему змінну типу, який вказаний при описі масиву.
Рядки
Особливе місце у Delphi займають масиви символів, або рядки – String. Стандартні змінні елементів форми, що використовуються для введення чи виведення інформації, такі як Label.Caption, Form.Caption, Edit.Text, Button.Caption та інші мають рядковий тип.
Символьний рядок може бути або рядковою константою, або рядковою змінною. Рядкова константа, або рядок, є сукупністю символів, обмеженою апострофами. Рядок – елементарна конструкція мови Delphi Pascal.
Рядкові константи можуть входити до складу виразів. Як і числові константи, вони можуть бути описаними у блоці опису констант.
Наприклад, якщо рядок міститиме не більше за 50 символів, то його тип буде визначений, як
Type
S : string [50];
Довжина рядку не може перевищувати 255 символів. Тому, якщо ми не вказуємо максимальну довжину, то вона автоматично вважається 255. Тобто при описі
Type
S : string [255];
AS : string ;
типи S та AS будуть повністю ідентичними.
Якщо розмір текстового рядку при присвоєнні перевищує допустиму описану кількість символів для даної змінної, то Delphi збереже тільки стільки перших символів рядку, яка кількість вказана при описі змінної (типу).
Особливістю змінних типу String є те, що до них можна звертатись, як до скалярних змінних, так і як до масивів. Наприклад:
var
SA,S: string;
…
begin
…
S := ’Перша спроба’;
SA := ‘роботи з Delphi’;
SA := S+SA;
…
S[2] := ’a’;
S[3] := SA[5];
…
Зазначимо, що при використанні рядкової змінної, як масиву символів, нижня границя індексу дорівнює 1. Крім того 0-й елемент рядку містить інформацію про довжину всього рядка у вигляді конструкції #N, де N – число у діапазоні від 0 до 255.