Averiguar Tipo De Variable


Ir a la página 1, 2  Siguiente

Objetivo: Averiguar Tipo De Variable
Hola les consulto como puedo saber que tipo de valor obtengo de una variable..?

Perfil MP  
Objetivo: Re: Averiguar Tipo De Variable
...usando la función TypeOf() y luego comparando el resultado con las constantes predefinidas de los tipos de datos:
http://gambaswiki.org/wiki/cat/constant?l=es
y en los archivos fuente de Gambas: /....../main/share/gb_type_common.h y /....../trunk/main/share/gambas.h (entre los Gambas datatypes identifiers.).



Por supuesto tú puedes investigar tambien en la area de memoria, para buscar el número del tipo de dato:
Public Sub Main()

Dim i As Integer
Dim p As Pointer

p = VarPtr(i)

Print Int@(p - 8)

End

última edición por vuott el Viernes, 25 Marzo 2016, 23:39; editado 4 veces
Perfil MP  
Objetivo: Re: Averiguar Tipo De Variable
También puedes usar el operador IS. Algo así: If mivariable IS gb.string... (cito de memoria)

Perfil MP  
Objetivo: Re: Averiguar Tipo De Variable
Gracias por su ayuda pero por ejemplo recien utilice este metodo pero no me arroja los resultados que necesito..
Necesito separar los datos flotantes o con decimales de los tipo Integer, String y Date..
Les dejo una parte del codigo..

If IsFloat(TabClientes[F, C].Text) Then
Message.Info("Es un valor flotante " & Chr(13) & TabClientes.Columns[C].Title & " = " & TabClientes[F, C].Text)
Endif

Pero me arroja los resultados enteros o largos y no los flotantes les aclaro que no utilizo la "," puesto que gambas utiliza el "." para separar los decimales..
Desde ya muchas gracias


Perfil MP  
Objetivo: Re: Averiguar Tipo De Variable
Si usas cadenas de textos, las variables son cadenas de textos. Elemental. Si quieres usar números usa números.
Veo que partes de Tabclientes, que , supongo es un gridview o algo parecido ¿no? Utiliza los datos cargando directamente de la base de datos a variables del tipo que necesites. No uses los datos de la herramienta de visualización Tabclientes. Ese es tu error.

Saludos.

Perfil MP  
Objetivo: Re: Averiguar Tipo De Variable
Si te entiendo pero lo que yo quiero hacer es que dinamicamente a medida que se vaya cargando el tableview se acomoden los datos de acuerdo con su tipo
es por ello que estoy en busqueda de un metodo para lograr esto..
Creo que se puede por "TypeOf" pero no estoy encontrando el metodo para ponerlo en practica..

Perfil MP  
Objetivo: Re: Averiguar Tipo De Variable
Ricardo Prieto escribió: [Ver mensaje]
Creo que se puede por "TypeOf" pero no estoy encontrando el metodo para ponerlo en practica..




Perfil MP  
Objetivo: Re: Averiguar Tipo De Variable
No se que quieres decir con "se acomoden".

Perfil MP  
Objetivo: Re: Averiguar Tipo De Variable
Gracias Voutt..
Que se acomoden es para darle la alinación a las celdas y el color en el caso de que existan valores negativos..

Perfil MP  
Objetivo: Re: Averiguar Tipo De Variable
Hola a todos!!

¿Entendí mal o lo que dice Vuott es algo asi?

Dim i As String 'Si cambiamos el tipo cambia la salida impresa

Select Case TypeOf(i)
Case gb.Null
Print "Tipo Null"
Case gb.Boolean
Print "Tipo Boolean."
Case gb.Byte
Print "Tipo Byte."
Case gb.Short
Print "Tipo Short."
Case gb.Integer
Print "Tipo Integer."
Case gb.Long
Print "Tipo Long."
Case gb.Single
Print "Tipo Single."
Case gb.Float
Print "Tipo Float."
Case gb.Date
Print "Tipo Date."
Case gb.String
Print "Tipo String."
Case gb.Variant
Print "Tipo Variant."
Case gb.Object
Print "Tipo Object"
End Select

última edición por whisper el Martes, 02 Febrero 2016, 04:44; editado 2 veces
Perfil MP  
Ir a la página 1, 2  Siguiente

Página 1 de 2


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4685s (PHP: -84% SQL: 184%)
Consultas SQL: 47 - Debug off - GZIP Activado