Subido por Ygor Salgado

Lazarus Tutorial

Anuncio
www.scribd.com
Tutoriales / Manuales
LAZARUS
Un entorno para programar en Free Pascal
Lo más parecido a Delphi, y gratis
Este programa no está hecho para desarrollar
grandes y poderosas aplicaciones.
Está hecho para aprender a programar en un
lenguaje estructurado, simple y que te llevará a
comprender, sin costo alguno, el universo de la
programación.
Después de esto podrás ir a mejores lugares con la
seguridad de la experiencia en lenguajes de
programación.
macroplexx
Página 1
www.scribd.com
Lazarus Tutorial/es
Estos son los primeros pasos de una tutoría de Lazarus.
Contents
[hide]









1 Resumen
2 ¡Tú primer programa con Lazarus!
o 2.1 Comenzando
o 2.2 Segunda sesión
3 El Entorno integrado de desarrollo (IDE) de Lazarus
o 3.1 Ventana principal
o 3.2 Otras ventanas del IDE
o 3.3 El Menú Principal
 3.3.1 El submenú Archivo
 3.3.2 El submenú Editar
 3.3.3 El submenú Buscar
 3.3.4 El submenú Ver
 3.3.5 El submenú Proyecto
 3.3.6 El submenú Ejecutar
 3.3.7 El submenú Componentes (Paquete en la v0.9.26.2)
 3.3.8 El submenu Herramientas
 3.3.9 El submenú Entorno
 3.3.10 El submenú Ventanas
 3.3.11 El submenú Ayuda
o 3.4 Panel de botones rápidos
4 La Paleta de Componentes
o 4.1 Cómo utilizar la paleta
o 4.2 Pestañas de la Paleta de Componentes
 4.2.1 * Standard
 4.2.2 * Additional
 4.2.3 * Common Controls
 4.2.4 * Dialogs
 4.2.5 * Misc
 4.2.6 * Data Controls
 4.2.7 * Data Access
 4.2.8 * System
 4.2.9 * SynEdit
 4.2.10 * IPro
 4.2.11 * SQLdb
 4.2.12 * RTTI
