| Artículos | 01 MAR 1997

Trucos de programación para Delphi 2.0 y Visual C++ 4.x

Tags: Histórico
Jorge Pascual.

Trucos para Delphi 2.0

Apertura rápida de un archivo

Cuando se está trabajando con el editor de código suele darse la necesidad de tener que abrir diferentes archivos que contienen otras partes del mismo código. Para poder acceder rápidamente a la apertura de ficheros se puede pulsar la combinación de teclas Ctrl+Intro. Si esta combinación de teclas se pulsa sobre una sentencia Uses Delphi se encargará de localizar el fichero sobre el que nos encontramos situados.

Búsquedas automáticas de archivos

Con el consejo anterior podemos hacer que Delphi cargue cualquiera de los ficheros que se encuentren en la sentencia Uses. Pero esto tiene restricciones. Delphi no hace un barrido por todo el disco duro en busca del archivo, sino que únicamente busca en unos cuantos directorios que tiene asignados por defecto. Para ampliar la lista de directorios por defecto hay que dirigirse a Project-Options-Directories/ Conditionals y en la línea de entrada Search Path introducir la lista alternativa de directorios de búsqueda.

Moverse por los documentos

Delphi no crea una ventana por cada documento que abre. Esto al comienzo puede resultar un poco desagradable, pero con el paso del tiempo nos damos cuenta de que es un buen método para tener organizado el escritorio. Los documentos en Delphi se agregan a la misma ventana de edición en diferentes pestañas. Para poder movernos de forma rápida por ellos hay que pulsar Ctrl-Tab (para ir hacia adelante) y Ctrl-Mayúsculas-Tab (para ir hacia atrás).

Edición de archivos Delphi (.DFM)

Los archivos de tipo .DFM se almacenan en disco como archivos binarios. En estos archivos Delphi almacena los formularios que se crean. Si deseamos editarlos con un simple editor de textos en MS-DOS veremos que es imposible, pues su carácter binario hace que sean ilegibles para un editor convencional. Nosotros podemos convertir a formato ASCII este tipo de ficheros de una forma muy sencilla. En primer lugar se debe de abrir el fichero en cuestión dentro de Delphi. Una vez cargado lo grabamos cambiando la extensión a, por ejemplo, .TXT. De este modo ya tendremos convertido el archivo a formato ASCII y consecuentemente será editable desde cualquier editor de textos convencional. La operación inversa también es válida. Abriendo un archivo de texto en Delphi y guardándolo con la extensión .DFM veremos como el mismo programa se encarga de su conversión a binario. Este truco puede ser interesante para importar en Delphi formularios realizados con otros programas externos.

Ventana de librerías

A la vez que se escribe el código de un programa sería recomendable tener a la vista una serie de librerías de uso común. Aunque inicialmente todos los ficheros que se abren se almacenan en una única ventana, nosotros podemos abrir cuantas ventanas deseemos sin más que acudir a la opción New Edit Window del menú View. El consejo consiste en aglutinar en la segunda ventana abierta las librerías de uso más común y en la primera ventana el código que estamos editando. De esta forma podemos tener visibles las librerías y el código de forma simultánea.

Búsquedas hacia atrás

Cuando comenzamos ha hacer una búsqueda, en primer lugar pulsamos Ctrl-F y, para continuar buscando, pulsamos F3. En ocasiones se da la circunstancia de que por inercia, después de haber encontrado la zona del código que nos interesaba, hemos pulsado de nuevo la tecla F3, con lo que hemos perdido la búsqueda y deberemos comenzar de nuevo. Esto se puede evitar si volvemos hacía atrás en la búsqueda. Delphi no trae un comando específico para esto, pero podemos aprovechar la ventaja del Undo para ir hacia atrás. Así, si nos equivocamos y continuamos buscando simplemente deberemos pulsar Ctrl-Retroceso (o Undo en el menú Edit) para ir hacía atrás y volver al lugar deseado.

Evitar modificaciones indeseadas

