Un selector de colores hecho en PowerBuilder para tener mis tonos favoritos a mano y convertirlos al vuelo entre RGB, HTML y número
long.
Esta es una de esas utilidades pequeñas que, sin hacer mucho ruido, acabas usando un montón. La monté para resolver un problema muy tonto pero muy real: cada vez que quería aplicar un color en una aplicación PowerBuilder tenía que pelearme con la conversión entre las distintas anotaciones.
Y es que en PowerBuilder el color se maneja como un número long, pero el diseño web (y casi todo el mundo) habla en RGB o en hexadecimal HTML (#RRGGBB). pbcolors os deja:
- Elegir cualquier color con el selector.
- Convertirlo al instante entre las tres notaciones:
RGB(r,g,b), HTML (#RRGGBB) y númerolong. - Copiar al portapapeles el valor que necesitéis para pegarlo directamente en vuestro código.
Nada de matar moscas a cañonazos: una ventanita, sin dependencias externas, y a trabajar.
La gracia didáctica de este ejemplo no es solo la app, sino cómo está construida. Está repartida en tres librerías para que veáis una arquitectura reutilizable de verdad:
pbcolors.pbl→ la aplicación en sí (pbcolors.sra) y la ventana principalw_seleccionar_color, donde vive toda la lógica de conversión. Aquí está el "cómo paso delonga RGB y a hexadecimal y vuelta".ancestors.pbl→ objetos ancestro visuales reutilizables (vs_cb_master,vs_em_master,vs_st_master,vs_htb_master, la ventana basew_ancestor/w_popup…). La idea es que heredéis de ellos en vuestras propias apps.myobjects.pbl→ objetos de usuario concretos que heredan de los ancestros (botonesvuo_cb_aceptar/vuo_cb_cancelar, editmasksvuo_em_number/vuo_em_rgb_number/vuo_em_string, etiquetasvuo_st_color…).
Fijaos en el patrón: ancestro genérico → objeto concreto. Esa es la forma "de libro" de organizar componentes en PowerBuilder, y aquí lo tenéis en un ejemplo chiquitito y fácil de leer.
- PowerBuilder 2025 (compilado con el Runtime
25.0.0.3711). - Windows 10/11.
- Sin librerías de terceros ni instalaciones raras: clonáis y compila.
- Clona el repositorio (viene en modo solución: el workspace completo).
- Abre
pbcolors.pbsln(o el targetpbcolors.pbproj) desde el IDE de PowerBuilder. - Compila y ejecuta. También tienes el
pbcolors.exeya generado para probarlo directamente. - Elige un color, juega con las conversiones y copia el formato que te interese.
Tenéis el ejemplo publicado en modo solución aquí: 👉 https://github.com/rasanfe/pbcolors
¡Nos vemos en el próximo artículo! Y recuerda: en PowerBuilder, los límites solo están en nuestra imaginación. 🚀
📨 Blog: https://rsrsystem.blogspot.com/