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 " [Nota 1] mediante la parola chiave Const.
Indice
Dichiarazione della Costante simbolica
La dichiarazione di una Costante simbolica avviene al di fuori delle routine e coincide con la sua inizializzazione.
Può essere dichiarata come "Privata" o "Pubblica".
La Costante è identificata con un nome simbolico che può essere costituito da caratteri alfabetici (solitamente per convenzione in maiuscolo) e numerici posti nelle modalità accettate da Gambas. [Nota 2]
La dichiarazione termina con la definizione del tipo di dato a cui il valore della Costante appartiene e con l'assegnazione di un valore coerente con il tipo di dato dichiarato.
Pertanto la sintassi è:
[Private][Public] Const NOME_DELLA_COSTANTE As Tipo_di_dato = valore
Essendo poste al di fuori delle routine, le Costanti hanno la qualità di essere globali [Nota 3].
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
Ovviamente il valore, assegnato all'inizio alla Costante, non può essere variato nel corso del programma.
NOME_DELLA_COSTANTE = valore ERRORE !
Particolarità dell'uso della Costante in Gambas
Alle Costanti in taluni casi è possibile associare una variabile, una funzione o un'operazione. [Nota 4]
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] Dicesi Costante una grandezza il cui valore si mantiene inalterato.
[2] 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
[3] Riguardo ai valori assegnabili alle Costanti si veda anche la pagina relativa alle Espressioni costanti.
[4] Globale: ha effetto in tutta la classe e in tutte le funzioni contenute nella stessa classe.