El entorno de programación típico consta
en Delphi de cuatro ventanas que comparten el espacio disponible de la
pantalla. Cada una de estas ventanas puede modificarse, cerrarse y volverse
a abrir mediante el menú View. Estas ventanas fundamentales son:
La barra de programa del margen superior de la pantalla representa la ventana principal de Delphi. Si se cierra, todas las otras ventanas también finalizan su servicio. En la barra de menús de la ventana principal están disponibles todas las órdenes relacionadas con el procesamiento de un proyecto concreto. La carga y almacenamiento de proyectos pertenecen igualmente al menú, así como la presentación u ocultación de las distintas ventanas del entorno de desarrollo.
También se encuentran aquí las órdenes para compilar y ejecutar un programa. Finalmente, desde aquí también se puede llamar a una parte de los programas externos suministrados con el paquete de Delphi: el "Image Editor", el "Database Desktop", y el "BDE Config". El único utilizado en ANALOGIA.EXE es el editor de imágenes, ya que es capaz de crear y editar ficheros .BMP (por ejemplo las imágenes de los componentes mecánicos, etc), .ICO (el icono de la aplicación), .CUR (Los distintos cursores que he definido), .RES (Resource File) y .DCR (Component Resource).
El mayor espacio de la ventana principal lo ocupa
la paleta de componentes, que se encuentra dividida en secciones temáticas
a través de unas pestañas. Al igual que en el programa ANALOGIA.EXE,
si situamos el cursor sobre cada icono, saldrá un mensaje indicando
el tipo de acción que realiza.
|
|
|
Contiene todos los elementos de control que Windows pone a disposición normalmente, empaquetados en la estructura clara de un componente. En ANALOGIA.EXE los más usados son, los botones, cuadros de lista, menú, paneles, etiquetas, RadioButtons y CheckBoxes. |
|
Contiene todos los componentes que Windows no pone a disposición como elementos de control estándar, pero han resultado útiles con el paso del tiempo en varios programas. Principalmente se ha usado en ANALOGIA.EXE los botones de gráficos, el TabbedNoteBook, las tablas (TStringGrid), el visor de gráficos (Timage), y el TScrollBox. |
|
Aquí se encuentran los componentes desarrollados especialmente para una captura cómoda y rápida de las bases de datos. Se puede tratar tanto de bases de datos locales, como de sistemas repartidos (con importancia especial en la versión Client-Server de Delphi). |
|
Dispone de componentes variados para el procesado de datos, trabajando en conjunción con los elementos del área "Data Access". |
|
Contiene todos los diálogos estándar de Windows, empaquetados como componentes, tales como diálogos de open/save, impresión, etc. Los diálogos de archivo e impresión son usados en ANALOGIA.EXE |
|
Contiene varios componentes que ofrecen determinados servicios de sistema en Windows, como reloj, barras de archivos, funciones multimedia, DDE y OLE 2.0, etc. |
|
Contiene algunos elementos VBX visualizados como si fuesen componentes, tales como un visor de gráficos, un generador de diagramas, etc. |
|
Este último área contiene algunos otros componentes útiles cuyo código fuente se adjunta, tales como barras de progresión, calendario, etc. ANALOGIA.EXE hace uso de la barra de progresión y del botón con flechas. |
Delphi hace fácil precisamente las tareas rutinarias, dejando para el programador la tarea realmente importante de codificar el programa, no el entorno.
El entorno (ventanas, colocación de botones, listas, etc) se crea de forma puramente visual, es decir, simplemente se coge con el ratón el componente deseado de la barra de herramientas de la ventana principal y lo sitúa en la ventana sobre la que se desarrolla el programa (Form).
En el Form se puede reproducir el aspecto y el comportamiento
de todo tipo de ventanas, simplemente especificando las propiedades correspondientes
y/o escribiendo ampliaciones propias. De esta forma se caracteriza a la
ventana a través de sus propiedades: anchura, altura, coordenadas,
estilo de los bordes, colores, eventos ante los que reacciona, etc.
Como se ha mencionado, los componentes vienen definidos por sus propiedades, y los eventos ante los que reaccionan (aparte de los "métodos" de que disponga, que son parecidos a los procedimientos).
El inspector de objetos es una ventana desde la cual
se pueden ver y modificar la mayoría de las propiedades y eventos
del componente, ya que se listan en dicha ventana tanto las propiedades
como los eventos por orden alfabético.
La mitad derecha de la ventana contiene el valor actual de cada propiedad. Puede tratarse de números, cadenas de caracteres, constantes determinadas, gráficos, textos, punteros, etc.
En el caso de estar visualizando la parte correspondiente
a eventos, vemos que sale una lista con muchos de los eventos ante los
cuales el componente reacciona (no todos, algunos no son accesibles a través
del inspector de objetos y hay que definirlos mediante código).
Si por ejemplo queremos colocar (en ANALOGIA.EXE) un componente mecánico
cuando el usuario haga click con el ratón, debemos hacer que el
"Lienzo" (en realidad un TScrollBox) reaccione ante el evento OnClick.
Para ello efectuamos un doble click sobre el campo situado a la derecha
de "OnClick" en el inspector de objetos (inspeccionado el TScrollBox) con
lo cual se nos escribe directamente el siguiente código en la ventana
de edición de código:
procedure TForm1.LienzoClick (Sender: TObject);
begin
end;
Lo que se pone dentro del procedimiento será lo que se ejecute cuando se produzca el evento OnClick sobre el TScrollBox. En nuestro caso de ejemplo dibujar un componente mecánico.
Naturalmente, las rutinas de eventos pueden agregarse
repetidas veces. Por ejemplo (en ANALOGIA.EXE) si se ha vinculado la opción
del menú "Cerrar" con una rutina OnClick que se encarga de cerrar
la ventana activa, y disponemos también de el icono con la llave
(un TSpeedButton), no es necesario escribir otra vez el mismo código.
Basta con indicar el nombre de la rutina existente en el evento OnClick
en el botón.
Como se indicó al principio, Delphi es una "Two-Way-Tool", de forma que lo que se va programando visualmente, va apareciendo en forma de código en el editor de código fuente. De la misma forma, si no queremos hacer uso de las capacidades de programación visual, podemos limitarnos a escribir el código (incluida la creación de ventanas, etc.) que se ejecutará.
El editor dispone de una ventana distinta por cada Unit de que disponga el programa, seleccionándose una ventana u otra por medio de pestañas. En concreto, el programa ANALOGIA dispone de once units (de las cuales nueve tienen su form adjunto), cada una de las cuales se selecciona en el editor con su pestaña correspondiente.
Adicionalmente dispone de posibilidad de copia al
portapapeles, resaltado de palabras clave, inserción de puntos de
ruptura, índices, búsquedas, etc.