Константы-массивы

В качестве начального значения типизированной константы-массива используется список констант, отделенных друг от друга запятыми; список заключается в круглые скобки, например:

type
colors = (white, red, black);
const
ColStr: array [colors] of String [5] =('white', 'red', 'blak');
Vector: array [1..5] of Byte = (0,0,0,0,0);

При объявлении массива символов можно использовать то обстоятельство, что все символьные массивы и строки в Object Pascal хранятся в упакованном формате, поэтому в качестве значения массива-константы типа char допускается задание символьной строки соответствующей длины. Два следующих объявления идентичны:

const
Digit: array [0..9] of Char = ('0', '1', '2', ' 3 ', ' 4', '5', '6', '7', '8', '9');
DigChr: array [0..9] of Char = '0123456789';

При объявлении многомерных констант-массивов множество констант, соответствующих каждому измерению, заключается в дополнительные круглые скобки и отделяется от соседнего множества запятыми. В результате образуются вложенные структуры множеств, причем глубина вложения должна соответствовать количеству измерений (размерности) массива. Самые внутренние множества констант связываются с изменением самого правого индекса массива.

Следующая программа выведет в компонент mmoutput три строки с монотонно увеличивающимися целыми числами:

Procedure TfmExample.bbRunClick(Sender: TObject);
var
i, j, k, 1: Byte;
S: String;
const
Matr: array [1..3, 1..5] of Byte = (0, 1, 2, 3, 4), (5, 6, 7, 8, 9), (10,11,12,13,14));
Cube: array [0..1, 0..1, 0..2] of Integer = (((О,1,2),(3,4,5)), ((6,7,8),(9,10,11)));
Mas4: array [0..1, 0..1, 0..1, 0..1] of Word = ((((О,1),(2,3)), ((4,5), (6,7))), (((8,9), (10,11)), ((12,13), (14,15))));


begin
S:=' ';
for i:= I to 3 do for j:= 1 to 5 do
S:= S + IntToStr(Matr[i,j]) +' ';
mmOutput.Lines.Add(S);
S: = '';
for i:= 0 to 1 do for j:= 0 to 1 do
for k:= 0 to 2 do
S:= S + IntToStr(Matr[i,j,k]) +' ';
mmOutput.Lines.Add(S);
S:=''; for i:= 0 to 1 do
for j:= 0 to 1 do
for k:= 0 to 1 do
for l:= 0 to 1 do
S:= S + IntToStr(mas4[i,j,k,l]:3);
mmOutput.Lines.Add(S);
end;

Количество переменных в списке констант должно строго соответствовать объявленной длине массива по каждому измерению.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: