Come in molti altri linguaggi anche in Object Pascal possono essere definite delle
costanti. Alcune costanti sono definite dal linguagio stesso, come abbiamo visto per le
costanti true, false e nil altre sono, diciamo per natura,
costanti come i numerali e i letterali stringa, per esempio 'Hello World!'. Esistono due
tipi di costanti in Object Pascal, le costanti vere e quelle con tipo.
Una costante vera è un identificatore il cui valore, dichiarato al momento della
dichiarazione della costante, non può cambiare. Il tipo della costante, viene definito
automaticamente dall'espressione presente alla destra dell'operatore "=".
Const Retry = 5;
Per dichiarare una costante occorre specificare un nome di identificatore valido dopo
la parola chiave Const, seguito dal segno di uguale ed una espressione
costante che ne identifica il valore. Per espressione costante si intende una espressione
valutabile dal compilatore senza bisogno di eseguire il programma. Sono espressioni
costanti i numerali, le stringhe di caratteri, le costanti vere, i valori di tipi
enumerati, le costanti speciali ed espressioni costruite con questi elementi. Ovviamente
non possono comparire in questo tipo di espressioni delle variabili od altri elementi non
calcolabili senza eseguire il programma. Sono invece ammesse le seguenti funzioni
predefinite:
Abs, Exp, Length, Ord, Sqr, Addr, Frac, Ln, Pred, Sqrt, ArcTan, Hi, Lo, Round, Succ,
Chr, High, Low, Sin, Swap, Cos, Init, odd, sizeOf, trunc.
Le costanti con tipo si comportano in maniera differente dalle variabili
vere. Queste possono contenere elementi come array, record, procedurali, pointer. Con
le impostazioni standard, il compilatore permette di assegnare alle costanti con tipo
valori nuovi in fase di esecuzione del programma. Questo comportamento può essere
modificato con la direttiva del compilatore {$J-}, per disattivarlo, {$J+}
per riattivarlo. Una costante con tipo può essere dichiarata come segue
Const NomeCostante : Tipo = Valore;