Con la función ghEnable, de la unidad GHFUtils, podemos habilitar o inhabilitar un grupo de
controles (componentes visuales), sin tener que escribir una instrucción "
Control.Enabled := ..." por cada uno.
Tomo como ejemplo
este caso, donde el código que se propone es esencialmente:
Código Delphi
[-]Procedure ...
Var
B :Boolean;
Begin
B := qry_edo_habestatus.value = 'DES';
BTN1.Enabled := B;
BTN2.Enabled := Not B;
BTN3.Enabled := Not B;
BTN4.Enabled := Not B;
BTN5.Enabled := Not B;
BTN6.Enabled := Not B;
End;
Usando GHF, podría reducirse a:
Código Delphi
[-]Procedure ...
Begin
BTN1.Enabled := qry_edo_habestatus.value = 'DES';
ghEnable ([BTN2, BTN3, BTN4, BTN5, BTN6], Not BTN1.Enabled);
End;
Como puede apreciarse, pasamos de siete a sólo dos instrucciones y nos ahorramos la variable de tipo Boolean. Así pues, escribimos menos código sin restarle demasiada comprensibilidad. Además, cuando se tenga la necesidad de agregar otro botón al grupo, tan sólo habremos de añadir una coma, un espacio y el nombre del botón, por ejemplo "
, BTN7", en lugar de una sentencia completa "
BNT7.Enabled := ...".
El uso de estas simplificaciones de código permite generar programas más concisos, y también más manejables a través del tiempo: No es lo mismo comenzar a modificar una unidad de 700 líneas de código que no habíamos abierto en cinco años, que hacer lo mismo con una unidad de 250 líneas. El código repetitivo puede ser un obstáculo importante a la hora de dar mantenimiento a los sistemas.
Saludos cordiales.