Object Pascal
Object Pascal divide los programas en dos secciones:
– La interfase (interface) y
– La implementación (implementation).
Examinemos la interface de este programa: La primera sección nos dice que esta unidad utiliza las librerías Windows, Messages, SysUtils, etc.
Después viene la definición de tipos (type), donde Delphi ha definido por nosotros la TForm1 que ha creado (en Delphi, las cosas no solo «aparecen» como en otros lenguajes.
Delphi es un lenguaje decente y siempre pone la representación de todo el diseño en archivos legibles y modificables con el editor).
Object Pascal es un lenguaje «altamente tipificado», lo cual quiere decir que cualquier variable, objeto o rutina debe ser declarado antes de ser escrito. La declaración de la forma también declara el Botón que le pusimos.
Si usted se pone a poner mas botones a la forma, vera que Delphi añade secciones Button2, Button3 a la unidad de la siguiente manera:
También podemos ver que Delphi definió el procedimiento Button1Click para cuando el usuario apriete el botón, y este procedimiento pasara el parámetro (Sender) lo cual le dirá a nuestra rutina que objeto fue el que ejecuto el evento (normalmente Button1, pero esto nos da el poder de compartir un «procedimiento manejador de eventos» para mas de un objeto – veremos como hacer esto mas tarde).
Si usted quiere añadir sus propias rutinas manualmente, Delphi ya nos pre-escribio una sección privada (private) y publica (public) para que podamos añadir funciones manualmente (existen mas directivas, como «protected» o «automated», pero las mas usadas son estas dos, por lo cual Delphi las define por nosotros.
Delphi trata de ayudar sin estropear nuestro código con mucha basura que no vamos a usar). Las funciones privadas solo son visibles para TForm1, mientras que las funciones publicas son visibles para cualquier objeto que use TForm1.
Ahora la ultima sección. Si usted es muy perceptivo habrá notado que he hablado de TForm1 (la clase) pero la variable que inicializaría la clase (de la cual hablamos con anterioridad) no ha sido definido. Bueno, pues la ultima sección del área de la interface lo define:
var
Form1: TForm1;
Aquí le decimos a Delphi que la variable Form1 es una variable de tipo TForm1. Y quien inicializa la variable Form1? Bueno, presione Control-F12 (View Unit=Ver Unidad) y seleccione Project1. Una de las líneas en el archivo de proyecto dice:
Application.CreateForm(TForm1, Form1));
Dentro de la función de TApplication CreateForm, el objeto aplicación crea un TForm1 y lo asigna a la variable Form1. Y porque el objeto aplicación? Esto es porque si Windows quiere matar la aplicación, la aplicación necesita tener una lista de todas las formas en tu programa para que puede llamar el método «Close» de todas tus formas.
TApplication tiene un arreglo (array) llamado Forms donde se encuentran todas las formas de tu proyecto.