Differenze tra le versioni di "Le Costanti"

Da Gambas-it.org - Wikipedia.
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 costante mediante la parola chiave '''Const'''.
+
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.
 
Il nome attribuito alla ''Costante'' può contenere caratteri alfabetici (solitamente per convenzione in maiuscolo) e numerici posti nelle modalità accettate da Gambas.
Riga 26: Riga 26:
  
 
==Particolarità dell'uso della Costante in Gambas==
 
==Particolarità dell'uso della Costante in Gambas==
Va sottolineato che alle ''Costanti'' non è possibile associare una variabile, una funzione o un'operazione.
+
Alle ''Costanti'' <SPAN Style="text-decoration:underline">in taluni casi</span> è possibile associare una variabile, una funzione o un'operazione. <B><SUP>&#091;[[#Note|Nota 2]]&#093;</sup></b>
<BR>Il valore della ''Costante'' deve essere definito in fase di dichiarazione e non deve puntare a nessuna cosa al di fuori della dichiarazione stessa.
+
 
 +
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>
Private '''Const''' NOME_COSTANTE As Integer = 2108 * 1969          <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 48: Riga 49:
  
 
=Note=
 
=Note=
[1] ''Globale'': ha effetto in tutta la classe e in tutte le funzioni contenute nella ''stessa'' classe.
+
[1] Riguardo ai valori assegnabili alle Costanti si veda anche la pagina relativa alle [[Espressioni_costanti|Espressioni costanti]].
 +
 
 +
[2] ''Globale'': ha effetto in tutta la classe e in tutte le funzioni contenute nella ''stessa'' classe.
  
  

Versione delle 05:07, 13 ott 2021

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.

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 1]. 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 2]

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] Riguardo ai valori assegnabili alle Costanti si veda anche la pagina relativa alle Espressioni costanti.

[2] Globale: ha effetto in tutta la classe e in tutte le funzioni contenute nella stessa classe.


Riferimenti