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 más. Free Pascal está diseñado 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. Según vaya creciendo Lazarus necesitaremos más desarrolladores. Official: http://sourceforge.net/projects/lazarus/ Tutorials: http://lazarus-ccr.sourceforge.net

Tutorial desarrollado por: Universidad Mariano Gálvez Facultad de Ingeniería en Sistemas 0908-01-10469 José de Paz jose.depaz@gmail.com Escuintla, Guatemala.

Paleta de componentes Inspector de objetos Editor de código fuente Formularios Mensajes del compilador . 2. La IDE (Figura No. 5. 4. 2) de Lazarus esta distribuida por los siguientes componentes: 1. 3.Lazarus IDE Palete de Componentes Inspector de objetos Editor de codigo fuente formularios Mensajes del compilador Figura No. 2.

).Primer Proyecto Para crear nuestro primer proyecto debemos ir a la barra de menús y seleccionar en Proyecto->Nuevo proyecto: Figura No. carga un proyecto por default. 4. y hacemos click en el botón “No”. Luego. 3. Automáticamente se crea un proyecto. 3) Figura No. cuando Lazarus se inicia. (Figura No. (Figura No. 5. haciendo click sobre él y dibujarlo a nuestra medida en el formulario. Ahora. Figura No. seleccionar en “Aplicación” y luego click en el botón “Crear”. Ahora vamos a agregar un botón de comando (TButton. el cual puede observarse en la ventana “Inspector de Objetos”. hay dos formas de agregarlo: 1. para esto nos vamos a la paleta de componentes y nos situamos en la pestaña “Standard” y seleccionamos el componente.). haciendo doble click sobre él 2. 4. en este caso estamos creando un nuevo proyecto. 5. . Figura No. el cuál contiene un formulario llamado “Form1”.

haciendo doble click sobre él o bien seleccionando el evento desde el “Inspector de Proyectos”. Terminando.. Ahora vamos a codificar el evento “OnClick” del botón. 6. debemos guardar nuestro proyecto y formulario. en la pestaña “Eventos”. luego de presionar el botón “Presionar”. tal como se muestra en la figura No. debemos observar lo siguiente: Figura No. y le insertamos algo como esto “Presionar”. . tener en cuenta que debemos tener seleccionado el botón y no el formulario. 8. Haciendo esto.Después de haber agregado el botón. o bien en la barra de menús “Ejecutar->Ejecutar”. listo presionamos la tecla “F9” para ejecutar el proyecto. vamos a modificarle la propiedad “Caption”. para estos nos vamos a la barra de menús y hacer click en “Proyecto->Guardar Proyecto”. se mostrara la venta del “Editor de código fuente” y se creara un evento para el TButton Figura No. y agregamos la siguiente línea de código. Figura No. 7. 7.

0) (MySQL Server 4. 10. 9) Figura No. en la cual crearemos la tabla “emple” y le ingresaremos algunos valores (Figura No. .0) (PostgreSQL) Para este ejemplo. 9. 10).0. y la base de datos que trae por default llamada “test”. Tiene componentes de conexión a las siguientes base de datos: TIBConnection TODBCConnection TOracleConnection TMySQL40Connection TMySQL41Connection TMySQL50Connection TPQConnection (FireBird / Interbase) (conexión ODBC) (Oracle ) (MySQL Server 4.1) (MySQL Server 5. la cual encontramos en la pestaña “SQLdb” de la paleta de componentes. (Figura No. Figura No.Conexión a base de datos Lazarus dispone de componentes para conexión a base de datos. utilizaremos MySQL Server 5.

11 El componente “Datasource”. en él cuál mostraremos el contenido de la tabla llamada “emple”. 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. 11): TMySQL50Connection TDatasource TSQLTransaction TDBGrid TSQLQuery Figura No.Ahora vamos a crear un proyecto. de paleta de componentes. Para esto necesitamos agregar los siguientes componentes al formulario (Figura No. SQLTransaction1 True En el caso de la propiedad SQL. debemos abrir el “Diálogo Editor de Strings” cuando estemos situados en la propiedad “SQL”. y el componente “DBGrid” en la pestaña “Data Controls”. lo encontramos en la pestaña “Data Access”. 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. Ahora. en el cual tendremos un formulario con un datagrid (TDBGrid). y luego agregar la consulta SQL y presionar el botón “Ok” DataSet: DataGrid1 DataSource: SQLQuery1 Datasource1 .

12. Figura No. 15. 12) Figura No. 13 Figura No. Ahora. luego insertamos un registro en la tabla emple (Figura No. detenemos el proyecto y vamos a agregar un botón (Figura No. y le agregamos el siguiente código: (Figura No. 16). . (Figura No. esto nos quiere decir que todo esta bien. 14 ejecutamos la aplicación. luego tendremos que presionar el botón para que actualice la información (Figura No. la función del mismo es para actualizar los registros en el DBGrid. o bien en la barra de menús “Ejecutar->Ejecutar”. 13) al formulario y le modificamos la propiedad “Caption” por “Actualizar”. 15). 14) Figura No. se mostrara el contenido de la consulta SQL. y para probarlo.Al momento de cambiar la propiedad “DataSource” del componente “DBGrid1”. vamos a codificar el evento “OnClick” haciendo doble click sobre él. y solo resta presionar “F9” para ejecutar el proyecto.

y los organizamos en el formulario (Figura No. les cambiamos la propiedad “Caption” por la correspondiente (CODIGO. 17). APELLIDO). a los TLabel. para esto hacemos doble click sobre él y agregamos el siguiente código (Figura No. Ahora. 17. Insertar un registro desde el formulario Para llevar a cabo la inserción de registros desde el formulario.. Figura No. estos componentes se encuentran en la pestaña “Standard” de la paleta de componentes. tendríamos que ver el nuevo registro en el DBGrid. 18. 18): Figura No. NOMBRE.Figura No. Si insertamos un registro y luego presionamos el botón. vamos a modificar el código del evento “OnClick” del botón “Actualizar”. vamos a agregar los siguientes componentes: tres etiquetas (TLabel) y tres cuadros de texto (TEdit). y a los TEdit les borramos la propiedad “Text” que trae por default. 16. .

y tendríamos que ver el registro en el DBGrid: Figura No. debemos observar lo siguiente (Figura No. detenemos el proyecto y agregamos el siguiente código (Figura No. debemos borrar el contenido de los cuadros de texto (TEdit). y mostrar un mensaje diciendo que el registro ha sido guardado. 19): Figura No. y después presionamos el botón “Actualizar”. 21): Figura No. insertaremos los siguientes valores (Figura No. 20). 19. 20. presionamos la tecla “F9” para ejecutar el proyecto. 21 . Listo.Ahora vamos a ejecutar el proyecto. o bien en la barra de menús “Ejecutar->Ejecutar”. Ahora.

para la conversión (cast). lo que tenemos que validar es la entrada de datos en: Código = números 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 validación del código. 22. quedando como en la figura No. Luego vamos a modificar el código del evento OnClick del botón Actualizar. La función recibe como parámetro un String y nos devuelve un valor booleano. y False si hay error de conversión o si el valor es menor a cero. vamos tomar en cuenta si se produce alguna excepción.RecordCount será mayor a cero. convierte el valor recibido a entero y luego condiciona si el valor es mayor a cero. 21 Según la figura No. vamos a convertir el contenido del Edit1 (Text) a entero y luego con un if. . 21. vamos a crear una función llamada Entero. en donde el SQLQuery2 lo utilizamos para buscar el código a grabar. si existe el código. la cual recibe el valor devuelto por la función Entero(Edit1.Text). utilizando Try --> Except: Figura No. haremos la condición para ver si es mayor a cero.Validando la entrada de datos Debemos agregar un componente TSQLQuery y configurar las siguientes propiedades: Database: Transaction: MySQL50Connection1 SQLTransaction1 Ahora. También se define la variable código de tipo Boolean. devolviendo como resultado True si esto se cumple. el valor de SQLQuery2. para esto nos vamos al Editor del código fuente y después de implementation agregamos el código según la figura.

el contenido de Edit1 y Edit2. y nos devuelve el nombre del campo que no cumple con el largo de cadena deseado. 22 Ahora. Figura No.Figura No. agregar la función. según la figura No. 23 . 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 función “LargoCadena”. 23. con la entrada en NOMBRE y APELLIDO. que recibe como parámetros.

como por ejemplo: un procedimiento que ejecute la inserción 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 opinión constructiva al respecto. quedando como en la figura No. 24: Figura No. que el código del evento los debemos segmentar. 24. Claro esta. .y también vamos a modificar el código del evento OnClick del botón Actualizar.

Modificación y eliminación de registros Para la modificación y eliminación de registros. en los cuales se codificara el evento OnClick para su respectivo evento. el evento encargado de hacer el trabajo sera el “OnCellClick”. según la figura No. 25. 25 y cambiarles la propiedad “caption” respectivamente: Figura No. 26. según sea el caso. NOMBRE. para codificarlo. 26. seleccionar el DBGrid1 y seleccionar el evento en la pestaña “Eventos”. APELLIDO).Add(). los campos del registro deben pasar a su respectivo componente (CODIGO. uno para que haga la modificación y el otro para la eliminación. Y también vamos a agregar dos botones de comando (TButton). del “Inspector de Objetos”. Figura No. Agregar los botones según la figura No. vamos a hacer los siguiente: al seleccionar un registro de la grilla. vamos a utilizar el mismo componente SQLQuery2. Antes de pasar al código de los botones. . explicado así: al hacer click en la grilla. luego hacer doble click sobre él. al cual le modificaremos la propiedad SQL.

Figura No. el evento “OnClick” del botón “Modificar”. 27: Edit1. 28. 29): Figura No. haciendo un recordatorio. claro esta que se debe tener un procedimiento para borrar el contenido de los cuadros de texto (TEdit). 29. Entonces la propiedad “Fields[]” del SQLQuery1.Luego.Enabled:=False. es la que se encarga de darnos la información respectiva. hacer doble click sobre el botón “Eliminar” y agregamos el siguiente código (Figura No. para la modificación de un registro. Entonces. Ahora es cuestión de hacer la respectiva prueba y veras que funciona. ¡Algo muy importante es recordarse de guardar los cambios!. y quedaría según código de la figura No. sabemos que el origen de datos que se muestra en el DBGrid1 es el Datasource1. Ahora ejecutamos el proyecto para probar (F9). con solo agregar la siguiente línea al final del evento de la figura No. Seguido. 28: Figura No. vamos a indisponer el campo CODIGO al momento del evento “OnCellClick” del DBGrid1. Seguido. Codificar el evento “OnCellClick” del DBGrid1 según la figura No. entonces para hacer esta limitación. 27. y falta agregar la validación sobre la longitud de los mismos. 27. que este a su vez tiene al SQLQuery1 como conjunto de datos. solo debemos permitir la modificación de los campos NOMBRE y APELLIDO. .

y agregamos la línea de código donde se llama al procedimiento. Tutorial actualizado al 18 de Mayo de 2008. codificamos el procedimiento según la figura No. 30: Figura No. hay lineas de código que se repiten. vamos a programar un procedimiento que haga el trabajo. . simplemente hacen el trabajo y listo. Ahora bien. Entonces. declaramos el procedimiento según la figura No. 30. como por ejemplo: el borrado de los cuadros de texto. 31. Los procedimientos a diferencia de las funciones. tomar como referencia la figura No. para llevar a cabo esto. el cual se llamara “LimpiaTextos”. no devuelven ningún valor de retorno.Segmentando el código Como hice referencia anteriormente. 32. Figura No. Seguido de la declaración. Figura No. y otra diferencia es que los procedimientos deben declararse como parte del formulario. los cuales pueden ser de uso privado o público (ámbito del procedimiento). sustituimos las lineas de código donde se borra el contenido de los cuadros de texto. 31. 32.

Sign up to vote on this title
UsefulNot useful