Typové konstanty pole: Porovnání verzí

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání
(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:
+
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.
+
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.
+
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.
+
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:
+
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