Cuando nos desplazamos por un fichero, bien sea para hacer una búsqueda o para consultarlo, es muy probable que por error podamos modificar alguna parte del código y esto produzca bugs en el proyecto final. Para evitar este peligro podemos marcar cualquier fichero que carguemos en el editor como de sólo lectura, lo que provocará que Delphi no permita realizar ninguna modificación sobre él. Para poner el atributo de sólo lectura al fichero que se está editando hay que pulsar el botón derecho del ratón y en el menú contextual que aparece seleccionar Read Only. Esto tiene muchas ventajas, pero tiene un inconveniente. Si ahora deseamos hacer búsquedas hacia atrás no se nos permitirán.

Creación de bibliotecas de grupos de componentes

Es probable que en nuestros proyectos utilicemos controles complejos que se han formado como composición de controles simples. Por ejemplo, si deseamos crear una barra de estado podemos utilizar una serie de tres o cuatro controles de tipo texto. Cuando volvamos a necesitar una barra de estado igual deberemos acudir al proyecto que la contenía y utilizar la técnica de copiar y pegar. Sin embargo, nosotros podemos crearnos nuestras propias librerías de controles personalizados. Esto es posible porque Delphi permite guardar formularios sin la necesidad de crear proyectos. Así, en un formulario que podemos llamar BSTADO podemos almacenar la barra de estado del ejemplo. En otro formulario podemos guardar otro control personalizado y así de forma sucesiva hasta completar nuestra biblioteca de controles. Si además de esto los almacenamos todos ellos en un único directorio (por ejemplo LIBRERIA), cada vez que necesitemos utilizar uno de estos controles accederemos al directorio de la librería y tomaremos el que necesitemos. Evidentemente para insertarlo en el proyecto que estamos realizando deberemos utilizar la misma técnica de copiar y pegar, pero en este caso nos habremos ahorrado tener que buscar en qué disco se encontraba el proyecto que lo contenía, así como de pensar si tal o cual proyecto utilizaba el control buscado.

Limpiado de métodos vacíos

Cuando creamos un control y por inercia hacemos un doble clic en él, automáticamente Delphi creará unas cuantas líneas de código encargadas de gestionar el control creado. Las líneas creadas por Delphi se reducen al esqueleto que tendrán los métodos de gestión del control. Pero si borramos el control no habremos hecho lo mismo con el código generado, de no ser que hayamos ido método por método borrando los esqueletos. Esto se puede solucionar de una forma bastante sencilla: no haciendo nada. Efectivamente, si no hacemos nada, Delphi automáticamente al guardar el proyecto en disco eliminará todas las líneas que sean inservibles y limpiará nuestro código. También podemos forzar la limpieza si nos dirigimos a la opción Close del menú File y pulsamos Cancel en el diálogo que nos aparece. Teóricamente no hemos hecho nada, pero en la práctica Delphi ya habrá limpiado nuestro código de impurezas.

Creación de cursores en el editor de recursos

A la hora de crear un cursor en el editor de recursos tenemos que tener la precaución de que el nombre del mismo se encuentre todo él en mayúsculas. Si no es así la función LoadCursor no funcionará de forma correcta y el cursor creado no aparecerá en nuestro programa.

Creación dinámica de menús

Cuando se crea una opción de menú de forma dinámica surge el problema de especificar el método que se encargará de responder a esta opción. Para solucionar este problema, puesto que los métodos de respuesta se consideran propiedades de un control, deberemos ajustar la propiedad OnClick de la opción creada con el nombre del método encargado de la respuesta. Es decir, después de la creación deberíamos tener una línea como:

ItemCreado.OnClick := MetodoRespuesta;

y en algún sitio del programa debe de existir:

Contenidos recomendados...

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios
X

Uso de cookies

Esta web utiliza cookies técnicas, de personalización y análisis, propias y de terceros, para facilitarle la navegación de forma anónima y analizar estadísticas del uso de la web. Consideramos que si continúa navegando, acepta su uso. Obtener más información