5 Como utilizar los controles estándar, comunes y extendidos
o 5.1 Nota: todo lo que se dice respecto de modificar las propiedades de los objetos mediante código,
tiene efecto únicamente en tiempo de ejecución, por lo que los efectos de los valores modificados no
pueden observarse en el Inspector de Objetos.(iskraelectrica)
6 Cómo utilizar menús en nuestros programas
7 El Depurador
8 Los archivos de Lazarus
o 8.1 Herramientas del IDE de Lazarus
9 Colaboradores iniciales y cambios
Resumen
Lazarus es una herramienta de desarrollo libre y de código abierto para el compilador Free
Pascal (Object Pascal), que a su vez lo es también. El IDE de Lazarus es un entorno de
programación estable y con abundantes características para crear aplicaciones tanto con
interfaz gráficas como de consola. Actualmente funciona n sistemas operativos Linux, FreeBSD
macroplexx
Página 2
www.scribd.com
y Windows 32 bits, y proporciona un editor de código fuente personalizable y un entorno visual
para crear formularios, junto con un generador de paquetes, un depurador y una completa
integración del GUI con el compilador FreePascal.
¡Tú primer programa con Lazarus!
Quizá sea recomendable que aprendas antes un poco de Pascal. En Wikilibros tienes este
completo curso de Programación en Pascal que puedes seguir antes o al mismo tiempo que
este.
Comenzando
Descarga, instala (Instalación de Lazarus), con lo que también instalarás el compilador
FreePascal y ejecuta Lazarus.
Notas: en Linux Ubuntu, al menos, el comando para iniciar a Lazarus desde consola es
"startlazarus". Si se instaló desde un paquete Debian, habrá una entrada de menú Lazarus en
el menú Aplicacioesn / Programación.
En Debian y Ubuntu el archivo ejecutable principal y el paquete se denominan "lazarus-ide"
porque el paquete "tct" ya viene con una utilidad llamada "Lazarus".
Aparecerán varias ventanas en el escritorio: el menú principal arriba, el Inspector de Objetos
a la izquierda, el Editor de Código Fuente ocupando la mayor parte del escritorio, y un
formulario Form1, preparado sobre el Editor de Código fuente.
En la ventana superior, por debajo de la línea del menú, hay una fila de pestañas. Si la
pestaña Standard no está seleccionada, selecciónala pulsando sobre ella con el ratón.
Después busca el icono Button (un rectángulo con OK) y selecciónalo con el ratón, después
pulsa sobre la ventana Form1, en alguna parte de la misma. Aparecerá un rectángulo
sombreado etiquetado Button1. Selecciona de nuevo el icono Button en la pestaña estándar, y
pulsa sobre Form1 en otra parte del formulario: aparecerá otro rectángulo etiquetado Button2.
Ahora selecciona el botón Button1 con el ratón. El Inspector de Objetos mostrará las
propiedades del objeto Button1. Entre las primeras hay una propiedad llamada 'Caption', que
muestra el valor 'Button1'. Entra en la casilla, y cambia 'Button1' por 'Pulsa'. Si pulsó la
tecla INTRO o cambió a otra casilla, verá como el rotulo del botón en Form1 cambia a 'Pulsa'.
Ahora haz selecciona la pestaña Eventos del Inspector de Objetos, para ver los eventos de
que dispone el botón. Éstos son, por ejemplo, OnClick,OnEnter, OnExit, etc. Selecciona la
casilla que hay a la derecha de OnClick: la casilla se transforma en desplegable y también
aparece un botón con unos puntos suspensivos.
macroplexx
Página 3
www.scribd.com
Al pulsar este, aparecerá el cursor en el Editor de Código Fuente dentro ya de la plantilla del
procedimiento del evento:
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.caption := 'Pulsa otra vez';
{ahora escribe:}
{el editor siempre termina el procedimiento con}
end;
Si pulsas F12 aparecerá la ventana del formulario, al pulsar otra vez F12 volverás al Editor
de Código.
Ahora edita las propiedades de Button2: pulsa sobre Button2 para mostrar sus propiedades
en el Inspector de Objetos. Cambia su propiedad Caption por 'Cerrar' en lugar de Button2.
Ahora selecciona la pestaña Eventos, y haz doble pulsaciónen la casilla de OnClicK, cómo
antes, aparecerá el cursor en el Editor de Código Fuente dentro ya de la plantilla del
procedimiento del evento:
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
{ahora escriba:}
{el editor siempre termina el procedimiento con}
end;
Pulsa F12 para ver la ventana Form1.
Es conveniente guardar ahora tu trabajo, seleccionando 'Proyecto > Guardar proyecto' (que al
no haber guardado nuúnca funciona exactamente igual que 'Guardar como...'. Elije una
ubicación y pon nombre a la unidad que contiene el formulario (unit1.pas, por defecto) y al
proyecto (proyect1.lpi, por defecto). Lazarus guarda automáticamente una copia del proyecto
en el directorio backup con el estado del proyecto antes de compilar las últimas modificaciones.
Es importante guardar por tu cuenta los estados 'estables' del proyecto.
Estás listo ahora para compilar. La forma más simple de hacerlo pulsar la flecha verde que
hay en el panel a la izquierda de la barra de pestañas, que equivale a la opción de menú
'Ejecutar -> Ejecutar F9', o más rápido aún: pulsar simplemente F9 . Con esto compilaremos el
código y después (si todo es correcto) enlazará y ejecutará el programa.
Durante el proceso aparece una ventana con mensajes de texto, informando sobre el proceso
de compilación y enlazado, y finalmente la aparecerá la ventana de Form1 sin la rejilla de
puntos; ésto indica que es una verdadera ventana de la aplicación, ya dispuesta para que actúe
sobre ella, pulsando alguno de los botones que has creado o los que por defecto tiene la
ventana, en la barra del título.
Pulsa el botón etiquetado 'Pulsa'. Verás que cambia a 'Pulsa otra vez'. Si lo pulsas otra vez,
seguirá diciendo ¡¡'Pulse otra vez'!!
macroplexx
Página 4
www.scribd.com
Ahora hazlo con el botón marcado 'Cerrar'. La ventana se cierra, terminando la ejecución del
programa. Retornamos a Lazarus, con el formulario form1 para poder continuar el proceso de
edición del mismo y del código asociado.
Segunda sesión
Reabre el proyecto guardado antes, si es que los has cerrado.
Selecciona Button1 del Form1 En la ventana Form1.
Selecciona la pestaña 'Eventos' en el Inspector de Objetos, Selecciona la casilla de OnClick,
pulsa sobre los puntos suspensivos, para situarte el punto apropiado en el Editor de Código
Fuente.
Edita el código para poner lo siguiente:
procedure TForm1.Button1Click(Sender: TObject);
{Utilizaremos la propiedad Tag del botón, asignándole el valor 0 o 1}
begin
if Button1.tag =0 then
begin
Button1.caption := 'Pulsa otra vez';
Button1.tag := 1
end
else
begin
Button1.caption := 'Pulsa';
Button1.tag := 0
end
end;
Guarda el trabajo, compila y ejecuta. El botón de la izquierda alternará entre los dos
mensajes al pulsarlo.
¡El resto corre de tu cuenta!
Si prefieres escribir programas en PASCAL para consola o basados en texto (por ejemplo si
está siguiendo un curso de programación en PASCAL básico, o necesitas escribir programas
para usar en tratamiento por lotes o para programar el sistema), puedes también utilizar
Lazarus para editar, compilar y ejecutar estos programas. Es un entorno ideal para el desarrollo
de PASCAL. Ver PASCAL en modo consola.
El Entorno integrado de desarrollo (IDE) de Lazarus
Al ejecutar por primera vez Lazarus aparecen en el escritorio varias ventanas desconectadas
separadas o 'flotantes'.
Ventana principal
La primera, en la parte superior derecha del escritorio, con el rótulo Editor vXX.XX.XX de
Lazarus - project1 (que posteriormente reflejará el nombre que pongas al proyecto). Ésta es la
macroplexx
Página 5
www.scribd.com
ventana principal que controla tu proyecto, y contiene el Menú Principal, la Paleta de
Componentes y el panel de Botones Rápidos.
Una línea por debajo de la barra de título está el Menú Principal con las habituales opciones
Archivo, Editar, Buscar, Ver, Ventanas y Ayuda, y con las opciones que son específicas de
Lazarus. Debajo, a la izquierda hay un sistema de Botones Rápidos, que te llevan ágilmente a
opciones del Menú Principal, y a la derecha está la Paleta de Componentes.
Otras ventanas del IDE
Debajo de la ventana del editor de Lazarus aparecerá a la izquierda la ventana Inspector de
Objetos, y la del Editor de Código Fuente a la derecha.
macroplexx
Página 6
www.scribd.com
macroplexx
Página 7
www.scribd.com
Puede haber otra ventana más pequeña, etiquetada, en principio, Form1 , sobre la ventana
del Editor de Código. Si no es visible inmediatamente, puede hacerse aparecer presionando la
tecla F12 , que alterna entre la vista del Editor de Código y la vista del formulario Form1. La
ventana del formulario es en la que constituirá el interfaz gráfico de tu aplicación, mientras que
el Editor de Código es la ventana que muestra el código de PASCAL asociado a la aplicación
que está creando. El Inspector de Objetos se describe con detalle más adelante, junto con la
Paleta de Componentes. Cuando comience un nuevo proyecto (o cuando ejecute Lazarus por
primera vez) se construirá un formulario predefinido, que se compone de una caja en la que
hay una rejilla de puntos para ayudarle a colocar los diversos componentes del formulario, y
una
barra a lo largo de la parte superior que contiene los botones
habituales Minimizar, Maximizar y Cerrar. Si usted pulsa con el ratón en cualquier lugar de la
caja, verá las propiedades de este formulario mostradas en el Inspector de Objetos en el lado
izquierdo del escritorio.
macroplexx
Página 8
www.scribd.com
Otras ventanas que pueden llegar a ser visibles durante su trabajo: Inspector del Proyecto,
que contiene los detalles de los archivos incluidos en su proyecto, y permite que agregar
archivos o eliminar archivos de su proyecto; la ventana Mensajes, que muestra mensajes del
compilador, errores o informes sobre el progreso de su proyecto; si Lazarus fuese ejecutado
desde una ventana de terminal, el terminal original seguiría siendo visible y los mensajes
detallados del compilador también se mostrarían allí.
Por último, también puede ver una
ventana de mensajes en la parte inferior de la pantalla: ésta es utilizada por Lazarus para
mostrar los resultados al programador, por ejemplo, al compilar un programa.
El Menú Principal
La línea del menú principal contiene las siguientes
entradas: Archivo Editar Buscar Ver Proyecto Ejecutar Componentes (Paquete en la versión
0.9.26.2) Herramientas Entorno Ventanas Ayuda
Como de costumbre, las opciones se pueden seleccionar colocando el cursor del ratón sobre
la opción del menú y pulsando con el botón izquierdo, o pulsando Alt + F en el teclado
(suponiendo que la ventana del Menú Principal tenga el foco: si no lo tiene, pulse Tab ⇆ varias
veces para completar un ciclo del foco a través de varias ventanas hasta que la ventana
deseada tenga su barra de título resaltada).
El submenú Archivo

Nueva Unidad: Crea un nuevo archivo Unidad (en código fuente Pascal).
macroplexx
Página 9
www.scribd.com

Nuevo Formulario: Crea un nuevo Formulario: tanto la ventana visual en pantalla como el
archivo asociado en código fuente Pascal.

Nuevo ...: Muestra ventana emergente con un menú (captura de pantalla ) con los distintos
tipos de proyectos y archivos nuevos que se pueden crear.

Abrir: Muestra un cuadro de diálogo emergente para permitirle recorrer el sistema de
archivos y elegir un archivo existente para abrirlo..

Deshacer: Anula los cambios de edición y devuelve el archivo a su estado original.

Guardar: Guarda el archivo actual, usando su nombre original. Si no tiene nombre, el
sistema se lo pregunta (igual que Guardar como)

Guardar como: Le permite escoger una carpeta y un nombre para guardar el archivo
actual.

Cerrar: Cierra el archivo actual, preguntando si quiere guardar todos los cambios del editor.

Cerrar todos los archivos del editor: Cierra todos los archivos abiertos actualmente en el
editor. Pregunta si se guardan los cambios.

Limpiar directorio: Muestra un diálogo con varios filtros editables para borrar archivos del
directorio actual. Útil para borrar archivos .bak y restos de antiguos proyectos en Delphi.

Salir: Sale de Lazarus, después de preguntar si se guardan los archivos editados.
El submenú Editar
macroplexx
Página 10
www.scribd.com

Deshacer: Deshace el último cambio, dejando el Editor como estaba antes de la última
acción.

Rehacer: Rehace la última acción que fue anulada por Deshacer.

Cortar: Borra el texto u otros objetos seleccionados y los coloca en el portapapeles.

Copiar: Hace una copia del texto seleccionado, dejando el original en su sitio y colocando
una copia en el portapapeles.

Pegar: Sitúa el contenido del portapapeles en la posición del cursor. Si el texto ha sido
seleccionado en la posición del cursor, el contenido del portapapeles sustituirá al texto
seleccionado.

Sangrar selección: Mueve el texto seleccionado hacia la derecha según lo indicado en
Entorno -> Opciones del Editor -> General -> Sangrar bloque. Esta característica es útil
para formatear su código fuente Pascal para mostrar la estructura del bloque subyacente.
macroplexx
Página 11
www.scribd.com

Desangrar selección: Elimina un nivel de sangrado, moviendo el texto hacia la izquierda
según lo indicado en Sangrar bloque.

Encerrar selección: Muestra un menú emergente con varias opciones para, lógicamente,
encerrar el texto seleccionado (begin ... end; try ... except; try ... finally; repeat ... until; { ... };
etc).

Selección en mayúsculas: Convierte el texto seleccionado en mayúsculas.

Selección en minúsculas: Convierte el texto seleccionado en minúsculas.

Tabulaciones a espacios en selección: Convierta cualquier tabulación en el texto
seleccionado según el número de espacios especificado en Entorno -> Opciones del Editor
-> General -> Anchura de tabulación. No se fija el número de espacios cuantitativamente,
sino el número que se necesita para rellenar el ancho restante de tabulación.

Romper líneas seleccionadas: Si algunas líneas en el texto seleccionado o el número
especificado en Entorno -> Opciones del Editor -> Pantalla -> Margen derecho, tienen más
de 80 caracteres, la línea se rompe en una palabra límite y continúa en la línea siguiente.

Comentar selección: Convierte el texto seleccionado en comentarios, insertando // en
cada línea.

Descomentar selección: Borra las marcas de comentario.

Ordenar selección: Ordena líneas (o palabras o párrafos) alphabeticamente; en orden
ascendente o descendente, puede ser sensible o insensible a mayúsculas/minusculas. En
mitad del código fuente del programa, claro, se convierte en insensible, pero si tiene una
lista que necesita ordenar lo puede hacer con esto.

Seleccionar: Permite seleccionar bloques de texto. Las opciones son Seleccionar todo,
Seleccionar tira, seleccionar párrafo o línea, etc.

Insertar desde mapa de caracteres: Permite insertar símbolos que no están en el teclado
tales como caracteres acentuados, seleccionándolos desde un mapa de caracteres
emergente.

Insertar texto: Muestra un menú emergente que permite insertar texto normal, tal como
palabras clave de CVS (Author, Date, Header, etc) o avisos de GPL, usuario o fecha y hora
actual.

Completar código: Completa el código donde está el cursor. Es sensible al contexto y le
ahorra mucho tiempo. Por ejemplo: completa clases, añadiendo variables privadas, las
propiedades Get y Set acceden a métodos y añaden partes principales de métodos.
Asignando variables (por ejemplo i:=3;) añade las declaraciones de las variables. En los
procedimientos definidos en adelante añade las partes principales de los métodos. Al
asignar eventos (OnClick:=) añade la definición del método y su parte principal.
Véase Herramientas del IDE de Lazarus.

Extraer procedimiento: Usa el texto seleccionado (una declaración o varias) para
construir un nuevo procedimiento.
macroplexx
Página 12
www.scribd.com
El submenú Buscar

Buscar: Parecido a lo que existe en casi todos los editores de texto: aparece un cuadro de
diálogo emergente que permite introducir una cadena de texto a buscar, con opciones
como sensible a mayúsculas/minúsculas, palabras completas, origen, alcance y dirección
de búsqueda.

Buscar Siguiente, Buscar Anterior: Busca otra vez según la entrada de texto previa, en
la dirección especificada.

Buscar en archivos: Busca el texto en archivos: cuadro de diálogo emergente con las
opciones todos los archivos abiertos, todos los archivos en el proyecto, o todos los
directorios; se pueden utilizar caracteres comodín para seleccionar archivos de un tipo
determinado.
macroplexx
Página 13
www.scribd.com

Reemplazar: Parecido a Buscar; muestra un cuadro de diálogo emergente con espacio
para escribir una cadena de texto y sustituir texto y opciones de sensibilidad a
mayúsculas/minúsculas, dirección, etc.

Búsqueda incremental: Busca la cadena de texto mientras estamos introduciendo la
cadena a buscar. Por ejemplo: después de elegir "Búsqueda incremental" si teclea "l" la
primera "l" se resaltará. Si después presiona "a", el editor buscará la siguiente "la" y así
sucesivamente.

Ir a línea: Mueve el cursor de edición a la línea especificada de un archivo.

Saltar atrás: Regresa en el archivo a el anterior marcador (es necesario haber
utilizado Añadir punto de salto al historial. Se moverá a marcadores en otros archivos
abiertos en el Editor.

Saltar adelante: Se mueve hacia delante al próximo marcador.

Añadir punto de salto al historial: Añade marcadores o puntos de salto al archivo.

Ver historial de salto: Muestra la lista de marcadores del archivo: Todavia no llevado a
cabo.

Buscar otro final del bloque de código: Situados en un begin, busca el
correspondiente end o viceversa.

Buscar comienzo del bloque de código: Se mueve al begin de un procedimiento o
función en la que está situado el cursor.

Buscar declaración desde el cursor: Buscar el lugar en el que se ha declarado el
identificador seleccionado. Esto puede ser en el mismo archivo u otro ya abierto en el
Editor; si el archivo no está abierto, se abrirá (cuando se declara un procedimiento o una
función, por ejemplo, en classesh.inc , se abrirá en el Editor).

Abrir nombre de archivo a cursor: Abre el archivo cuyo nombre se ha seleccionado con
el cursor. Es útil para examinar archivos Include o archivos que contienen
otras Unidades usadas en el proyecto.

Ir a directiva de inclusión: Si el cursor está situado en un archivo que está Incluido en
otro archivo, va al lugar en el otro archivo que llamó el archivo Include.
El submenú Ver
macroplexx
Página 14
www.scribd.com
Controla la visualización de varias ventanas y paneles en la pantalla.

Inspector de Objectos: La ventana que normalmente ocupa el lado izquierdo del escritorio
y muestra las propiedades del formulario que aparece en él. Si hace clic con el ratón en
cualquier componente de un formulario se mostrarán los detalles de ese componente en el
Inspector de Objetos. En la parte superior hay un panel que muestra la estructura en árbol
del proyecto actual y en el que se pueden seleccionar los componentes del formulario: esto
también hará que se muestren en el Inspector de Objetos los correspondientes detalles. El
panel principal inferior tiene dos pestañas que permiten
seleccionar Propiedades o Eventos. Si se selecciona Propiedades se muestran
características como nombre, color, etiqueta, tipo de letra, tamaño, etc.: hay dos columnas,
la izquierda muestra la propiedad y la derecha el valor asociado a esa propiedad. Si se
selecciona Eventos muestra dos columnas: la izquierda lista los posibles eventos tales
como MouseClick o KeyDown asociados con ese componente, y la izquierda la acción que
resulta de ese evento. Si ho hay una acción definida, haciendo clic en la casilla apropiada o
en el botón
macroplexx
hace que aparezca el Editor de Código, con el cursor ya colocado en una
Página 15
www.scribd.com
plantilla de declaración de procedimiento, esperando que tecleemos el código que defina el
evento.

Editor del código fuente: La ventana principal donde se edita el código fuente. Su
funcionamiento es muy parecido a la mayoría de los editores de texto gráficos, así que el
ratón puede mover el cursor sobre el texto mostrado, y al hacer clic con el botón izquierdo
mientras arrastramos se seleccionará y sombreará texto. Al pulsar con el botón derecho se
muestra un menú emergente, pero si está familiarizado con Windows, o editores de Gnome
o KDE, encontrará que el menú emergente NO tiene las funciones habituales de edición:
Cortar, Copiar y Pegar, sino que incluye opciones como Buscar Declaración o Abrir archivo
en cursor. La parte superior del Editor del código fuente tiene varias pestañas, que
corresponden a los archivos que están abiertos para el proyecto actual; pulsando sobre
cualquiera se verá el archivo, y podrá moverse fácilmente de un archivo a otro, copiando y
pegando entre archivos y realizando la mayoría de las funciones normales de edición. El
Editor del código fuente resalta texto en color, con colores diferentes para signos de
puntuación, comentarios, constantes, etc. También mantiene el nivel de sangrado de línea
en línea, mientras no lo cambie. La funcionalidad y apariencia del Editor del código fuente
son muy configurables desde el Menú Principal seleccionando Entorno -> Opciones del
editor y seleccionando después una de las pestañas del cuadro de diálogo emergente.

Explorador de código: Una ventana emergente . normalmente situada a la derecha del
escritorio que muestra, en forma de árbol, la estructura del código en la unidad o programa
actual. Habitualmente se abre con el nombre de unidad y ramas para las secciones
Interface e Implementation, pero pulsando en el recuadro
situado a la
izquierda de cualquier rama abrirá sus sub-ramas o ramitas, con más y más detalles hasta
constantes individuales, se mostrarán tipos y variables, así como procedimientos y
declaraciones de función. Si cambia el archivo mostrado en la ventana principal del Editor
del código fuente, necesitará pulsar el botón Refrescar del Explorador de Código para
mostrar la estructura del nuevo archivo.

Unidades...: Abre una ventana emergente de diálogo con una lista de los archivos de
unidades en el proyecto actual. Haciendo clic con el ratón sobre un nombre de archivo se
selecciona ese archivo; pulse en Abrir para mostrar ese archivo en el Editor del código
fuente. Si marca el recuadro Multi podrá seleccionar varios archivos a la vez, y todos ellos
se abrirán en el Editor del código fuente (pero sólo se mostrará uno cada vez). Este Menú
Opción se parece bastante a Proyecto -> Opciones del Inspector del Proyecto, pero sólo
muestra la lista de archivos unidades y permite que sean abiertos.

Formularios...: Abre una ventana de diálogo emergente con una lista de los formularios del
proyecto actual, y permite seleccionar uno o más para que sean mostrados.

Ver dependencias de la unidad: Abre una ventana de diálogo emergente que muestra,
como un árbol, la estructura de dependencias del archivo unidad actualmente abierto. La
macroplexx
Página 16
www.scribd.com
mayoría de los archivos listados como dependencias tendrán sus propios
recuadros
, lo que permite que se exploren las dependencias de los
archivos individuales, a menudo de una manera muy recursiva.

Commutar Ver formulario / unidad: Commuta entre el Editor del código y el formulario
actual situado en la capa superior del escritorio, y le da el foco. Si el Editor del código tiene
el foco, puede editar el código fuente; si se le da el foco al formulario podrá manipular los
componentes en el escritorio y cambiar el aspecto del formulario. El modo más sencillo de
alternar entre el Editor y el formulario es usar la tecla F12 , pero se consigue el mismo
resultado seleccionando esta opción en el Menú Principal.

Mensajes: Una ventana que muestra los mensajes del compilador, el avance de una
compilación con éxito o lista los errores encontrados.

Buscar resultados: Una ventana que muestra los resultados de una búsqueda en
archivos.

Ventanas de depuración: Abre un menú emergente con varias opciones para operar y
configurar el depurador. Más abajo se describe el Depurador
El submenú Proyecto

Nuevo proyecto: Crea un nuevo proyecto. Aparece una ventana de diálogo emergente
que ofrece la posibilidad de elegir entre varios tipos de proyectos.

Nuevo proyecto desde archivo: Aparece una ventana de diálogo de navegación, que
permite seleccionar un archivo desde el cual crear un nuevo proyecto.
macroplexx
Página 17
www.scribd.com

Abrir proyecto Abre un proyecto que ya había sido creado y guardado. Aparece un
diálogo de navegación con una lista de archivos con Información del Proyecto Lazarus
(Lazarus Project Information (.lpi)) desde el que se puede elegir un proyecto.

Abrir proyecto reciente: Muestra una lista emergente de los proyectos recientes en los
que ha estado trabajando y permite seleccionar uno de ellos.

Guardar proyecto: Parecido a Archivo -> Guardar: se guardan todos los archivos del
proyecto actual; si no fueron previamente guardados, se nos pregunta el nombre- como en
Guardar Proyecto como...

Guardar proyecto como...: Pide un nombre para guardar el proyecto. Se ofrece por
defecto el nombre Project1.lpi, pero debería elegir su propio nombre. Lazarus no permitirá
usar el mismo nombre para el archivo proyecto y el archivo unidad (véase más abajo).

Publicar proyecto: Crea una copia de todo el proyecto. Si desea mandárselo a alguien
sólo la configuración de las fuentes y el compilador de su código, esta función es su amiga.
Una carpeta normal de proyecto contiene mucha información. La mayoria no es necesario
hacerla pública: el archivo .lpi contiene información de la sesión (como posición de
inserción de texto y marcadores de unidades cercanas) y la carpeta del proyecto contiene
muchos archivos .ppu, .o y el ejecutable. Para crear un archivo lpi solamente con la
información base y sólo las fuentes, en todas las subcarpetas use "Publicar proyecto". En
el diálogo puede establecer los filtros excluir e incluir y con la orden después puede
condensar la salida a un único archivo. Véase Herramientas del IDE de Lazarus

Inspector del proyecto: Abre un diálogo con aspecto de árbol que muestra los archivos
del proyecto actual. Permite añadir, borrar y abrir los archivos que se seleccionen, o
cambiar las opciones del proyecto.

Opciones del proyecto...: Abre una ventana de diálogo con varias pestañas para
establecer opciones para Aplicación (título, archivo de salida), Formularios (que permite
seleccionar, de entre los formularios disponibles, los que se crearan automáticamente al
arrancar la aplicación) y Miscelánea (especifica si la información del editor debería
guardarse para archivos cerrados, o sólo para archivos del proyecto). NO ESTOY
REALMENTE SEGURO DE LO QUE SIGNIFICA ESTO: ¡¡AYUDA!! --> en la versión
0.9.24 estas casillas figuran en la pestaña Sesión y lo que viene a decir es si se salvan
cambios realizados en archivos abiertos en el editor, pero que no pertenecen al proyecto,
normalmente unidades que figuran en la cláusula uses y otros que nosotros hayamos
abierto, pero no añadido al proyecto. Lo de los archivos cerrados si que es un misterio.

Opciones del compilador...: (Se trasladó a aquí recientemente desde el Menú Ejecutar).
Abre una ventana multipagina con pestañas para configurar el compilador. Las pestañas
son Rutas para definir trayectorias de búsqueda para unidades, archivos include, librerías,
etc., también permite elegir un tipo de interfaz para los formularios (gtk, gnome,
win32); Procesando para elegir las reglas para procesar programas fuente, Código para
macroplexx
Página 18
www.scribd.com
hacer que los programas sean mas rápidos y pequeños, elegir procesador objetivo, tipos
de comprobaciones, tamaño de la pila, etc; Enlazando permite elegir como usar la
depuración, librerías estáticas o dinámicas, y si se pasarán las opciones a través del
enlazador; Mensajes definir que tipo de mensajes se generarán si hay errores; Otro para
decidir si usar el archivo de configuración por defecto (fpc.cfg) o algún otro
archivo; Heredado muestra un diagrama con estructura de árbol para indicar cómo han
sido heredadas las opciones desde unidades ya incorporadas; Compilación permite definir
comandos que se ejecutarán antes o después de lanzar el compilador y puede permitir
usar archivos Make.

Añadir archivo de editor al proyecto: Añade al proyecto el archivo que se está editando
en este momento.

Eliminar del proyecto: Aparece un menú emergente con los archivos que se pueden
quitar del proyecto.

Ver fuente: Independientemente del archivo que está editando, lo lleva de regreso al
archivo del programa principal (.lpr), o al archivo principal .pas si no hay .lpr.

Ver lista Para-Hacer: Abre un cuadro de diálogo con una lista de tareas pendientes
asociadas a este proyecto. Listará cualquier comentario de tareas pendientes de su
proyecto (líneas que comienzan por //TODO), y cualesquiera otras en las unidades Lazarus
que utilizó. Necesita Refrescar las tareas pendientes en el diálogo (usando el botón con el
símbolo de una flecha en la barra de herramientas) para que aparezcan las nuevas tareas
pendientes. La primera columna de la lista de tareas pendientes contiene números que ha
destinado a sus comentarios ToDo; un simple //TODO hará que aparezca un cero, pero un
comentario //TODO999 (por ejemplo) pondrá el número 999 en la primera columna.
Recuerde que no puede haber espacios antes de //TODO y que los comentarios ToDo
añadidos después de la última vez que guardó ¡no se mostrarán!
El submenú Ejecutar
macroplexx
Página 19
www.scribd.com

Construir: hace que Lazarus construya (es decir compile) los archivos del proyecto que
han sufrido cambios desde la última construcción.

Construir todo: Construye todos los archivos del proyecto, hayan sufrido cambios o no.

Abortar construcción: Para el proceso de construcción una vez iniciado - si ha recordado
que hizo algo mal y quiere parar la construcción , o el proceso parece que se alarga mucho
y evidentemente, hay algún error.

Ejecutar: Este es el modo normal para lanzar el compilador y, si la compilación tiene éxito,
empezar la ejecución de la aplicación. Lo que relamente ocurre es que Lazarus guarda una
copia de sus archivos, después inicia el compilador y el enlazador, luego comienza la
ejecución del programa binario enlazado final.

Pausar: Suspende la ejecución del programa. Esto le puede permitir inspeccionar cualquier
salida que haya sido generada; la ejecución se puede continuar
seleccionando Ejecutar otra vez.

Paso a paso por instrucciones: Utilizado junto con el depurador, produce la ejecución del
programa paso a paso hasta un punto señalado del código fuente.
macroplexx
Página 20
www.scribd.com

Paso a paso por funciones: Produce la ejecución paso a paso hasta la declaración
señalada, después salta la declaración y continúa la ejecución a velocidad normal. Útil para
intentar aislar una declaración que provoca un error lógico.

Ejecutar hasta cursor: Provoca la ejecución a velocidad normal (es decir, NO una
declaración cada vez) hasta la declaración donde está el cursor; después se para.
Continúe la ejecución a velocidad normal seleccionando Ejecutar

Detener: Para la ejecución del programa. No se puede continuar seleccionando Ejecutar;
esto hará que comience el programa otra vez desde el principio (recompilando si es
necesario).

Parámetros de ejecución: Abre una ventana emergente multipágina que permite opciones
de consola y parámetros que se le pasarán al programa para que sean ejecutados; permite
la selección de monitor para ejecutar el programa (por ejemplo, en Linux se puede utilizar
un terminal X remoto); algunas variables de entorno pueden ser invalidadas.
Una aplicación muy importante de este submenú es activar una ventana de terminal en la
que se muestra una consola Pascal de entrada/salida. Si está desarrollando un programa
Pascal en modo consola (por ejemplo, que no use el interfaz gráfico de usuario (GUI) con
sus formularios, botones y recuadros) debería marcar la casilla "Usar lanzando aplicación".
La primera vez que haga esto e intente Compilar/Ejecutar, probablemente obtendrá un
desagradable mensaje que diga:
"xterm: Can't execvp /usr/share/lazarus//tools/runwait.sh: Permission
denied".
Si ocurre esto, necesita cambiar los permisos del archivo apropiado (por ejemplo usando
chmod +x archivo, o usando la utilidad de Windows para cambiar permisos); puede que
tenga que hacer esto como administrador. Después, cada vez que ejecute el programa,
aparecerá una ventana de terminal con todo su texto de entrada/salida (readln, writeln, etc).
Después de terminar la ejecución de su programa, aparecerá un mensaje "Presione intro"
en la pantalla. Así, cualquier salida que produzca su programa permanecerá en la pantalla
hasta que haya podido leerla; después de que presione 'intro' se cerrará la ventana de
consola.
Véase este tutorial sobre programación Pascal en modo consola.

Reiniciar depurador: Devuelve el depurador a su estado original, con lo que se borran los
puntos de interrupción y los valores de las variables.

Construir archivo: Compila (construye) sólo el archivo que está abierto en este momento
en el editor.

Ejecutar archivo: Compila, enlaza y ejecuta sólo el archivo abierto en este momento.
macroplexx
Página 21
www.scribd.com

Configurar Construir+Ejecutar archivo: Abre una ventana multipágina con opciones que
permiten construir únicamente este archivo cuando se selecciona Construir proyecto,
permite seleccionar la carpeta de trabajo, el uso de varias macros, etc. Después construye
y ejecuta el archivo.
4Estas tres últimas opciones le permiten abrir (y mantener) un proyecto de prueba. Use
Archivo -> Abrir, para abrir un archivo .lpr, presione cancelar en el diálogo siguiente para
abrir este archivo como un archivo "fuente normal".
El submenú Componentes (Paquete en la v0.9.26.2)

Abrir paquete cargado...: Muestra una Lista de los paquetes instalados , dándonos la
posibilidad de abrir uno de ellos , y en la ventana que sale configurarlo, compilarlo o
editarlo.

Abrir archivo de paquete (lpk)...: Abre el paquete seleccionado y en la ventana que sale
configurarlo, compilarlo o editarlo.

Abrir paquete de unidad actual: Abre la ventana de configuración del paquete al que
pertenece la unidad activa en el editor de código.

Abrir paquete reciente...: Abre un paquete que fue abierto recientemente.

Añadir unidad activa al paquete: Sitúa el archivo unidad (que se encuentra seleccionado
en este momento en el editor) dentro de un paquete.

Gráfico de paquete...: Muestra un gráfico con las relaciones entre los paquetes que se
están usando (si no estás usando ningún otro paquete, se mostrarán el paquete Lazarus y
el FCL y el LCL).

Configurar paquetes instalados...: Muestra los paquetes disponibles y los instalados.
Permite añadir y suprimir paquetes.
El submenu Herramientas
macroplexx
Página 22
www.scribd.com

Configurar herramientas personalizadas: Permite al usuario añadir varias herramientas
externas (generalmente macros) al juego de herramientas.

Comprobación rápida de la sintaxis: Realiza una comprobación rápida de la sintaxis en
su archivo fuente sin compilar nada realmente. El paso esencial en el desarrollo de
programas largos y complicados, cuando no quiere perder tiempo compilando si el código
está equivocado.

Adivinar bloque sin cerrar: Útil si tiene una estructura de bloques anidados y ha dejado
un 'end' en algún lugar.

Adivinar IFDEF/ENDIF perdido: De utilidad si hay una estructura de macro anidada o
compleja y cree que ha dejado una directiva ENDIF.

Hacer ResourceString: Convierte la cadena seleccionada en un ResourceString
situándola en una sección resourcestrings, que debe existir en alguna unidad del proyecto.
Una ventaja de ResourceStrings es que pueden ser modificadas ¡sin necesidad de
compilar el proyecto de nuevo! con las herramientas adecuadas.

Diff: Permite comparar dos archivos (generalmente dos versiones del mismo archivo) para
encontrar diferencias. Opciones para ignorar espacios en blanco al principio o al final de las
líneas o variaciones del terminador delínea: CR+LF frente a LF. Útil para comprobar si ha
habido cambios desde la última actualización de CVS, etc.
macroplexx
Página 23
www.scribd.com

Opciones de las plantillas del proyecto: Este elemento es añadido por el paquete Project
Templates.

Verificar archivo LFM en editor: Permite inspeccionar el archivo LFM que contiene las
especificaciones que describen el formulario actual.

Convertir unidad de Delphi a unidad de Lazarus: Ayuda a convertir aplicaciones Delphi
en Lazarus; realiza los cambios necesarios en el archivo fuente. Ver Lazarus para usuarios
de Delphi y Guía de conversión de código.

Convertir proyecto de Delphi a proyecto de Lazarus: Ayuda a convertir proyectos Delphi
en proyectos Lazarus; realiza los cambios necesarios en los archivos que componen el
proyecto. Ver Lazarus para usuarios de Delphi y Guía de conversión de código.

Convertir paquete de Delphi a paquete de Lazarus: Ayuda a convertir paquetes Delphi
en paquetes Lazarus; realiza los cambios necesarios en los archivos que componen el
paquete. Ver Lazarus para usuarios de Delphi y Guía de conversión de código.

Convertir archivo DFM a LFM: Para llevar de Delphi a Lazarus: convierte los archivos de
descripción del formulario de Delphi a Lazarus. Véase Lazarus para usuarios de
Delphi y Guía de conversión de código.

Construir Lazarus: Ejecuta una reconstrucción de Lazarus desde los archivos más
recientemente descargados o actualizados vía CVS. Añadirá o eliminará los paquetes sgún
hallamos indicado en la ventana configurar paquetes instalados. Pulse el botón y ¡siéntese
a mirar lo que ocurre! (siga el proceso en la ventana Mensajes).

Configurar "Construir Lazarus": Permite al usuario determinar qué partes de Lazarus
serán reconstruidas, y cómo. Por ejemplo, puede seleccionar que sólo se reconstruya la
LCL, o todo excepto los ejemplos; puede seleccionar qué interfaz de LCL usar (por ejemplo
qué conjunto de interfaces) , y puede seleccionar el sistema operativo y especificar una
carpeta diferente.
El submenú Entorno

Opciones del Entorno: exhibe una ventana de páginas con múltiples pestañas para

Archivo - permite que el usuario especifique la ruta para la carpeta por defecto, el
compilador, la carpeta de fuentes y la carpeta temporal para la compilación;

Escritorio - opciones para el idioma, guardar automáticamente, guardar propiedades
del escritorio, sugerencias para paleta de componentes y botones rápidos;
macroplexx
Página 24
www.scribd.com

Ventanas, permite la especificación del tamaño y del comportamiento de varias
ventanas;

Editor de formulario - elegir los colores para editar formularios;

Inspector de objetos - elegir el color y la altura de elementos;

Copia de seguridad - especificar cómo hacer copias de seguridad de los archivos
cuando editamos;

Nombrando - especificar qué extensión utilizar al nombrar archivos de PASCAL ('pp' o
'pas'), si se guardarán los archivos con nombres en minúsculas, si se borrarán o
renombrarán automáticamente.

Opciones del Editor: ventana de páginas múltiples, con pestañas para

General - determina comportamientos como sangrado automático, resaltado de
paréntesis, arrastrar y soltar, desplazamiento por el texto, resaltado de sintaxis, mostrar
sugerencias, tamaño de sangrado de bloques y las pestañas, límite de deshacer;

Visualizar - opciones para mostrar números de línea, la presencia de canales, el
tamaño y el tipo de fuente para el editor, y contiene un panel de vista previa que
muestra los colores de varias características de la sintaxis tales como comentarios,
carpetas, puntuación, errores y puntos de ruptura;

Accesos rápidos - para seleccionar entre el esquema de Lazarus o el de Turbo
Pascal;

Color - permite elegir el esquema de color para las características del texto, para
varios lenguajes tales como Objet PASCAL, C++, Perl, HTML, XML y scripts de shell.
Muestra el panel de vista previa otra vez (para cualquier lenguaje seleccionado);

Herramientas de código - permite seleccionar características como la terminación del
identificador, consejos, especificación del nombre del archivo plantilla, plantillas
específicas para la terminación del código.

Opciones de depuración: ventana de páginas múltiples con pestañas para

General - eligir depurador: ninguno, depurador de GNU (gdb) o gdb a través de SSH,
especificar las rutas de búsqueda para las depuraciones, y las opciones específicas
para la depuración elegida;

Registro de eventos - especificar si borrar el registro y ejecutar, y qué mensajes
exhibir;

Excepciones del lenguaje - seleccionar qué excepciones se pueden ignorar;

Excepciones del sitema operativo - permite que el usuario agregue ciertas señales
que se apliquen al sistema operativo actual (no funciona todavía).

Opciones de CodeTools: ventana de páginas múltiples, pestañas para

General - permite la entrada de las rutas de búsqueda de código fuente adicionales,
especificar método de salto;
macroplexx
Página 25
www.scribd.com

Creación de código - se determina si el código creado está agregado antes o después
de cierto punto;

Palabras - se determina si las palabras claves de Pascal se deben introducir en
mayúsculas o minúsculas, o como palabras todas en mayúsculas;

Separación de línea - establece las reglas sobre dónde se permite partir las líneas
(antes o después de la puntuación, después de las palabras claves, etc);

Espacio - decidir si un espacio debe ser agregado automáticamente antes o después
de ciertos rasgos sintácticos tales como palabras claves o signos de puntuación.

Definir editor de CodeTools: permite insertar plantillas de Free Pascal, Lazarus, Delphi o
Kylix.

Escanear de nuevo el directorio de fuentes de FPC: busca por la carpeta otra vez.
Lazarus utiliza las fuentes del FPC para generar eventos correctos y cuando busca
declaraciones. Si cambia la carpeta en las opciones del entorno, esa carpeta se vuelve a
explorar, para cerciorarse de que Lazarus utiliza la versión que se almacenó en esa
localización. Pero si esa carpeta ha cambiado sin que Lazarus lo advierta, entonces puede
obtener algunos errores al diseñar formularios o hacer "Encontrar declaración". Si obtiene
tal error, puede hacer dos cosas:
1. Comprobar la carpeta de fuentes del FPC configurada en la opción Entorno.
2. Volver a explorar la carpeta de fuentes del FPC.
El submenú Ventanas
Contiene una lista de las ventanas abiertas y por tanto disponibles, como Editor de código
fuente, Inspector de Objetos ,Inspector del proyecto, Mensajes y las de los formularios.
Seleccionando el nombre de una de las ventanas la pondrá en primer plano y le dará el foco.
El submenú Ayuda
Tiene tres opciones:
macroplexx
Página 26
www.scribd.com

Ayuda en línea abre una ventana del navegador que contiene una imagen de un guepardo
corriendo y varios enlaces a Lazarus, FreePascal y el sitio web del WiKi.

Configurar Ayuda abre un menú emergente con opciones para seleccionar visores y
bases de datos para leer información de ayuda. Esta opción permite especificar cualquiera
de los documentos en línea del sitio web de Lazarus-CCR, algunos otros sitios que
contienen documentos, o un almacenamiento local para la documentación (esta será la
opción por defecto, cuando esté terminado completamente el sistema de ayuda).
En la actualidad, al situar el cursor en la ventana del Editor sobre cualquier palabra clave de
la Librería de Componentes de FreePascal (FCL) o la Librería de tiempo de ejecución (RTL)
(pero no la Librería de Componentes de Lazarus, LCL) y presionar F1 se abrirá a la definición
apropiada en el sitio web.
Hay otras opciones de ayuda para el usuario final fuera de línea. Por ejemplo, si tienes una
copia de Kylix, puede reutilizar los archivos de ayuda que vienen con él, dentro del IDE de
Lazarus. Ver la página Adding Kylix Help para más detalles.

Acerca de Lazarus muestra un recuadro emergente con información sobre Lazarus, cómo
la versión, los integrantes del equipo de desarrollo y agradecimientos varios.
Cuándo esté finalizado, será un completo servicio de ayuda en línea, con información sobre
sintaxis de Pascal, el uso del IDE, cómo usar, modificar o crear componentes, y sugerencias
sobre cómo realizar ciertas tareas. Esta parte de la sección de Documentación (lo que está
leyendo ahora mismo) representa el comienzo del proceso. Necesitamos contribuciones de
cualquiera que se sienta capacitado: es muy fácil editar el Wiki.
Panel de botones rápidos
Un pequeño panel de herramientas a la izquierda en la ventana principal, justo debajo del
Menú Principal y a la izquierda de la Paleta de Componentes, contiene un conjunto de botones
de acceso a las opciones de uso más frecuente del menú principal:
Nueva unidad,
Abrir,
Recientes,
Guardar,
Guardar todo,
Nuevo
formulario,
Ver formulario/unidad (F12),
Ver unidades,
Ver formularios,
Ejecutar (F9) (compila, enlaza y ejecuta en modo depuración),
por instrucciones (F7),
Detener,
Paso a paso
Paso a paso por funciones (F8) (las cuatro últimas son funciones
del depurador).
macroplexx
Página 27
www.scribd.com
La Paleta de Componentes
Una barra de herramientas con pestañas que muestra un gran número de iconos que
representan los componentes más utilizados para construir formularios.
Cada pestaña hace que se muestre un conjunto diferente de iconos, que representa a un
grupo funcional de componentes. El icono que está más a la izquierda en cada grupo es una
flecha inclinada hacia la izquierda, llamada Herramienta de selección.
Si deja el cursor del ratón inmóvil sobre cualquier icono de la Paleta de Componentes, sin
pulsar sobre el icono, aparecerá el rótulo de ese componente. Advierta que cada rótulo
empieza por 'T' - esto significa 'Tipo' o más exactamente 'Clase' de un componente. Cuando
selecciona un componente para incluirlo en un formulario, la clase se añade a la
sección tipo de la parte interface de la unidad (normalmente como parte del TForm1), y se
añada una instancia de esa clase a la sección var(normalmente como la variable Form1).
Cualquier Método que diseñe para que sea usado por el formulario o sus componentes (por
ejemplo, procedimientos o funciones) será colocado en la parte implementation de la unidad.
Cómo utilizar la paleta
Para utilizar la paleta, debe haber un formulario abierto a la vista en el editor (si no hay uno,
selecciona Archivo -> Nuevo formulario). Haz clic en el icono de la pestaña correspondiente de
la paleta para el componente que deseas utilizar y haz clic en el formulario, cerca de donde
quieres que aparezca el componente. Cuando el componente aparezca se puede seleccionar
haciendo clic en él con el ratón. Una vez seleccionado en el formulario, el objeto se encuentre
seleccionado también en la ventana Inspector de Objetos, donde puedes editar sus
propiedades y eventos.
Ajustes de la apariencia visual de un objeto pueden hacerse, ya sea mediante la alteración
de su representación en el formulario usando el ratón, o cambiando la propiedad
correspondiente en el Editor de objetos para ese componente
Si instalas componentes adicionales, ya sean los que has escrito, o los vienen en un paquete
de alguna otra fuente, los iconos correspondientes aparecerán en la paleta de componentes,
en una de su pestañas o en una pestaña nueva adicional. Estos nuevos componentes se
pueden seleccionar y utilizar en sus formularios de la misma forma que los suministrados por
defecto
En la lista que sigue de los componentes, encontrarás vínculos a archivos que contienen
descripciones de las unidades en que se encuentran. Si deseas obtener información sobre las
propiedades de un componente en particular, a menudo merece la pena mirar en la herencia
de ese componente e inspeccionar las propiedades del tipo base del que se deriva. Por
ejemplo, para entender TMaskEdit también es útil examinar TCustomMaskEdit.
Pestañas de la Paleta de Componentes
macroplexx
Página 28
www.scribd.com
Los nombres de las pestañas son bastante descriptivos de su contenido. Las imágenes y los
componentes reseñados corresponden a los que vienen por defecto con la Versión 0.9.24 de
Lazarus:
* Standard
(Ver Pestaña Standard para la descripción de los componentes)
Componentes utilizados con
frecuencia: TMainMenu , TPopupMenu , TButton , TLabel , TEdit , TMemo , TToggleBo
x , TCheckBox , TRadioButton , TListBox , TComboBox , TScrollBar , TGroupBox , TSt
aticText ,TRadioGroup , TCheckGroup , TPanel , TActionList
* Additional
(Ver Additional tab/es para la descripción de los componentes)
Más, componentes utilizados a
menudo: TBitBtn , TSpeedButton , TStaticText , TImage , TShape , TBevel , TPaintBox
, TNotebook , TLabeledEdit , TSplitter , TTrayIcon , TMaskEdit , TCheckListBox , TScrol
lBox ,TApplicationProperties , TStringGrid , TDrawGrid , TPairSplitter , TColorBox , TCo
lorListBox , TChart
* Common Controls
(Ver Common Controls tab/es para la descripción de los componentes)
TTrackBar , TProgressBar , TTreeView , TListView , TStatusBar , TToolBar , TUpDown
, TPageControl , TTabControl , THeaderControl , TImageList , TPopupNotifier
* Dialogs
(Ver Dialogs tab/es para la descripción de los componentes)
TOpenDialog , TSaveDialog , TSelectDirectoryDialog , TColorDialog , TFontDialog , TFi
ndDialog , TReplaceDialog , TOpenPictureDialog , TSavePictureDialog , TCalendarDial
og , TCalculatorDialog , TPrinterSetupDialog ,TPrintDialog , TPageSetupDialog
macroplexx
Página 29
www.scribd.com
Algunos procedimientos y funciones útiles de Dialogos no aparecen en la Paleta, pero
se pueden utilizar fácilmente mediante llamadas directas desde tu programa fuente.
Puede ver algunos buenos ejemplos de cómo usar los componentes en la subcarpeta
$LazarusPath/lazarus/examples de su instalación. Muchos programas muestran cómo
usar diálogos y otros componentes directamente sin usar el IDE y la paleta de
componentes o tienen un archivo de definición de formularios separado: todos los
componentes están total y explícitamente definidos en el programa Pascal principal.
Otros programas de ejemplo hacen un uso pleno del IDE.
Si algunos ejemplos no funcionan bien: puede que necesite modificar rutas y
permisos de archivos o carpetas. Si quiere compilar algún ejemplo, compruebe que
tiene permisos de lectura/escritura/ejecución para los archivos y carpetas, o copie los
archivos a una carpeta donde tenga los permisos adecuados.
Intente ejecutar el programa 'testall' para ver un menú de componentes disponibles
junto con pequeños formularios ejemplo de prueba para la mayoría de ellos; después
mire el código para ¡descubrir como funcionan!
* Misc
TColorButton , TSpinEdit , TFloatSpinEdit , TArrow , TCalendar , TEditButton , TFileNa
meEdit , TDirectoryEdit , TDateEdit , TCalcEdit , TFileListBox , TXMLPropStorage , TIni
PropStorage , TBarChart , TButtonPanel ,TCustomShellTreeView ,
TIDEDialogLayoutStorage
* Data Controls
Componentes de datos que son como los de los grupos Standard y Additional, pero
aplicables a bases de
datos: TDBNavigator , TDBText , TDBEdit , TDBMemo , TDBImage , TDBListBox , TDB
ComboBox , TDBCheckBox ,TDBRadioGroup , TDBCalendar , TDBGroupBox , TDBGri
d
* Data Access
TDatasource, TMemDataset, TSdfDataSet, TFixedFormatDataSet, TDbf
* System
macroplexx
Página 30
www.scribd.com
TTimer , TIdleTimer , TLazComponentQueue , THtmlHelpDatabase , THtmlBrowserHel
pViewer , TProcessUTF8 , TAsyncProcess , TProcess , TSimpleIPCClient , TSimpleIPC
Server , TXMLConfig , TEventLog
* SynEdit
TSynEdit, TSynAutoComplete, TSynExporterHTML, TSynMacroRecorder, TSynMemo,
TSynPasSyn, TSynFreePascalSyn, TSynCppSyn, TSynJavaSyn, TSynPerlSyn,
TSynHTMLSyn, TSynXMLSyn, TSynLFMSyn, TSynUNIXShellScriptSyn, TSynCssSyn,
TSynPHPSyn, TSynTeXSyn, TSynSQLSyn, TSynPhytonSyn, TSynAnySyn,
TSynMultiSyn
Un grupo de componentes para ayudar a interactuar con otros lenguajes y
herramientas de software. SynEdit es un control de edición multilínea avanzado,
disponible también para Borland Delphi, Kylix y C++Builder. Soporta resaltado de
sintaxis y terminación de código, e incluye filtros de exportación para html, tex y rtf. Son
controles desarrollados enteramente con VCL/CLX , lo que significa que no son un
envoltorio para controles de M$Windows, y por tanto no precisa de ninguna librería de
tiempo de ejecución; esto hace a SynEdit un componente de plataforma cruzada. La
compatibilidad con FreePascal está también planeada, y SynEdit es el componente de
edición en el IDE de Lazarus. Ver synedit en sourceforge .
* IPro
TIpFileDataProvider, TIpHtmlPanel
* SQLdb
TSQLQuery, TSQLTransaction, TSQLScript, TSQLConnector, TPQConnection,
TOracleConnection, TODBCConnection, TMySQL40Connection,
TMySQL41Connection, TSQLite3Connection, TMySQL50Connection, TIBConnection
* RTTI
macroplexx
Página 31
www.scribd.com
TTIEdit, TTIComboBox, TTIButton, TTICheckBox, TTILabel, TTIGroupBox,
TTIRadioGroup, TTICheckGroup, TTICheckListBox, TTIListBox, TTIMemo,
TTICalendar, TTIImage, TTIFloatSpinEdit, TTISpinEdit, TTITrackBar, TTIProgressBar,
TTIMaskEdit, TTIColorButton, TMultiPropertyLink
Como utilizar los controles estándar, comunes y extendidos
Las unidades StdCtrls, ComCtrls y ExtCtrls contienen definiciones y descripciones de
algunos de los controles más comunmente utilizados en la contrucción de formularios
(Forms) y otros objetos de las aplicaciones generadas con Lazarus.
Algunos de los controles finales que el desarrollador utiliza, tales
como TButton, TMemo, TScrollBar etc, tienen su correspondiente clase ancestro tal
como TCustomButton, TCustomMemo o TCustomScrollBar. Algunas de las
propiedades y métodos relevantes para el control final se definen (y se explican) más
en profundidad en la clase TCustomXXX , y son heredados por el control final.
Si se sitúa un componente en el editor de formularios no se necesita añadir código
explícitamente para crearlo. El componente es creado automáticamente por el IDE
junto con el formulario (form) e igualmente destruido al tiempo que el formulario se
destruye.
De igual forma, si creas un componente por tí mismo, no debes olvidarte de liberar
sus recursos cuando ya no sea necesario.
Si colocas un componente en el diseñador de formularios (Form Designer) y observas
el Inspector de Objetos (Object Inspector), puedes ver como cambian las propiedades a
medida que mueves el componente por el formulario.
Por ejemplo, si pones un botón (TButton) en el formulario, lo seleccionas con el ratón
y lo arrastras por el formulario podrás observar como los valores de las
propiedades Top (arriba) y Left (izquierda) cambian en el Inspector de Objetos para
reflejar la nueva posición. Igualmente si utilizas las barras de redimensionado para
ajustar su tamaño, puedes observar como cambian los valores de las
propiedades Height (altura) y Width (anchura).
Por otro lado, utilizando el inspector de objetos, puedes modificar el valor asociado
con una determinada propiedad tal como la altura (Height) y dandole un nuevo valor
(dentro del rango soportado); de esta forma puedes observar directamente como el
macroplexx
Página 32
www.scribd.com
tamaño del objeto seleccionado en el formulario (o el mismo formulario si es el
seleccionado) cambia para reflejar el nuevo valor.
Puedes además cambiar explícitamente las propiedades del objeto mediante código
tecleando (en la sección de implementación apropiada del editor de código fuente),
por ejemplo
Formulario1.Boton1.Height := 48;
Si escribes este nuevo valor en el editor de código fuente y miras de nuevo en el
diseñador de formulario (Form Designer), puedes observar que el botón en el
formulario ha tomado el nuevo tamaño. El nuevo valor se mostrará también en el
inspector de objetos.
En resumen, la mayor parte de las veces las propiedades de un objeto se pueden
establecer de tres formas diferentes para lograr lo mismo:

Utilizando el ratón,

Estableciendo los valores en el inspector de objetos,

explícitamente escribiendo en el código fuente en la sección adecuada.
Nota: todo lo que se dice respecto de modificar las propiedades de los objetos mediante código, tiene
efecto únicamente en tiempo de ejecución, por lo que los efectos de los valores modificados no pueden
observarse en el Inspector de Objetos.(iskraelectrica)
Los componentes definidos en estas unidades tienen varias propiedades que son
comunes a la mayor parte de ellos, mientras que otras propiedades son específicas de
componentes individuales. Aquí describiremos algunos de los más comunes. Las
propiedades menos usuales o específicas de controles se describirán en la explicación
de los controles individuales.
Siempre se puede obtener ayuda adicional seleccionando una propiedad o palabra,
tanto en el inspector de objetos como en el editor de código fuente, y a continuación
presionando F1. Esto hará que el visor de ayuda nos presente la página adeduada que
buscamos dentro de la documentación disponible.
Si la descripción de una propiedad en dicha página no es suficiente, se puede
navegar a la correspondiente descripción en las clases ancestro, seleccionando los
enlaces en el listado de herencia o seleccionando un tipo de ancestro en la declaración
del objeto.
Los constructores tales como Create reservan la memoria y otros recursos del
sistema que necesita el objeto. También llama a los constructores de los objetos que
componen la clase.
macroplexx
Página 33
www.scribd.com
Destructores: eliminan el objeto y liberan la memoria y los otros recursos que
pudiera haber tomado. Si se llama a Destroy de un objeto que todavía no se ha
inicializado se produce un error. Siempre se debe utilizar el método Free para desalojar
objetos porque comprueba cuando el valor del objeto no está establecido, es nil, antes
de invocar a Destroy.
Hay que tomar las siguientes precauciones cuando alguien crea su propio
método Destroy:

Declarar Destroy con la directiva override , porque es un método virtual.

Llamar siempre inherited Destroy; como lo último en el código del destructor.

Tener en cuenta que se puede generar una excepción (exception) por parte
del constructor en el caso de que no exista suficiente memoria para crear el objeto,
o cualquier otra cosa salga mal. Si no se maneja la excepción dentro del
constructor, entonces el objeto solamente se construirá parcialmente. En este caso
se llamará a Destroy en el momento que no se espera, por lo que el destructor
debe comprobar si los recursos fueron realmente asignados antes de liberarlos.

Recuerda llamar a Free para todos los objetos del constructor.
Algunas propiedades habitualmente listadas:
Propiedad
Significado
La acción principal o el evento asociado con el objeto. Por ejemplo,
Action
seleccionando un botón 'Salir' debería causar la acción 'Cerrar'
Define la manera en la que un objeto se alinea con el objeto padre. Los posibles
valores son alTop (situado arriba del todo y utilizando el máximo ancho
disponible), alBottom, alLeft (situado a la izquierda y utilizando la máxima
Align
altura disonible), alRight. alNone (ubicado en cualquier sitio del objeto padre) o
alClient (toma todo el espacio disponible hasta los controles cercanos
alineándolo hacia arriba, abajo, izquierda y derecha)
Utilizado para mantener un control a una cierta distancia de los bordes
definidos del control padre, cuando este último es redimensionado. Por
Anchor
ejemplo [akBottom, akRight] mantendrá el control a una distancia fija de la
esquina inferior derecha.
Cuando su valor es verdadero (True), se selecciona todo su texto en un control
AutoSelect
de edición cuando recibe el foco (es seleccionado) o cuando se presiona la tecla
Enter (Intro).
Verdadero (True) indica que el control edit o combobox ya han realizado una
AutoSelected
operación AutoSelect por lo que los subsecuentes clicks de ratón y pulsaciones
de tecla proceden con normalidad sin seleccionar texto.
El tipo y el espacio alrededor del borde entre un control anclado (Anchored) y
BorderSpacing
su padre.
El texto que es mostrado en o cerca del control; debería sugerir el tipo de
función del control, o una instrucción como 'Close' o 'Execute'. Por
Caption
defecto Caption se establece para tener el mismo valor que la propiedad
'Name', y el programador de la aplicación debería sustituirlo por uno con mayor
significado para la aplicación, en lugar de dejar el valor dado automáticamente.
Indica como se muestra el texto en un control de edición: Normal (reteniendo el
CharCase
tipo de letra (mayúsculas/minúsculas) tecleada por el usuario), convertido a
mayúsculas (uppercase), o convertido a minúsculas (lowercase)
macroplexx
Página 34
www.scribd.com
Constraints
Color
Enabled
Font
Hint
Items
Lines
Name
PopUpMenu
Position (or
Top, Left)
ReadOnly
ShowHint
Establecen el tamaño mínimo y máximo para un control. Si un control se
redimensiona, las nuevas dimensiones estarán siempre comprendidas dentro del
rango definido aquí. Se debe tener especial cuidado cuando se establecen estas
opciones para que no entren en conflicto con las configuraciones de ancho y
alineado.
El color a usar para dibujar el control o para escribir texto que contiene.
Propiedad booleana para determinar cuando o no un control es capaz de ser
seleccionado y realizar una accción. Si no se encuentra habilitado (Enabled),
entonces se presenta con un color grisaceo (Grayed) fuera en el formulario.
Fuente que se utilizará para escribir el texto asociado con el control - tampoco
caption o label, o las cadenas de texto contenidas en el control. La entrada en el
inspector de objetos habitualmente tiene un cuadro (+) a la izquierda, y
seleccionándolo muestra más opciones tales como el juego de caracteres, color
y tamaño.
Un trozo corto de texto informativo emergente (pop-up) que aparece si se deja
el cursor del ratón sobre el control por un breve espacio de tiempo.
El listado de cosas 'Things' que un objeto contiene, tal como un grupo de
imágenes, una serie de líneas de texto, un número de acciones en un actionlist,
etc
Una matriz de cadenas de texto, conteniendo datos textuales en controles con
más de una sola línea de datos, tal como un Edit-Box o un Combo-Box. La
matriz tiene un índice con base cero, eg las líneas están numeradas
[0..numLines-1]
El identificador por el que el control es conocido en el programa. El IDE(
Entorno Integrado de Desarrollo) le asigna un nombre por defecto basándose en
su tipo subyacente, por ejemplo, sucesivas instancias de TBitButton se deberían
nombrar Form1.BitBitton1 y Form1.BitButton2; depende ya del programador
de la aplicación darle un nombre con más significado tal como ExitButton o
OKButton. Por defecto el nombre del control se aplica a Caption, pero el texto
de Caption puede ser cambiado por separado.
Una ventana conteniendo un menú de información sensitivo al contexto que
emerge (pop-up) cuando se acciona el pulsador derecho del ratón en el objeto.
Determina donde se ubica el control en el formulario o ventana padre/td>
Propiedad booleana que si está establecida a verdadero (True), significa que el
contenido del control puede ser leido por el usuario o la rutina llamante, pero
que no puede ser escrita o cambiada.
Permite una pequeña ventana (bocadillo) conteniendo ayuda sensible al u otra
descripción que deba mostrarse cuando el cursor se sitúa sobre el objeto.
Size (or Height
Las dimensiones del control
and Width)
Las opciones disponibles para estilo (Style) dependen del tipo de control que se
Style
vaya a considerar: por ejemplo el estilo puede ser definido para TFormStyle,
TBorderStyle, TButtonStyle etc.
Entero que sirve para definir en que solapa se encuentra (dentro de un objeto)
TabOrder
del listado total de las disponibles
Propiedad booleana que si se establece a verdadero (True)sitúa este control en
TabStop
la secuencia de objetos que el usuario puede alcanzar pulsando sucesivamente
la tecla de tabulación (TAB)
Cadena de texto que representa el dato actual que contiene el control. Se aplica
particularmente a los tipos de objeto Text, Memo y StringLis. La mayor parte
de las operaciones de edición (tales como Select, Clear, Cut, Copy) se realizan
Text
en esta parte del objeto, que mantiene la cadena actual que va a ser editada. Si
el control contiene más de una sola línea de texto, por
ejemplo TMemo o TComboBox, entonces los elementos textuales se organizan
como una matriz de cadenas (con base cero, ie numeradas desde [0..numLines-
macroplexx
Página 35
www.scribd.com
Visible
WordWrap
1]) en Líneas.
Si su valor es verdadero (True), el objeto se puede ver en el formulario; si es
falso (False), el objeto permanece oculto
Flag (bandera o señalizador) para mostrar si el desplazamiento de palabra está
habilitado o no. eg si una palabra está cercana al final de una línea y va a ser
demasiado larga para contener en ella, entonces se la emplaza abajo en la
siguiente línea.
Algunas acciones se listan comunmente en la solapa 'Eventos' del inspector de
objetos. Seleccionando una entrada del listado aparece un ComboBox con un listado
leleccionable (DropDown list)mostrando las acciones que tiene definidas, y permitiendo
escoger una para asociarla a este evento. Alternativamente se puede seleccionar la
elipsis (tres puntos ...) que nos llevará a un área del editor de código fuente donde se
puede empezar a teclear nuestras propias instrucciones de acción para el evento
seleccionado.
A pesar de la gran cantidad de eventos disponibles para un control dado, en la
práctica lo más habitual es utilizar sólamente unos pocos de ellos. Para la mayor parte
de los controles es más que suficiente el uso de 'OnClick'; para otros más complejos
'OnEntry' (cuando el cursor del ratón entra en el control y le da el foco o selección) y
'OnExit' (cuando el cursor del ratón abandona el control); o puedes necesitar escribir un
gestor de enventos para 'OnChange' o 'OnScroll', dependiendo de la naturaleza de un
control particular con el que se esté tratando.
El menú emergente (pop-up) que aparece cuando se hace click con el pulsador
derecho del ratón en el diseñador de formularios tiene como primer elemento: 'Create
default event' y seleccionando esta opción tendremos el mismo efecto que
seleccionando la elipsis en el inspector de objetos para el evento por defectot,
usualmente OnClick: esto nos lleva al área de implementación del editor de código
fuente donde podemos escribir el código para el manejador del evento.
Una estrategia habitual en la programación orientada a objetos es aportar un listado
de acciones (ActionList) con la facilidad de entrar, eliminar o editar un determinado
número de acciones predefinidas desde las que poder seleccionar las más apropiadas
para un determinado propósito.
Click
Algunas acciones listadas habitualmente
Significado
Acción a realizar si se detecta un cambio (eg movimiento del ratón, click de
ratón, pulsación de tecla, edición de texto, cambio de una imagen, etc)
Acción a realizar cuando se acciona el pulsador izquierdo del ratón. Esta es
habitualmente la acción principal o por defecto del control; por ejemplo,
accionando un pulsador en un checkbox inicia la acción asociada con el
checkbox. Esto puede iniciar alternativamente un proceso de selección, por
ejemplo en un TextBox o Memo, o señalizar el comienzo de dibujo con un lápiz
(Pen) o brocha (Brush).
Un método para emular mediante código el efecto de accionar en un control.
macroplexx
Página 36
Acción
OnChange
OnClick
www.scribd.com
Este método se encuentra frecuentemente en controles del tipo Button(TButton,
TBitBtn, TSpeedButton etc). Se puede escribir un procedimiento que llame el
mismo código que la acción OnClick. Esta facilidad puede ser particularmente
útil si la activación del control por accionamiento produce una cascada de
activación de otros controles, y el método Click se puede utilizar para iniciar la
acción, en lugar de que el usuario tenga que hacer click explícitamente en gran
cantidad de controles.
Acción a realizar durante un Drag-Drop manoeuvres, ie cuando el ratón se
OnDragDrop utiliza para capturar 'capture' un elemento o algún texto etc y lo mueve hacia
alguna alguna ubicación nueva en la pantalla.
Acción a realizar cuando el usuario ha terminado todas las ediciones /
OnEditingDone modificaciones al control. Esto a menudo se utiliza para validar el contenido del
control (por ejemplo, comprobar si un texto escrito es una dirección IP válida)
Acción a realizar cuando el cursor del ratón entra en el área ocupada por el
objeto, usualmente transfiriendo el foco al objeto. Esto puede incluir cambios en
OnEntry
el aspecto del objeto tales como luminosidad o la aparición de un borde
emergente.
Acción a realizar cuando el ratón se mueve fuera del área del objeto,
OnExit
habitualmente transfiriendo el foco fuera del objeto.
Acción a realizar ante la pulsación de cualquier tecla. Sutilmente diferente de
OnKeyDown, la cual cual simplemente responde a una tecla,
OnKeyPress
independientemente de si ya estaba pulsada cuando se obtuvo el foco por parte
del control. OnKeyPress requiere que una tecla sea pulsada mientras el control
tiene el foco.
Acción a realizar si se pulsa una tecla mientras el control tiene el foco.
Sutilmente diferente de OnKeyPress - por ejemplo la tecla debe haberse
OnKeyDown
presionado con el foco ya obtenido por el control, mientras que OnKeyPress
requiere que la tecla sea pulsada mientras el foco está en el control.
Acción a realizar si la tecla no está pulsada (eg no presionada) mientras el
On Key Up
control tiene el foco.
On Mouse Down - Acción a ser realizada si el cursor del ratón se mueve
OnMouseMove
mientras el control tiene el foco.
Acción a realizar si el pulsador del ratón está accionado mientras el control
OnMouseDown
mantiene el foco (está seleccionado).
Acción a realizar si el pulsador del ratón no está presionado mientras el cursor
está sobre el control. Implica que el pulsador del ratón fué previamente
OnMouseUp
accionado y posteriormente soltado. El caso en el que el cursor entra en el
control, pero el pulsador del ratón no ha sido todavía presionado es tratado por
OnEntry o OnMouseEnter.
Acción a realizar cuando el control es redimensionado. Puede requerir
OnResize
realineación del texto o selección de un tipo de tamaño de fuente diferente etc.
Cómo utilizar menús en nuestros programas
El componente de tipo TMainMenu es responsable de crear el menú principal que
aparece en la parte superior de muchos formularios; los diseñadores pueden
personalizarlo eligiendo itens para el menú. El componente de tipo TPopupMenu creará
un menú en una ventana emergente, con opciones pertinentes según el contexto,
normalmente aparece al pulsar el botón derecho del ratón sobre cierto control.
TMainMenu es un componente invisible: el icono que representa al componente no
aparece en tiempo de ejecución, lo que aparece es el menú que hemos definido
macroplexx
Página 37
www.scribd.com
mendiante el Editor de Menú. Lo mismo sucede con los componentes TPopupMenu
que insertemos en nuestros formularios.
Para acceder al (Editor de Menú ) hacemos doble clic sobre el icono del componente
en el formulario; aprecerá una ventana donde podremos definir los elementos que
compondrán el menú. Al aparecer por primera vez la ventana muestra un botón
rotulado New Item1. Si pulsamo el botón derecho mientras lo señalamos con el ratón
se mostrará el menú contextual con las opciones posibles que podemos ralizar: añadir
un nuevo elemento (después o antes), borrar el elemento, crear un submenú, y otras.
Las propiedades del elemento seleccionado, como su etiqueta, nombre o
comportamiento, pueden ser editadas en el Inspector de Objetos.
Lo mínimo que debemos cambiar es el rótulo (propiedad Caption) que mostrará el
elemento en el menú, para que se identifique la acción que se realiza con con la opción
del menú ("Abrir archivo", "Salir", etc.).
Si queremos asociar cierta letra del rótulo como un atajo de teclado hay que preceder
la misma con un símbolo &. Así, &Archivo se verá al ejecutar el programa
como Archivo. Al pulsar esa letra (A, en este ejemplo) junto con Alt activará la opción
correspondiente del menú. También podemos asignar una combinación de teclas como
atajo (normalmente para opciones de submenú), tales cómo Ctrl + C para copiar
o Ctrl + V para pegar, mediante la propiedad ShortCut del elemento.
Es provechoso utilizar los controles de menú en el conjucción con un ActionList que
contenga una serie de acciones (Actions) estándar o personalizadas. Los items de
menú se pueden enlazar en el Inspector de Objetos a las acciones en la lista, y estas
mismas acciones se pueden enlazar a Botones, Barras de Botones (ToolBar Buttons),
Botonés rápidos (SpeedButtons), etc.Economizaremos esfuerzos al reutilizar el mismo
código para responder a varios acontecimientos, en vez de escribir código para el
evento OnClick de cada control individual.
De forma predeterminada ciertas acciones normales se cargan en StdActns o, si son
controles de Datos (DataAware) en DBActns y estas se pueden seleccionar mediante el
editor de ActionList que aparece al hacer bole clic sobre el icono del componente en el
formulario.
El Depurador
Todavía está por escribir?. esta linea se deja por respeto al autor(a)
solucion depurador
En version 0.9.26 menú 'Entorno'->'Options ...' -> 'Debugger' elegir 'GNU debugger
(gdb)' y buscar ubicación (en ubuntu /debian es '/usr/bin/gdb').
macroplexx
Página 38
www.scribd.com
Nota1: gdb (sin extensión), es el archivo ejecutable linux del depurador.
Los archivos de Lazarus
(Gracias a Kevin Whitefoot.)
(Añadidos de Giuseppe Ridinò, Usuario:Kirkpatc y Tom Lisjac)
Al guardar se graban dos archivos:
xxx.pas
yyy.lpr
(Se guardan más, pero estos son a los únicos que tiene que poner nombre). El
archivo proyecto (lpr) y el archivo unidad (pas) no deben tener el mismo nombre porque
amablemente Lazarus renombrará la unidad (dentro del código fuente) con el mismo
que el del archivo unidad y el programa con el mismo del archivo proyecto (es
necesario hacer esto, porque si no el compilador probablemente no sea capaz de
encontrar la unidad, más tarde, cuando se refiera a ella en el archivo proyecto). Claro,
para ser coherente cambia siempre unit1 por xxx.
Así que si guarda un proyecto llamado again, si intenta guardar again.pas y again.lpr
obtendrá fallos, porque los nombres de la unidad y el programa son iguales, con lo que
se produce un error de duplicación de nombre.
e:/lazarus/kj/lazhello:
total 4740 free 76500
-rwxrwxrwx
1 kjwh
-rw-rw-rw1 kjwh
-rw-rw-rw1 kjwh
-rw-rw-rw1 kjwh
-rw-rw-rw1 kjwh
-rw-rw-rw1 kjwh
-rw-rw-rw1 kjwh
-rwxrwxrwx
1 kjwh
root
root
root
root
root
root
root
root
A continuación, lo que obtuve:
4618697
3002
190
506
679
677
2124
335
Mar
Mar
Mar
Mar
Mar
Mar
Mar
Mar
24
24
24
24
24
24
24
24
11:19
11:21
11:18
11:08
11:08
11:08
11:08
11:07
again.exe
again.lpi
again.lpr
againu.lfm
againu.lrs
againu.pas
againu.ppu
ppas.bat
Observe que hay más de los dos archivos que pensé que estaba guardando.
A continuación, una breve nota sobre cada archivo:
again.exe: El programa principal ejecutable binario. Win32 añade una extensión
"exe". En Linux no tiene ninguna. Este archivo será enorme en Linux debido a la
inclusión de símbolos de depuración. Ejecute la utilidad 'strip' para borrarlos y disminuir
bastante el tamaño del ejecutable.
again.lpi: Este es el archivo principal del proyecto Lazarus (Lazarus Project
Information); el archivo principal de una aplicación equivalente en Delphi será .dpr. Se
almacena en formato XML.
macroplexx
Página 39
www.scribd.com
again.lpr: El archivo fuente del programa principal. A pesar de su extensión
específica de Lazarus es en realidad un archivo fuente totalmente normal de Pascal.
Tiene una cláusula de usos que permite al compilador encontrar las unidades que
necesita. Nótese que la declaración del programa no tiene que ponerle el mismo
nombre al programa que al archivo.
againu.lfm: Aquí es donde Lazarus almacena el diseño del formulario. Lazarus utiliza
esto para generar un archivo fuente que está incluido en la sección de inicio de la
unidad againu.pas unit. Los archivos de Delphi dfm se pueden convertir a formato lfm
format en el IDE de Lazarus mediante Herramientas->Convertir archivo DFM A LFM.
again.lrs: Este es el archivo fuente generado. Adviértase que no es un archivo fuente
de Windows.
againu.pas: La unidad que contiene el código del formulario.
again.ppu: La unidad compilada.
ppas.bat: Un script sencillo que enlaza el programa para crear el ejecutable: Si la
compilación tiene éxito, lo borra el compilador.
macroplexx
Página 40
Descargar