Comunidad Gambas-es
TypeOf... - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forum-3.html)
+--- Foro: Aplicaciones/Fragmentos de Código (https://gambas-es.org/forum-8.html)
+--- Tema: TypeOf... (/thread-1339.html)



TypeOf... - tincho - 25-04-2023

Hola amigos.
Si en gambas ponemos:
Código:
Print TypeOf("untextocualquiera")
Esto devolverá 9.
Muy bien. Ahora, sabiendo el 9 ¿Como puedo "imprimir" gb.String?


RE: TypeOf... - Shordi - 25-04-2023

Encontrarás esto en el EditList:
Código:
Public Sub Button1_Click()

  Dim s As String
  Dim v As Variant

  v = editlist1.Value
  Select Case TypeOf(v)
    Case 4
      s = "Integer"
    Case 7
      s = "Float"
    Case 8
      s = "Date"
    Case 9
      s = "String"
  End Select

  Message(("Selected ") & v & (" wich is of type ") & s)

End



RE: TypeOf... - tincho - 25-04-2023

(25-04-2023, 13:07)Shordi escribió: Encontrarás esto en el EditList:

Jeje, workaround !! pero... ¿Hay algo mas al estilo siguiente?
Código:
Print gb.Constanst[9]
String
Yo tengo esta otra función mas general porque no encontré nada "nativo" de gambas.
Código:
'' Function that returns the type of variable as a word. As input parameter requires an integer number.

Public Function TypeVar(iType As Byte) As String

  Dim oType As Collection = ["Boolean": 1, "Byte": 2, "Short": 3, "Integer": 4, "Long": 5, "Single": 6, "Float": 7, "Date": 8, "String": 9, "Hold-10": 10, "Pointer": 11, "Variant": 12, "Function": 13, "Class": 14, "Null": 15, "Object": 16]
  Dim sType As String = ""
  Dim i As Byte

  For Each i In oType
    If i = iType Then
      sType = oType.Key
      Break
    Endif
  Next

  Return sType

End