Está en la página 1de 15

Lazarus Free Pascal Compiler

Figura No. 1.

Licencia: GPL/LGPL
Lazarus son las bibliotecas de clase para Free Pascal que emulan Delphi. Free Pascal es un compilador
(L)GPL que se ejecuta en Linux, Win32, OS/2 68K y ms. Free Pascal est diseado para ser capaz de
comprender y compilar la sintaxis de Delphi, que por supuesto es POO.
Lazarus es la parte que falta del puzzle que te permitir desarrollar programas al estilo Delphi en todas las
plataformas especificadas. El IDE se convertir en una herramienta RAD como Delphi.
Segn vaya creciendo Lazarus necesitaremos ms desarrolladores.
Official: http://sourceforge.net/projects/lazarus/
Tutorials: http://lazarus-ccr.sourceforge.net

Tutorial desarrollado por:


Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas
0908-01-10469 Jos de Paz
jose.depaz@gmail.com
Escuintla, Guatemala.

Lazarus IDE

Palete de Componentes

Inspector
de objetos

Editor de
codigo
fuente

formularios

Mensajes del
compilador

Figura No. 2.
La IDE (Figura No. 2) de Lazarus esta distribuida por los siguientes componentes:
1.
2.
3.
4.
5.

Paleta de componentes
Inspector de objetos
Editor de cdigo fuente
Formularios
Mensajes del compilador

Primer Proyecto
Para crear nuestro primer proyecto debemos ir a la barra de mens y seleccionar en Proyecto->Nuevo
proyecto:

Figura No. 3.
Luego, seleccionar en Aplicacin y luego click en el botn Crear. (Figura No. 3)

Figura No. 4.
Ahora, cuando Lazarus se inicia, carga un proyecto por default, en este caso estamos creando un nuevo
proyecto, y hacemos click en el botn No. (Figura No. 4.).
Automticamente se crea un proyecto, el cul contiene un formulario llamado Form1, el cual puede
observarse en la ventana Inspector de Objetos.
Ahora vamos a agregar un botn de comando (TButton, Figura No. 5.), para esto nos vamos a la paleta de
componentes y nos situamos en la pestaa Standard y seleccionamos el componente; hay dos formas de
agregarlo:
1. haciendo doble click sobre l
2. haciendo click sobre l y dibujarlo a nuestra medida en el formulario.

Figura No. 5.

Despus de haber agregado el botn, vamos a modificarle la propiedad Caption, y le insertamos algo
como esto Presionar, tener en cuenta que debemos tener seleccionado el botn y no el formulario.

Figura No. 6.
Ahora vamos a codificar el evento OnClick del botn, haciendo doble click sobre l o bien seleccionando
el evento desde el Inspector de Proyectos, en la pestaa Eventos. Haciendo esto, se mostrara la venta
del Editor de cdigo fuente y se creara un evento para el TButton

Figura No. 7.
y agregamos la siguiente lnea de cdigo, tal como se muestra en la figura No. 7., listo presionamos la tecla
F9 para ejecutar el proyecto, o bien en la barra de mens Ejecutar->Ejecutar, luego de presionar el
botn Presionar, debemos observar lo siguiente:

Figura No. 8.
Terminando, debemos guardar nuestro proyecto y formulario, para estos nos vamos a la barra de mens y
hacer click en Proyecto->Guardar Proyecto.

Conexin a base de datos

Lazarus dispone de componentes para conexin a base de datos, la cual encontramos en la pestaa SQLdb
de la paleta de componentes. (Figura No. 9)

Figura No. 9.
Tiene componentes de conexin a las siguientes base de datos:
TIBConnection
TODBCConnection
TOracleConnection
TMySQL40Connection
TMySQL41Connection
TMySQL50Connection
TPQConnection

(FireBird / Interbase)
(conexin ODBC)
(Oracle )
(MySQL Server 4.0)
(MySQL Server 4.1)
(MySQL Server 5.0)
(PostgreSQL)

Para este ejemplo, utilizaremos MySQL Server 5.0, y la base de datos que trae por default llamada test, en
la cual crearemos la tabla emple y le ingresaremos algunos valores (Figura No. 10).

Figura No. 10.

Ahora vamos a crear un proyecto, en el cual tendremos un formulario con un datagrid (TDBGrid), en l cul
mostraremos el contenido de la tabla llamada emple. Para esto necesitamos agregar los siguientes
componentes al formulario (Figura No. 11):
TMySQL50Connection
TDatasource

TSQLTransaction
TDBGrid

TSQLQuery

