Differenze tra le versioni di "TypeOf"

Da Gambas-it.org - Wikipedia.
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
La funzione '''TypeOf()''' ritorna un valore intero che rappresenta, conformemente all'enumerazione presente nel file sorgente di Gambas ''User.Home &/ "main/share/gb_type_common.h"'', il tipo di dato, al quale appartiene una variabile.
+
La funzione '''TypeOf()''' ritorna un valore intero che rappresenta, conformemente all'enumerazione presente nel file sorgente di Gambas ''User.Home &/ "gambasdevel/main/share/gb_type_common.h"'', il tipo di dato, al quale appartiene una variabile. <SUP>&#091;[[#Note|nota1]]&#093;</sup>
  
 
La sua sintassi è:
 
La sua sintassi è:
Riga 7: Riga 7:
 
===Specificare il tipo di dato===
 
===Specificare il tipo di dato===
 
Dal valore numerico, che rappresenta il tipo di dato, possiamo ottenere la sua specificazione letterale almeno mediante i seguenti due esempi:
 
Dal valore numerico, che rappresenta il tipo di dato, possiamo ottenere la sua specificazione letterale almeno mediante i seguenti due esempi:
  '''Public''' Sub Main()
+
  Public Sub Main()
 
    
 
    
 
   Dim tipi As String[] = ["Void", "Boolean", "Byte", "Short", "Integer", "Long", "Single", "Float", "Date", "String",
 
   Dim tipi As String[] = ["Void", "Boolean", "Byte", "Short", "Integer", "Long", "Single", "Float", "Date", "String",
Riga 16: Riga 16:
 
   Print "Il tipo di dato è:  "; tipi[TypeOf(i)]
 
   Print "Il tipo di dato è:  "; tipi[TypeOf(i)]
 
    
 
    
  '''End'''
+
  End
oppure andando a verificare il tipo di dato direttamente nella seconda enumerazione dei tipi di dati contenuta nel file "gb_type_common.h" dei sorgenti di Gambas:
+
oppure andando a verificare il tipo di dato direttamente nella seconda enumerazione dei tipi di dati contenuta nel file "gb_type_common.h" dei sorgenti di Gambas: <SUP>&#091;[[#Note|nota2]]&#093;</sup>
  '''Public''' Sub Main()
+
  Public Sub Main()
 
   
 
   
 
   Dim s As String = File.Load(User.Home &/ "gambasdevel/main/share/<FONT Color=darkgreen>gb_type_common.h</font>")
 
   Dim s As String = File.Load(User.Home &/ "gambasdevel/main/share/<FONT Color=darkgreen>gb_type_common.h</font>")
Riga 38: Riga 38:
 
   Loop  
 
   Loop  
 
    
 
    
  '''End'''
+
  End
 
Si può utilizzare con le opportune modifiche anche la definizione degli identificatori numerici dei tipi di dati (''Gambas datatypes identifiers'') presente nel file sorgente di Gambas ''User.Home &/ "gambasdevel/main/share/gambas.h"''.
 
Si può utilizzare con le opportune modifiche anche la definizione degli identificatori numerici dei tipi di dati (''Gambas datatypes identifiers'') presente nel file sorgente di Gambas ''User.Home &/ "gambasdevel/main/share/gambas.h"''.
 +
 +
 +
 +
=Note=
 +
[1] Vedere anche il seguente riferimento: https://gambaswiki.org/wiki/lang/typeof?l=it
 +
 +
[2] Vedere anche la seguente pagina della Wiki: [[Conoscere in runtime il numero identificatore di un tipo di dato di una variabile presente nel codice]]

Versione attuale delle 05:25, 11 giu 2024

La funzione TypeOf() ritorna un valore intero che rappresenta, conformemente all'enumerazione presente nel file sorgente di Gambas User.Home &/ "gambasdevel/main/share/gb_type_common.h", il tipo di dato, al quale appartiene una variabile. [nota1]

La sua sintassi è:

TypeOf(variabile) As Integer


Specificare il tipo di dato

Dal valore numerico, che rappresenta il tipo di dato, possiamo ottenere la sua specificazione letterale almeno mediante i seguenti due esempi:

Public Sub Main()
 
 Dim tipi As String[] = ["Void", "Boolean", "Byte", "Short", "Integer", "Long", "Single", "Float", "Date", "String",
                         Null, "Pointer", "Variant", "Array o Function", "Class o Structure", "Null", "Object"]
 
 Dim i As Integer
 
 Print "Il tipo di dato è:  "; tipi[TypeOf(i)]
  
End

oppure andando a verificare il tipo di dato direttamente nella seconda enumerazione dei tipi di dati contenuta nel file "gb_type_common.h" dei sorgenti di Gambas: [nota2]

Public Sub Main()

 Dim s As String = File.Load(User.Home &/ "gambasdevel/main/share/gb_type_common.h")
 Dim c As Short
 
 Dim tipo As Integer   ' Imposta un tipo di dato
 
 c = InStr(s, "VOID") - 1
 
 Do
   Repeat 
     Inc c
   Until s[c, 1] = "="
   If Val(s[c + 2, 2]) == TypeOf(tipo) Then 
     c -= 13
     Print s[c, 8]
     Break 
   Endif
 Loop 
 
End

Si può utilizzare con le opportune modifiche anche la definizione degli identificatori numerici dei tipi di dati (Gambas datatypes identifiers) presente nel file sorgente di Gambas User.Home &/ "gambasdevel/main/share/gambas.h".


Note

[1] Vedere anche il seguente riferimento: https://gambaswiki.org/wiki/lang/typeof?l=it

[2] Vedere anche la seguente pagina della Wiki: Conoscere in runtime il numero identificatore di un tipo di dato di una variabile presente nel codice