Otevřít hlavní menu

Typové konstanty pole

Verze z 9. 10. 2012, 21:56, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (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...“)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

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