Figura No. 11
El componente Datasource, lo encontramos en la pestaa Data Access, y el componente DBGrid en
la pestaa Data Controls; de paleta de componentes.
Ahora, vamos a configurar algunas propiedades de los componentes para que podamos acceder a la BD y as
mismo extraer los registros y mostrarlos en el TDBGrid.
DatabaseName: test
HostName:
localhost
User:
root
Password:
<tu clave de acceso a la base de datos>
Connected:
True
Transaction:
SQLTransaction1
Database:

MySQL50Connection1

Database:
SQL:
Transaction:
Active:

MySQL50Connection1
select * from emple;
SQLTransaction1
True

En el caso de la propiedad SQL, debemos abrir el Dilogo Editor de Strings cuando


estemos situados en la propiedad SQL, y luego agregar la consulta SQL y presionar el botn
Ok
DataSet:
DataGrid1

DataSource:

SQLQuery1
Datasource1

Al momento de cambiar la propiedad DataSource del componente DBGrid1, se mostrara el contenido


de la consulta SQL, esto nos quiere decir que todo esta bien, y solo resta presionar F9 para ejecutar el
proyecto, o bien en la barra de mens Ejecutar->Ejecutar. (Figura No. 12)

Figura No. 12.


Ahora, detenemos el proyecto y vamos a agregar un botn (Figura No. 13) al formulario y le modificamos la
propiedad Caption por Actualizar, la funcin del mismo es para actualizar los registros en el DBGrid, y
para probarlo, vamos a codificar el evento OnClick haciendo doble click sobre l, y le agregamos el
siguiente cdigo: (Figura No. 14)

Figura No. 13

Figura No. 14
ejecutamos la aplicacin, luego insertamos un registro en la tabla emple (Figura No. 15), luego tendremos
que presionar el botn para que actualice la informacin (Figura No. 16).

Figura No. 15.

Figura No. 16.


Si insertamos un registro y luego presionamos el botn, tendramos que ver el nuevo registro en el DBGrid.
Insertar un registro desde el formulario
Para llevar a cabo la insercin de registros desde el formulario, vamos a agregar los siguientes componentes:
tres etiquetas (TLabel) y tres cuadros de texto (TEdit), estos componentes se encuentran en la pestaa
Standard de la paleta de componentes, y los organizamos en el formulario (Figura No. 17)., a los TLabel,
les cambiamos la propiedad Caption por la correspondiente (CODIGO, NOMBRE, APELLIDO), y a los
TEdit les borramos la propiedad Text que trae por default.

Figura No. 17.


Ahora, vamos a modificar el cdigo del evento OnClick del botn Actualizar, para esto hacemos doble
click sobre l y agregamos el siguiente cdigo (Figura No. 18):

Figura No. 18.

Ahora vamos a ejecutar el proyecto, presionamos la tecla F9 para ejecutar el proyecto, o bien en la barra de
mens Ejecutar->Ejecutar, debemos observar lo siguiente (Figura No. 19):

Figura No. 19.


Listo, insertaremos los siguientes valores (Figura No. 20). y despus presionamos el botn Actualizar, y
tendramos que ver el registro en el DBGrid:

Figura No. 20.


Ahora, debemos borrar el contenido de los cuadros de texto (TEdit), y mostrar un mensaje diciendo que el
registro ha sido guardado, detenemos el proyecto y agregamos el siguiente cdigo (Figura No. 21):

Figura No. 21

Validando la entrada de datos


Debemos agregar un componente TSQLQuery y configurar las siguientes propiedades:
Database:
Transaction:

MySQL50Connection1
SQLTransaction1

Ahora, lo que tenemos que validar es la entrada de datos en:


Cdigo = nmeros mayores a cero y que no exista el registro en la base de datos
Nombre = que sea mayor o igual a tres caracteres
Apellido = que sea mayor o igual a tres caracteres
Para la validacin del cdigo, vamos a convertir el contenido del Edit1 (Text) a entero y luego con un if,
haremos la condicin para ver si es mayor a cero; para la conversin (cast), vamos tomar en cuenta si se
produce alguna excepcin, utilizando Try --> Except:

Figura No. 21
Segn la figura No. 21; vamos a crear una funcin llamada Entero, para esto nos vamos al Editor del cdigo
fuente y despus de implementation agregamos el cdigo segn la figura. La funcin recibe como
parmetro un String y nos devuelve un valor booleano; convierte el valor recibido a entero y luego
condiciona si el valor es mayor a cero, devolviendo como resultado True si esto se cumple, y False si hay
error de conversin o si el valor es menor a cero.
Luego vamos a modificar el cdigo del evento OnClick del botn Actualizar, quedando como en la figura
No. 22; en donde el SQLQuery2 lo utilizamos para buscar el cdigo a grabar, si existe el cdigo, el valor de
SQLQuery2.RecordCount ser mayor a cero. Tambin se define la variable cdigo de tipo Boolean, la cual
recibe el valor devuelto por la funcin Entero(Edit1.Text).

