Differenze tra le versioni di "TypeOf"

Da Gambas-it.org - Wikipedia.
 
(7 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 ''/.../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 è:
 
 
  TypeOf(variabile) As Integer
 
  TypeOf(variabile) As Integer
  
  
 
+
===Specificare il tipo di dato===
Mostriamo un esempio pratico:
+
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[] = [Null, "Boolean", "Byte", "Short", "Integer", "Long", "single", "Float", "Date", "String",
+
   Dim tipi As String[] = ["Void", "Boolean", "Byte", "Short", "Integer", "Long", "Single", "Float", "Date", "String",
                        Null, "Pointer", "Variant", "Function", "Class or Structure", "Null", "Object"]
+
                          Null, "Pointer", "Variant", "Array o Function", "Class o Structure", "Null", "Object"]
 
    
 
    
 
   Dim i As Integer
 
   Dim i As Integer
 
    
 
    
  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: <SUP>&#091;[[#Note|nota2]]&#093;</sup>
 +
Public Sub Main()
 +
 +
  Dim s As String = File.Load(User.Home &/ "gambasdevel/main/share/<FONT Color=darkgreen>gb_type_common.h</font>")
 +
  Dim c As Short
 +
 
 +
  Dim '''tipo''' As <FONT Color=#B22222><B>Integer</b></font>  <FONT Color=gray>' Imposta un tipo di dato</font>
 +
 
 +
  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]]

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