https://foro.gambas-es.org/viewtopic.php?f=1&t=3946
-----------------------------------
osunaosuna
Miercoles, 02 Julio 2014, 05:46

"Enumerar Las Constantes De Una Clase" Solucionado
-----------------------------------
La cosa  es así.... tengo una clase estatica con varias constantes de tipo string que en otra clase las utilizo para modificar cadenas las cuales en su debido tiempo debo regresar a su estado original la idea es sustraer esa cadena... peeeeero... (siempre lo hay) debo saber cual de las constantes se le aplico...

la función que las modifica es esta

[code linenumbers=false syntax=gambas]

'' ## Descripcion ##
'' 
'' Funcion para formatear texto en notacion
'' 
'' ## Parametros ##
'' 
'' - sText As String: Texto a formatear
'' 
'' - sTipo As String: Constante String de la clase estatica Formats o cualquier tipo de abreviatura que 
'' quiera agregarle al numero.
''
'' ## Retorno ##
'' 
'' -  As String: Cadena formateada
'' 
'' ## Error ##
'' 
'' Si la cadena no representa un numero no puede formatearse
'' y se retorna un error
'' 
''   Const _Err As String = "#ERROR#"
''
'' ## Comentario ##
''
'' Revertir esto me va hacer doler la cabeza....
Public Function FormatMedidas(sText As String, sTipo As String) As String
  
  Dim sResultado As String
  sResultado = Format(sText, "-,0.00 " & sTipo)
  Return sResultado
  Catch
    Return MMain._Err
    
End

[/code]

La solución era como les comente sustraer la cadena dada pero para eso debo verificar cual de las constantes se le aplico lo cual no seria un problema la cuestión es la cantidad de lineas que se devén escribir, si existe o existiese alguna forma de enumerar las constantes existentes en una clase podria hacerlo con un bucle... o alguna otra solución? soy todo ojos....


-----------------------------------
osunaosuna
Miercoles, 02 Julio 2014, 06:29

Re: "Enumerar Las Constantes De Una Clase"
-----------------------------------
Ya lo solucione.... pero no desesperes  jguardon pondré la solución acá... la función no esta terminada pero la solución a la pregunta esta ahí...
En verdad estoy haciendo trampa porque a la respuesta ya la sabia solo que no me acordaba esta solución la uso en el código del ide para que cree la documentación de mis programas... aun no esta terminado pero cuando lo tenga mas o menos presentable lo mostrare en sociedad... ahora debo terminar este componente para un proyecto  que tengo colgado hace mas tiempo que el GamDoc.

cuando termine mi componente va a quedar re chulo.... Me darán estrellitas alguna ves?

[code linenumbers=false syntax=gambas]

 Public Function FormatNull(sText As String) As String
  
  Dim LaClase As Class
  Dim sNombreConst As String
  
  '------------------------primero busco las clases cargadas por el ide
  'dentro de estas debe estar la mia ya qe es estatica no la instancie
  For Each LaClase In Classes 
    '------------------------si la encuentro
    If LaClase.Name = "Formats" Then
      '------------------------la pispeo para obtener todo los metodos eventos propiedades etc...
      'para poder diferenciar uno de otro se nesecita cargar la clase que no me acuerdo como 
      'se llama que es al que usa el ide para verificar el codigo empesaba con h algo asi como hihihigigi
      'pero a mi no me interesa pues son solo constantes las que hay en esa clase
      For Each sNombreConst In LaClase.Symbols
        '------------------------recorro el array y yupi tengo todas las constantes
        'si que si...
          Print sNombreConst
      Next
    Endif
  Next
  '------------------------y me voy a dormir....luego seguire.....
End

[/code]

y esta es la salida...

Kg
KM
M2
M3
ML
Lts
HORAS
PESOS
BARRAS
BOLSAS
KiloWats
UNIDADES
TextNormal

p/d: aun no se como ponerle solucionado... :oops:


-----------------------------------
osunaosuna
Miercoles, 02 Julio 2014, 06:37

Re: "Enumerar Las Constantes De Una Clase"
-----------------------------------
Ahora que lo leo lo de la estrellitas quedo arrogante... :roll:  pero no era esa impresión la que quería dar....


-----------------------------------
Shell
Miercoles, 02 Julio 2014, 08:35

Re: "Enumerar Las Constantes De Una Clase"
-----------------------------------
Osunaosuna.

Me gustan tus comentarios, incluido los de los código fuente. No hay que perder nunca el humor.  :lol: 

El tema de las estrellas no es por condecoraciones de guerra.   :grin: 
Ya sabemos que los gamberos somos muy valientes y siempre estamos alerta, pero no van por ahí los tiros.

Es por la cantidad de mensajes que hayas escrito. Yo por ejemplo tenía que ser por lo menos general a estas alturas.
Me conformo con ser un soldado con galones.  :mrblue: 


"En la guerra, los soldados reciben las balas y los generales las medallas."

Saludos


-----------------------------------
jsbsan
Miercoles, 02 Julio 2014, 10:04

Re: "Enumerar Las Constantes De Una Clase"
-----------------------------------
osunaosuna:

[code linenumbers=false syntax=gambas]LaClase.Symbols[/code]
Muy útil, gracias por compartir. 

[quote] Me darán estrellitas alguna ves?[/quote]
El tema de las estrellitas, depende del número de veces que hayas intervenido en el foro... si participas mucho vas obteniendo  estrellas, y las "otorga" el sistema automáticamente.

[quote]p/d: aun no se como ponerle solucionado... [/quote]
Es fácil, editas el primer mensaje y en "Asunto", dejas el titulo y le añades el texto "solucionado", y guardas el mensaje.

Saludos


-----------------------------------
osunaosuna
Miercoles, 02 Julio 2014, 13:09

Re: "Enumerar Las Constantes De Una Clase"
-----------------------------------
Shell

jaaajaa si soy de comentar mucho el código porque al parecer soy despistado y reutilizo mucho mi código, siempre lo enfoco así que sea re utilizable y agrupadas por temas  y en definitiva es como mi diario....

"En la guerra, los soldados reciben las balas y los generales las medallas." 

jajaaj de una....

Ahora se bien con exactitud que son las estrellitas.....

jsbsan... gracias ahora le pondré solucionado... y si es bastante util esa clases Class y Classes....