Figura No. 22
Ahora, con la entrada en NOMBRE y APELLIDO, vamos a utilizar las funciones:
Length(texto) = devuelve la longitud del texto
Trim(texto) = elimina los espacios en blanco de los extremos
para esto creamos la funcin LargoCadena, que recibe como parmetros, el contenido de Edit1 y Edit2, y
nos devuelve el nombre del campo que no cumple con el largo de cadena deseado, agregar la funcin, segn
la figura No. 23.

Figura No. 23

y tambin vamos a modificar el cdigo del evento OnClick del botn Actualizar, quedando como en la
figura No. 24:

Figura No. 24.


Claro esta, que el cdigo del evento los debemos segmentar, como por ejemplo: un procedimiento que
ejecute la insercin y otro que limpie los cuadros de texto; esto porque mas adelante toca hacer un update y
delete con los datos de la grilla y bueno mas de alguno dar su opinin constructiva al respecto.

Modificacin y eliminacin de registros


Para la modificacin y eliminacin de registros, vamos a utilizar el mismo componente SQLQuery2; al cual
le modificaremos la propiedad SQL.Add(), segn sea el caso.
Y tambin vamos a agregar dos botones de comando (TButton); uno para que haga la modificacin y el otro
para la eliminacin, en los cuales se codificara el evento OnClick para su respectivo evento.
Agregar los botones segn la figura No. 25 y cambiarles la propiedad caption respectivamente:

Figura No. 25.


Antes de pasar al cdigo de los botones, vamos a hacer los siguiente: al seleccionar un registro de la grilla,
los campos del registro deben pasar a su respectivo componente (CODIGO, NOMBRE, APELLIDO),
explicado as: al hacer click en la grilla, el evento encargado de hacer el trabajo sera el OnCellClick, para
codificarlo, seleccionar el DBGrid1 y seleccionar el evento en la pestaa Eventos, del Inspector de
Objetos, luego hacer doble click sobre l, segn la figura No. 26.

Figura No. 26.

Luego, haciendo un recordatorio; sabemos que el origen de datos que se muestra en el DBGrid1 es el
Datasource1, que este a su vez tiene al SQLQuery1 como conjunto de datos. Entonces la propiedad
Fields[] del SQLQuery1, es la que se encarga de darnos la informacin respectiva. Codificar el evento
OnCellClick del DBGrid1 segn la figura No. 27.

Figura No. 27.


Ahora ejecutamos el proyecto para probar (F9). Algo muy importante es recordarse de guardar los cambios!.
Seguido; para la modificacin de un registro, solo debemos permitir la modificacin de los campos
NOMBRE y APELLIDO, entonces para hacer esta limitacin, vamos a indisponer el campo CODIGO al
momento del evento OnCellClick del DBGrid1, con solo agregar la siguiente lnea al final del evento de
la figura No. 27: Edit1.Enabled:=False;
Entonces, el evento OnClick del botn Modificar, y quedara segn cdigo de la figura No. 28:

Figura No. 28.


Ahora es cuestin de hacer la respectiva prueba y veras que funciona, claro esta que se debe tener un
procedimiento para borrar el contenido de los cuadros de texto (TEdit), y falta agregar la validacin sobre la
longitud de los mismos. Seguido; hacer doble click sobre el botn Eliminar y agregamos el siguiente
cdigo (Figura No. 29):

Figura No. 29.

Segmentando el cdigo
Como hice referencia anteriormente; hay lineas de cdigo que se repiten, como por ejemplo: el borrado de
los cuadros de texto, para llevar a cabo esto, vamos a programar un procedimiento que haga el trabajo, el cual
se llamara LimpiaTextos.
Los procedimientos a diferencia de las funciones, no devuelven ningn valor de retorno, simplemente hacen
el trabajo y listo, y otra diferencia es que los procedimientos deben declararse como parte del formulario, los
cuales pueden ser de uso privado o pblico (mbito del procedimiento).
Entonces, declaramos el procedimiento segn la figura No. 30:

Figura No. 30.


Seguido de la declaracin, codificamos el procedimiento segn la figura No. 31.

Figura No. 31.


Ahora bien, sustituimos las lineas de cdigo donde se borra el contenido de los cuadros de texto, y
agregamos la lnea de cdigo donde se llama al procedimiento, tomar como referencia la figura No. 32.

Figura No. 32.

Tutorial actualizado al 18 de Mayo de 2008.

También podría gustarte