Ver Mensaje Individual
  #12  
Antiguo 16-10-2013
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.609
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
ghEnable

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.
Responder Con Cita