Přidáno 2 049 bajtů,
9. 10. 2012, 21:56 Deklarace konstanty typu array určuje hodnoty složek.
Prvek konstantního pole může být libovolný typ kromě typu souboru.
;Příklad
type
Stav = (Aktivni, Pasivni, Cekajici);
StavMap = array[Stav] of string[7];
const
StavStr: StavMap = ('Aktivni', 'Pasivni', 'Cekajici');
{ Prvky pole StavStr jsou:
StavStr[Aktivni] = 'Aktivni'
StavStr[Pasivni] = 'Pasivni'
StavStr[Cekajici] = 'Cekajici' }
;Znaková pole
:Konstanty typu pakovaného řetězce mohou být určeny buď ve tvaru jednotlivých znaků nebo jako řetězec. Například, tato definice:
const
Cislice: array[0..9] of Char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
může být vhodněji vyjádřena jako:
const
Cislice: array[0..9] of Char = '0123456789';
;Znaková pole ukončená nulou
:Znakové pole ukončené nulou je takové, kde první prvek pole je 0 a poslední prvek je kladné nenulové celé číslo.
;Například:
array[0..X] of Char
Pokud povolíte rozšířenou syntaxi (s direktivou překladače {[[$X+]]}, znaková pole ukončená nulou mohou být inicializována řetězcem, který je kratší než deklarovaná délka pole.
const
JmenoSouboru = array[0..79] of Char = 'TEST.PAS';
Když řetězec je kratší než délka pole, zbývající znaky jsou nastaveny do hodnoty NULL (#0) a pole skutečně obsahuje nulou ukončený řetězec.
;Konstantní vícerozměrná pole
:Konstantní vícerozměrná pole mají při definici hodnoty každého rozměru uzavřené ve zvláštním páru závorek, oddělených čárkami.
:Nejvnitřnější úroveň odpovídá posledním (pravému) rozměru.
;Například, deklarace:
type
Kostka = array[0..1, 0..1, 0..1] of Integer;
const
Labyrint: Kostka = (((0, 1), (2, 3)), ((4, 5), (6, 7)));
:poskytuje poli Labyrint tyto hodnoty:
Labyrint[0, 0, 0] = 0
Labyrint[0, 0, 1] = 1
Labyrint[0, 1, 0] = 2
Labyrint[0, 1, 1] = 3
Labyrint[1, 0, 0] = 4
Labyrint[1, 0, 1] = 5
Labyrint[1, 1, 0] = 6
Labyrint[1, 1, 1] = 7
[[Category:Typové konstanty]]