06 noviembre 2009

El experto cnPack (2)

Vamos a entrar en profundidad con todas las características que tiene este fantástico experto para Delphi comenzando con la barra de herramientas que aparece en la parte superior del editor cuando estamos modificando un formulario.

ALINEAR LOS COMPONENTES DEL FORMULARIO

Al editar un formulario en Delphi 2007 nos aparece una barra con tantos botones en la parte superior que debemos esconder los paneles laterales:

Para verlo detenidamente hay que hacerlo por grupos de izquierda a derecha. El primer grupo de botones que tenemos a la izquierda es el encargado de alinear dos más componentes gráficos que tengamos seleccionados:

Estos botones nos evitar tener que utilizar la alineación de componentes de Delphi que resulta más incómoda porque hay que sacarla con el botón derecho del ratón:

Y para colmo luego hay que utilizar este formulario:

Con estos tres botones que tenemos en la barra de cnPack podemos alinear a la izquierda, a la derecha o centrarlos. Los siguientes tres botones hacen exactamente lo mismo pero con la alineación vertical:

Los siguientes tres botones son los encargados de espaciar verticalmente los componentes seleccionados manteniendo exactamente igual el espacio entre los mismos:

Aunque hay una diferencia respecto al IDE de Delphi: el primer botón permite realizar un espaciado de componentes diciéndole nosotros cuantos pixels queremos exactamente de separación entre componentes. Por ejemplo, supongamos que queremos espaciar verticalmente estos componentes con 7 pixels entre ellos:

Los seleccionamos y pulsamos este botón:

Entonces se abrirá este cuadro de diálogo preguntándonos cuantos pixels queremos de separación:

Después de pulsar Ok cumplirá con su objetivo a la perfección:

Esto es ideal cuando se trabaja con un grupo amplio de programadores y cada uno monta los formularios como quiere. El jefe de proyecto puede obligar a los programadores a que diseñen la interfaz con las mismas medidas.

Los otros dos componentes son para que exista el mismo espacio entre todos los seleccionados o para pegarlos todos quitando espacios:
Tenemos exactamente los mismos tres botones pero para la separación horizontal:

REDIMENSIONAR LOS COMPONENTES DEL FORMULARIO

Los siguientes cuatro botones serán los encargados de redimensionar los controles seleccionados según nuestras preferencias:
Los dos primeros botones incrementan o decrementan el tamaño de los componentes en unidades de la rejilla. Por ejemplo, si tenemos estas dimensiones:

Al pulsar este botón:
Incrementará su tamaño vertical por su parte inferior:

El botón de la lado hace el efecto contrario. Luego está este botón que amplia el tamaño de todos al más grande (verticalmente):
Y el último los disminuye verticalmente al más pequeño:

Los siguientes cuatro botones cumplen el mismo cometido pero horizontalmente:
Pasemos al siguiente grupo:
El primer botón es bastante interesante porque permite establecer el tamaño horizontal y vertical de los componentes seleccionados a partir del primero seleccionado. Por ejemplo, vamos a hacer que este los dos componentes de abajo tengan el mismo tamaño que el primero que hemos seleccionado:

En vez de seleccionar los tres componentes a la vez, los seleccionamos secuencialmente y luego pulsamos el botón:
Y los igualará en tamaño al primer componente:

Los siguientes dos botones centran en el formulario todos los componentes seleccionados pero manteniendo su posición original entre ellos:
Si originalmente tenía así el formulario:

Después de seleccionar los tres componentes y pulsar ambos botones lo centrará todo:

Y los dos últimos botones de este grupo se encargan de traer al frente o enviar al fondo los componentes seleccionados:

ALINEAR COMPONENTES RESPECTO A LA REJILLA

Vamos con el siguiente grupo:
El primer botón se encarga de ajustar la posición de la esquina superior izquierda del componente seleccionado a la cuadrícula de la rejilla:
Y el segundo ajusta a la rejilla el tamaño horizontal y vertical del componente:

El siguiente botón también es muy interesante porque funciona en estado apagado o encendido. Cuando esta activado, al redimensionar un componente con el ratón veremos que se ajusta a la cuadrícula:

