Sei sulla pagina 1di 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: Database: SQL: Transaction: Active: MySQL50Connection1 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.

Potrebbero piacerti anche