Differenze tra le versioni di "Le Costanti"
(10 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | 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 | + | 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'' " <SUP>[[[#Note|Nota 1]]]</sup> mediante la parola chiave '''Const'''. |
− | + | ===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". | |
− | Essendo poste al di fuori delle routine, le ''Costanti'' hanno la qualità di essere ''globali'' <SUP>[[[#Note|Nota | + | 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. <SUP>[[[#Note|Nota 2]]]</sup> |
+ | |||
+ | 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'' <SUP>[[[#Note|Nota 3]]]</sup>. | ||
Esempio: | Esempio: | ||
− | Private <Font color=#B22222> | + | Private <Font color=#B22222><B>Const</b></font> NOME_DELLA_COSTANTE As Integer = 4 |
− | <Font color=gray>' ''Ora, quindi, all'interno del programma si potrà usare | + | <Font color=gray>' ''Ora, quindi, all'interno del programma si potrà usare l'identificatore '''''NOME_DELLA_COSTANTE''''' al posto del numero 4''</font> |
Riga 21: | Riga 28: | ||
End | End | ||
− | |||
In console sarà mostrato coerentemente il risultato: 20 | In console sarà mostrato coerentemente il risultato: 20 | ||
+ | Ovviamente il valore, assegnato all'inizio alla ''Costante'', <SPAN style="text-decoration:underline"><B>non</b> può essere variato</span> nel corso del programma. | ||
+ | NOME_DELLA_COSTANTE = valore <FONT Color=#B22222><B>ERRORE !</b></font> | ||
==Particolarità dell'uso della Costante in Gambas== | ==Particolarità dell'uso della Costante in Gambas== | ||
− | + | Alle ''Costanti'' <SPAN Style="text-decoration:underline">in taluni casi</span> è possibile associare una variabile, una funzione o un'operazione. <B><SUP>[[[#Note|Nota 4]]]</sup></b> | |
− | < | + | |
+ | Il valore della ''Costante'' deve essere definito in fase di dichiarazione e non deve puntare a nessuna cosa al di fuori della dichiarazione stessa. | ||
<BR>Pertanto, ad esempio: | <BR>Pertanto, ad esempio: | ||
Public '''Const''' NOME_COSTANTE As Integer = 1 <FONT Color=darkgreen>Corretto</font> | Public '''Const''' NOME_COSTANTE As Integer = 1 <FONT Color=darkgreen>Corretto</font> | ||
Private '''Const''' NOME_COSTANTE As String = "aBc" <FONT Color=darkgreen>Corretto</font> | Private '''Const''' NOME_COSTANTE As String = "aBc" <FONT Color=darkgreen>Corretto</font> | ||
Private '''Const''' NOME_COSTANTE As String = "\x0F" <FONT Color=darkgreen>Corretto</font> | Private '''Const''' NOME_COSTANTE As String = "\x0F" <FONT Color=darkgreen>Corretto</font> | ||
+ | Private '''Const''' NOME_COSTANTE As Integer = 2108 * 1969 <FONT Color=darkgreen>Corretto</font> | ||
Public '''Const''' NOME_COSTANTE As Long = CLong(1234) <FONT Color=#B22222>ERRATO !</font> | Public '''Const''' NOME_COSTANTE As Long = CLong(1234) <FONT Color=#B22222>ERRATO !</font> | ||
Private '''Const''' NOME_COSTANTE As Boolean = (Not nome_variabile) <FONT Color=#B22222>ERRATO !</font> | Private '''Const''' NOME_COSTANTE As Boolean = (Not nome_variabile) <FONT Color=#B22222>ERRATO !</font> | ||
− | |||
La ''Costante'' in Gambas consente di sostituire la funzione Chr() con i caratteri "''escape''" attualmente implementati ed attivi, come i seguenti: | La ''Costante'' in Gambas consente di sostituire la funzione Chr() con i caratteri "''escape''" attualmente implementati ed attivi, come i seguenti: | ||
<TABLE> | <TABLE> | ||
Riga 43: | Riga 52: | ||
</table> | </table> | ||
Così, avremo ad esempio: | Così, avremo ad esempio: | ||
− | Private '''Const''' NOME_COSTANTE As String = "\n" | + | Private '''Const''' NOME_COSTANTE As String = "<FONT Color=#B22222>\n</font>" |
=Note= | =Note= | ||
− | [1] ''Globale'': ha effetto in tutta la classe e in tutte le funzioni contenute nella ''stessa'' classe. | + | [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. | ||
+ | <BR> Vedere la seguente pagina: [[Usare_come_identificatore_di_variabile_il_nome_di_una_parola_chiave_o_di_una_funzione_ovvero_un_carattere_non_consentito|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|Espressioni costanti]]. | ||
+ | |||
+ | [4] ''Globale'': ha effetto in tutta la classe e in tutte le funzioni contenute nella ''stessa'' classe. | ||
Versione attuale delle 08:37, 11 nov 2022
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.