Sin embargo, podemos ampliar el tamaño del mismo de píxel en píxel a la vieja usanza con el teclado: tecla SHIFT + CURSORES. Este otro botón activa o desactiva la guía que permite alinear unos componentes respecto a otros:
Es la guía que incorporan por defecto las últimas versiones de Delphi:

Este botón no está disponible en Delphi 7. Y el último botón de este grupo bloquea los controles del formulario para que no puedan ni moverse ni redimensionarse:

SELECCIONANDO COMPONENTES

Vamos con el último grupo de la barra superior:
El primer botón nos sirve para seleccionar el formulario donde estamos situados cuando el foco lo tenemos sobre otro componente:
Esto viene bastante bien cuando diseñamos nuestra propia piel para el formulario y tenemos tantos controles encima del mismo que no podemos ni hacer clic para poder acceder a sus eventos a través del inspector de objetos. Si el formulario ya se encuentra seleccionado entonces se desactiva este botón.

El segundo botón copia los nombres de los componentes (propiedad Name) seleccionados al portapapeles:

El tercer botón si es bastante interesante. Nos devuelve el código fuente de los componentes seleccionados como si los hubiésemos creado por código:
Por ejemplo, al seleccionar estos componentes:

Y pulsar luego dicho botón aparecerá este formulario:

Nos devuelve el código de creación de los componentes con todas sus propiedades, algo muy útil cuando queremos esconder algún componente del archivo DFM como por ejemplo: registrar el producto, introduzca la clave de licencia, etc. Sólo hay que copiar este código en el evento OnCreate del formulario y eliminar los componentes del mismo.

El cuarto botón es bastante curioso:
Hace invisibles en tiempo de diseño los componentes no visuales como por ejemplo un TIBQuery:

Al pulsar este botón pasa esto:
Para que se vuelva invisible primero hay que seleccionar otro componente. La única utilidad que le veo a esto es cuando queremos mostrar a otros programadores o clientes como va el diseño de nuestro formulario sin que se vean estos componentes. Si volvemos a pulsar este botón se harán visibles de nuevo. Esto no afecta para nada a la aplicación, sólo a la fase de diseño.

El último botón si que tiene bastante utilidad:
Cuando tenemos varios componentes no visuales desordenados en el formulario:

Podemos reorganizarlos todos pulsando este botón y nos aparecerá un formulario para preguntarnos donde los queremos colocar y la separación entre los mismos:

Por defecto los coloca en la esquina superior izquierda del formulario:

Continuando con nuestro tema de selección de componentes vamos a comenzar con el primer grupo de la barra inferior:

El primer botón activa la selección múltiple:
Al pulsarlo nos aparece este mensaje:

Cuya traducción es esta:

Bienvenido a selector de componentes!

Este asistente puede seleccionar componentes en forma actual por nombre, tipo o otras condiciones a pesar de su visibilidad. Por ejemplo, si queremos cambiar la altura de todos los botones de 25 a 21, podemos seleccionar todos los botones y cambiar su altura una vez. Se admiten varios filtros y clasificación. A veces es útil modificar los pedidos de componentes seleccionados.

Después de pulsar el botón Continue nos aparece este formulario:

Solo hay que pasar de la lista de la izquierda a la lista de la derecha los nombres de los componentes que queremos seleccionar:

Pulsamos el botón Ok y volverá al formulario seleccionando los componentes que hemos elegido. Ya podemos ir al inspector de objetos a cambiar sus propiedades.

El segundo botón es un corrector de propiedades donde podemos configurar como queremos que ciertas propiedades de los componentes se cumplan:
Un ejemplo que lleva es que todos los botones (TButton) del formulario deberían tener una altura de 21 pixels. Al pulsar este botón aparecerá esta ventana en la que debemos pulsar el botón Search para buscar componentes que no se ajustan a nuestras reglas:

En este caso nos dice que el botón tiene una altura de 25 en vez de 21. Debemos cambiarlo nosotros manualmente en el inspector de objetos (hubiese sido ideal que lo hiciera él por nosotros). ¿Dónde están esas reglas? En el botón Options:

Podemos añadir cualquier componente y establecer el valor de debería tener cierta propiedad. Es otra herramienta ideal para forzar a los programadores a hacer las cosas del mismo modo que el resto del equipo. Al pulsar el botón Add debemos rellenar todo esto:


RENOMBAR COMPONENTES

Habréis visto que cuando copiamos o insertamos un componente en el formulario aparece un nuevo asistente que nos indica el prefijo que debemos dar al componente según su clase (notación húngara). Por ejemplo, al insertar un botón Aceptar, su nombre debería ser btnAceptar:

Si en la misma ventana pulsamos el botón Modify Prefix podemos elegir otro prefijo para esta clase:

Pues bien, si a partir de ahora queremos utilizar esta metodología y no queremos pegarnos la paliza cambiando el nombre de cada componente podemos utilizar este botón:

Al pulsarlo nos describe primero para que se utiliza:

Al pulsar el botón Continue nos aparece otro cuadro de diálogo donde podemos especificar si queremos cambiar solo este formulario o todos los formularios del proyecto:

Al pulsar el botón Process veremos una lista con los componentes que ha encontrado que no se ajustan a esta normativa y el nuevo nombre que les va a dar:

Al pulsar Ok hará todo el trabajo por nosotros. Lo único que no me hace gracia de este sistema este también me cambia la propiedad Caption de los mismos:

Y he estado mirando sus opciones (Settings) pero no he encontrando nada que desactive esto:

El último botón de este grupo se utiliza para renombrar el componente seleccionado sin tener que recurrir al inspector de objetos:
Nos mostrará la ventana que vimos anteriormente:

Esto sería para hacerlo uno a uno. Y también nos hace la faena de cambiarnos las propiedades Caption o Text, según el componente.

CONFIGURAR LA TABULACIÓN

Vamos con el penúltimo grupo:
El primer botón que aparece seleccionado sirve para activar o desactivar el número de tabulación que aparece en cada componente del formulario:

Si lo desactivamos se queda como cualquier Delphi sin cnPack:

El siguiente botón es bastante bueno para reordenar el orden de tabulación de los componentes:

Si tenemos el orden de tabulación desordenado:

Con sólo pulsar este botón nos quitará mucho trabajo:

Aunque parezca que no funciona al principio, pinchamos sobre cualquier componente y refrescará el formulario. Si este botón lo dejamos activado se encargará automáticamente de hacer la tabulación de izquierda a derecha y de arriba abajo.

El siguiente botón reordena también las tabulaciones pero no se queda activado:

Y con último botón de este grupo podemos arreglar la tabulación te todos los formularios del proyecto:


BUSCANDO FORMULARIOS Y COMPONENTES

Por fin llegamos al último grupo:
El primer botón es para la búsqueda de formularios en el proyecto:

El segundo botón si que es realmente útil para buscar componentes en el formulario actual (sobre todo cuando tenemos más capas que una cebolla):

El último botón es el más avanzado de todos:
Al pulsarlo aparece un menú contextual con estas tres opciones:

Mediante la opción ScriptWizard podemos incrustar dentro de nuestro programa un lenguaje script llamado RemObjects Pascal Script que permite modificar el comportamiento de nuestro programa sin tener que compilar cada vez:

Al pulsar el botón New a script nos creará una unidad nueva como si se tratase de un programa independiente:

También podemos pulsar el botón + para insertar script predefinidos que lleva dentro:

No voy a hablar sobre como crear estos script porque la ayuda que lleva el mismo es bastante buena y con muchos ejemplos. Quizás si me sobra tiempo, al final de esta serie de artículos pueda abarcar este tema, ya que tiene muy buena pinta. La opción Browse Demo nos muestra gran cantidad de ejemplos que han añadido los creadores de este experto.

En el próximo artículo veremos la barra de herramientas que se muestra cuando estamos editando código fuente.

Pruebas realizadas en Delphi 7 y Delphi 2007.

Publicidad