Le Costanti
Se un valore è utilizzato in modo ripetuto all'interno dell'intero programma senza mai subire variazioni, è opportuno sostituirlo con un nome simbolico, definendo all'inizio del programma un identificatore di "Costante" mediante la parola chiave Const.
Il nome attribuito alla Costante può contenere caratteri alfabetici (solitamente per convenzione in maiuscolo) e numerici posti nelle modalità accettate da Gambas. [Nota 1]
Ovviamente il valore assegnato all'inizio alla Costante, non può essere variato nel corso del programma.
Essendo poste al di fuori delle routine, le Costanti hanno la qualità di essere globali [Nota 2]. Inoltre, esse possono essere Pubbliche o Private.
Esempio:
Private Const NOME_DELLA_COSTANTE As Integer = 4 ' Ora, quindi, all'interno del programma si potrà usare l'identificatore NOME_DELLA_COSTANTE al posto del numero 4 Public Sub Form_Open() Dim a As Integer a = 5 * NOME_DELLA_COSTANTE Print a End
In console sarà mostrato coerentemente il risultato: 20
Particolarità dell'uso della Costante in Gambas
Alle Costanti in taluni casi è possibile associare una variabile, una funzione o un'operazione. [Nota 3]
Il valore della Costante deve essere definito in fase di dichiarazione e non deve puntare a nessuna cosa al di fuori della dichiarazione stessa.
Pertanto, ad esempio:
Public Const NOME_COSTANTE As Integer = 1 Corretto Private Const NOME_COSTANTE As String = "aBc" Corretto Private Const NOME_COSTANTE As String = "\x0F" Corretto Private Const NOME_COSTANTE As Integer = 2108 * 1969 Corretto Public Const NOME_COSTANTE As Long = CLong(1234) ERRATO ! Private Const NOME_COSTANTE As Boolean = (Not nome_variabile) ERRATO !
La Costante in Gambas consente di sostituire la funzione Chr() con i caratteri "escape" attualmente implementati ed attivi, come i seguenti:
Carattere escape | | | Equivalente ASCII |
\t | | | Chr(9) |
\n | | | Chr(10) |
\r | | | Chr(13) |
Così, avremo ad esempio:
Private Const NOME_COSTANTE As String = "\n"
Note
[1] E' possibile utilizzare, come identificatore di Costante, il nome di una parola chiave, di una funzione oppure di un numero, purché tale nome - normalmente inutilizzabile - sia posto all'interno di due parentesi graffe.
Vedere la seguente pagina: Usare come identificatore di variabile il nome di una parola chiave o di una funzione ovvero un carattere non consentito
[2] Riguardo ai valori assegnabili alle Costanti si veda anche la pagina relativa alle Espressioni costanti.
[3] Globale: ha effetto in tutta la classe e in tutte le funzioni contenute nella stessa classe.