Typové konstanty pole: Porovnání verzí
(Vytvorená stránka „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, P...“) |
|||
Řádek 15: | Řádek 15: | ||
;Znaková pole | ;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 | const | ||
Řádek 24: | Řádek 24: | ||
const | const | ||
Cislice: array[0..9] of Char = '0123456789'; | Cislice: array[0..9] of Char = '0123456789'; | ||
+ | |||
;Znaková pole ukončená nulou | ;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: | ;Například: | ||
Řádek 38: | Řádek 39: | ||
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. | 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 | ||
− | + | 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: | ;Například, deklarace: | ||
Řádek 51: | Řádek 53: | ||
Labyrint: Kostka = (((0, 1), (2, 3)), ((4, 5), (6, 7))); | Labyrint: Kostka = (((0, 1), (2, 3)), ((4, 5), (6, 7))); | ||
− | + | poskytuje poli Labyrint tyto hodnoty: | |
Labyrint[0, 0, 0] = 0 | Labyrint[0, 0, 0] = 0 | ||
Labyrint[0, 0, 1] = 1 | Labyrint[0, 0, 1] = 1 |
Aktuální verze z 9. 10. 2012, 21:57
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