Comunidad Gambas-es

Versión completa: Obteniendo los colores del sistema + Los de gambas.
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
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[].

GAMBAS
  1.       Dim myClass As Class = Classes["Color"]
  2.       Dim sSymbol As String
  3.      
  4.       For Each sSymbol In myClass.Symbols
  5.         If myClass[sSymbol].Kind = Class.Constant Then
  6.           $aColors.Add([myClass[sSymbol].Value, sSymbol])
  7.         Else If myClass[sSymbol].Kind = Class.Property
  8.           $aColors.Add([Object.GetProperty(Color, sSymbol), sSymbol])
  9.         Endif
  10.       Next



Nuevamente el amigo Bruce se supera a si mismo y nos propone esta otra manera:
GAMBAS
  1.  For Each sSymbol As String In Classes["Color"].Symbols
  2.    If Classes["Color"][sSymbol].Kind = Class.Constant Or If Classes["Color"][sSymbol].Kind = Class.Property Then $Colors[sSymbol] = Object.GetProperty(Color, sSymbol)


Hace algún tiempo pregunté por aquí sobre el tema. Me viene que ni «pintao», oiga.
Muchas gracias.
(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.