tincho   05-05-2023, 15:12
#1
Hola amigos.

Les comparto una manera de obtener los colores del sistema y los de gambas  como por ejemplo, SoftOrange.
El compañero Bruce Steers de la lista de correo internacional ha dado con la solución para obtener las propiedades, ya que las constantes si se pueden obtener desde la clase directamente, pero las propiedades provienen del Objeto.
A raíz del post de Shordi donde buscaba una forma de simplificar el código, finalmente planteo esta manera:

Nota: Por cierto pueden ver el selector de colores de Shordi, que le quedo estupendo y yo subí una versión modificada para trabajar con una colección en vez de con un Variant[].

Código:
      Dim myClass As Class = Classes["Color"]
      Dim sSymbol As String
     
      For Each sSymbol In myClass.Symbols
        If myClass[sSymbol].Kind = Class.Constant Then
          $aColors.Add([myClass[sSymbol].Value, sSymbol])
        Else If myClass[sSymbol].Kind = Class.Property
          $aColors.Add([Object.GetProperty(Color, sSymbol), sSymbol])
        Endif
      Next

Nuevamente el amigo Bruce se supera a si mismo y nos propone esta otra manera:
Código:
 For Each sSymbol As String In Classes["Color"].Symbols
   If Classes["Color"][sSymbol].Kind = Class.Constant Or If Classes["Color"][sSymbol].Kind = Class.Property Then $Colors[sSymbol] = Object.GetProperty(Color, sSymbol)
 Next
Última modificación: 05-05-2023, 19:10 por tincho.

1 Saludo.
Grandamakulo   05-05-2023, 17:19
#2
Hace algún tiempo pregunté por aquí sobre el tema. Me viene que ni «pintao», oiga.
Muchas gracias.

En un lugar de La Mancha de cuyo nombre me acuerdo perfectamente...
tincho   05-05-2023, 19:19
#3
(05-05-2023, 17:19)Grandamakulo escribió: Muchas gracias.

De nada. Hace un tiempo también intente averiguar los colores del sistema pero sin éxito.
El pensamiento lateral ha generado buen código.

1 Saludo.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.