Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Como Obtener En Runtime El Nombre De Una Variable
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Como Obtener En Runtime El Nombre De Una Variable 
 
Es medio tonta la pregunta, pero no lo estoy consiguiendo  


por ejemplo

dim fFuerzas as float


Sub miNombre( v1 as float) as string

print v1.name   'imprimo el nombre original del la variable
 
End sub

miNombre (fFuerzas)

'imprime en la consola fFuerzas


se entiende  
 



 
última edición por tercoIDE el Lunes, 03 Agosto 2015, 15:27; editado 1 vez 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Obtener En Runtime El Nombre De Una Variable 
 
Seguramente Vuott sepa alguna manera de sacar ese dato usando punteros.....


Pero se me ocurre una solución fácil:

Create una clase, con la propiedad valor y nombre, entonces es muy sencillo decir que te muestre o cambiar el nombre,.... no se si te servirá...
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Obtener En Runtime El Nombre De Una Variable 
 
no me sirve, esta es la rutina real:

Public Sub DebugMe(mf As Float[], filas As Integer, Optional columnas As Integer = 1)
    ' Rutina para mostrar matrices y vector en el Debug
    ' para vectores, poner columna=1
    
    Dim f As Integer, c As Integer, stmat As String
    'stmat = mf
    If columnas = 1 Then
        For f = 0 To filas - 1
            'modMatriz8.abanda(a, b, a)
            stmat &= Format$(mf[f], "0.000000") & " "
            
        Next
        Debug stmat
        stmat = ""
        
    Else
        For f = 0 To filas - 1
            For c = 0 To columnas - 1
                'modMatriz8.abanda(a, b, a)
                stmat &= Format$(mf[f, c], "0.000000") & " "
                
            Next
            Debug Str$(f), stmat
            stmat = ""
            
        Next
        
    End If
    'Stop
    
End


que sirve para volcar el contenido de una matriz o vector en el debug

me gustaria tambien volcar el nombre de la matriz que estoy debugueando

el workaournd es facil, porque llamo a un

Debug "fMatrix1"
DebugMe(fMatrix1, filas)
 

y ya, pero queria ver si hay una solucion mas elegante
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Obtener En Runtime El Nombre De Una Variable 
 
jsbsan escribió: [Ver mensaje]
Seguramente Vuott sepa alguna manera de sacar ese dato usando punteros.....


¡No exageremos! Punteros no son el Padre Eterno !    
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Obtener En Runtime El Nombre De Una Variable 
 
vuott escribió: [Ver mensaje]


¡No exageremos! Punteros no son el Padre Eterno !    



es que vos nos mal acostumbras con tus soluciones eitenianas

 260px_albert_einstein_head  jajajajja
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Obtener En Runtime El Nombre De Una Variable 
 
...bueno...sì, existe una posiblidad usando la Clase "Class", pero la variable debe haber sido declarada "Global" y "Pública" .

Ejemplo pratico:
Public nombre_variable As Integer

Public Sub Main()

' Si el nombre de la variable es compuesto por más que 4 carácteres, entonces el índice es 1 (si hasta 4 el índice es 0) !
   Print Class.Load("MMain").Symbols[1]

End

 



 
última edición por vuott el Domingo, 16 Agosto 2015, 16:53; editado 3 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Obtener En Runtime El Nombre De Una Variable 
 
claro, pero no es el caso


(en octubre estare en Parma, vives cerca?)
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Obtener En Runtime El Nombre De Una Variable 
 
Se necesita preguntar a Minisini en cual Estructura de los codigos fuentes C de gambas es contenido el nombre-identificador de una variable.
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Como Obtener En Runtime El Nombre De Una Variable 
 
vuott escribió: [Ver mensaje]
¡No exageremos! Punteros no son el Padre Eterno !

......pero... tal vez pueden competir con Él.    


Vamos a ver con un Puntero a una variable de tipo String todas las variables locales existentes en un proyecto:

Private Const LAT As Short = 256


Public Sub Main()

  Dim s As String
  Dim po As Pointer
  Dim c As Integer
  Dim bb As Byte[]
  Dim st As Stream
  Dim i As Integer

' Es absolutamente necesario declarar la nuestra imperecedera y inquebrantable fe:
   s = "Yo no soy Pythonista !"
  
   po = VarPtr(s)
   If po = 0 Then Error.Raise("Puntero no valido !")
    
   st = Memory po For Read

   With bb = New Byte[LAT]
     .Read(st, 0, bb.Count)
     s = .ToString(0, bb.Count)
   End With
   st.Close

   c = InStr(s, Chr(&40) & Chr(&6E) & Chr(&65))

   s = bb.ToString(c + 4, InStr(s, "\x00\x00", c) - (c + 4))

   Print Replace(s, "\x00", "\n")

End


Private Procedure Nomen(b As Byte)

  Dim sh As Short
  Dim n As Integer
  Dim v As Variant

End

 



 
última edición por vuott el Lunes, 04 Abril 2016, 23:08; editado 3 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Abrir Un Formulario Cuyo Nombre Está En U... shordi General 4 Miercoles, 03 Noviembre 2010, 23:01 Ver último mensaje
shordi
No hay nuevos mensajes Gambas3-Runtime. ¿ Como ? Shell General 1 Miercoles, 16 Enero 2013, 15:03 Ver último mensaje
jguardon
No hay nuevos mensajes Obtener El Nombre Del Formulario Donde Est... shordi Aplicaciones/Fragmentos de Código 2 Jueves, 27 Octobre 2016, 08:06 Ver último mensaje
shordi
No hay nuevos mensajes Obtener El Nombre De La Función tincho Aplicaciones/Fragmentos de Código 4 Miercoles, 05 Abril 2017, 18:30 Ver último mensaje
vuott
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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



  

 

cron