Lazarus Free Pascal Compiler



Documentos relacionados
Lazarus Free Pascal Compiler

Curso de PHP con MySQL Gratis

Como instalar Zeos Lib y no morir en el intento. Un Tutorial.

INSTITUTO TECNOLOGICO SUPERIOR DE LERDO

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

Operación Microsoft Access 97

Aplicación de Base de Datos con MySQL, ODBC y Delphi

Gestión de Retales WhitePaper Noviembre de 2009

Programación Gambas 3 Prof: Mileti, P. Acceso a base de datos SQLite desde Gambas 3.

Proyecto de Facturación con Filemaker Pro 12

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

Ejercicios - Persistencia en Android: ficheros y SQLite

LABORATORIO Nº 1 Sistemas de Información asociados a los Formularios en Excel

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 5: Report Builder

Dossier de prácticas

TUTORIAL PRÁCTICO DE BASES DE DATOS EN ACCESS CREAR UNA AGENDA

Administrar El Usuario Mediante Windows NT

TUTORIAL ENVIO SMS MASIVOS. 1. Segmentación de la base de datos de clientes

... Formas alternativas de escribir un texto. Columnas. anfora CAPÍTULO 4

Formulario VBA en Excel. Creación del formulario. Actividad grado 10.

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

TUTORIAL PRÁCTICO COMPLETO DE BASE DE DATOS EN PHPMYADMIN Y GESTIÓN DESDE DREAMWEAVER

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

Manual de Procedimiento

Comisión Nacional de Bancos y Seguros

Aplicaciones seguras con ClaseSeguridad

Manual de instalación de Java Runtime Environment.

Artículos técnicos Grupo Danysoft: De Delphi a Interbase ida y vuelta [IV]

Comisión Nacional de Bancos y Seguros

PHP Perfect SQL v1.0 (SQL perfectas en PHP)

Marta Soler Tel: Fax: TUTORIAL DEL GESTOR DE CONTENIDOS DOTNETNUKE


MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1

vmysql Requisitos Previos Conexión con el servidor vmysql 1/5

APLICACIONES INFORMÁTICAS de BASE de DATOS

Integración de SQL Server Analysis Services con Base de Datos MySQL. Hecho Por: Héctor Rafael Gutiérrez Granados

PS.Vending Almacén Pocket PC

ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas.

UNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS

La ventana de Microsoft Excel

Base de datos en Excel

Administración de Clientes 4

BASES DE DATOS EN VISUAL BASIC ACCESS + SQL

BASES DE DATOS - Microsoft ACCESS 2007-

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS

Acceso a base de datos SQLite desde Gambas

Guía de Apoyo Project Professional

El siguiente material didáctico es complementario al Punto 7 de la Unidad 2.

Definiciones. Tema 21_Módulos Menú 1

Comunicación entre un PLC S y WinCC Advanced

CONCEPTO DE SCREENCAST O MATIC

ADO.NET con Base de datos SQL Server

Introducción a Scratch Autor

UNIVERSIDAD AUTÓNOMA DE SINALOA FACULTAD DE INGENIERÍA MOCHIS LIC. EN INGENIERÍA DE SOFTWARE MATERIA: REDES Y COMUNICACIÓN DE DATOS GRUPO: 401

myappgen Usted Construye la aplicación mientras la ejecuta

Mejoras introducidas MARKETING GIO

Microsoft Office XP Access XP (III)

Como programar en Karel

INSTALACIÓN DE SIESTTA 2.0 EN UN HOSTING (Ejemplo para Guebs.com)

MANAUAL DE MANTENIMIENTO PARA LA PÁGINA WEB DE PROYECTO ADL GESTOR DE CONTENIDOS

Ubuntu Server HOW TO : SERVIDOR VPN. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como usar vpn. Qué es una VPN?

LEY CONTRA EL DELITO DE LAVADO DE DINERO O ACTIVOS. CIRCULAR CNBS No. XXXX. CAPTURADOR Lavado de Activos v5.0

Se ha confeccionado una aplicación sencilla para poder probar el interfaz de gestión explotación de MEGA, Modelo Estandarizado de Gestión de Agua.

- Power Builder - Conexión ODBC DataWindows

Introducción a PostgreSQL con PHP

Manual de Usuario. Manual de Operación Contratos

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

Modulo 1 El lenguaje Java

Recuperador datos externos

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Creación de Funciones de Conducción

3.1. Guardar un libro de trabajo

MANUAL DE USUARIO GESTIÓN DE EXPEDIENTES

Practica 11: Conexión de Java con Bases de datos Access

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Ambos paquetes simplifican mucho la instalación del servidor en el equipo. Y ambos pueden ser utilizados para la creación de una red intra-aula.

SYMBALOO 1º.- QUÉ ES? 2º.-Darse de alta en Symbaloo

Editor de textos para Drupal: TinyMCE

Sitios remotos. Configurar un Sitio Remoto

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Kaldeera Advanced Forms 2009 Guía del usuario

Optimizar base de datos WordPress

Contenido. cursos.cl / Teléfono:

Manual de usuario para la parametrización de la integración Openbravo-Sugar

Ejercicio: Creación de una lección en línea: WebQuest

TUTORIAL SOBRE CÓMO CREAR Y GESTIONAR UN BLOG CON BLOGGER

1. Bases de datos desde VB.Net 1.1 Introducción. Desde Vb Net 2005 se puede acceder a las siguientes bases de datos, utilizando las clases adecuadas.

CRM para ipad Manual para Usuario

Creación paso a paso de Formularios con Google (Parte I) (AKA: no corrijo nunca más!)

Introducción a JDBC - Base de datos con Java

Manual de uso. Manual de uso - citanet 1

Guía para la Automatización de Documentos en. Microsoft Word

Configuracion Escritorio Remoto Windows 2003


Departamento de Soporte Occidente. Módulo Procesos. Constantes Periódicas:

Transcripción:

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.

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. Paleta de componentes 2. Inspector de objetos 3. Editor de código fuente 4. Formularios 5. Mensajes del compilador

Primer Proyecto Para crear nuestro primer proyecto debemos ir a la barra de menús y seleccionar en Proyecto->Nuevo proyecto: Figura No. 3. Luego, seleccionar en Aplicación y luego click en el botón 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 botón No. (Figura No. 4.). Automáticamente se crea un proyecto, el cuál contiene un formulario llamado Form1, el cual puede observarse en la ventana Inspector de Objetos. Ahora vamos a agregar un botón de comando (TButton, Figura No. 5.), para esto nos vamos a la paleta de componentes y nos situamos en la pestaña 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.

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

Conexión a base de datos Lazarus dispone de componentes para conexión a base de datos, la cual encontramos en la pestaña SQLdb de la paleta de componentes. (Figura No. 9) Figura No. 9. Tiene componentes de conexión a las siguientes base de datos: TIBConnection (FireBird / Interbase) TODBCConnection (conexión ODBC) TOracleConnection (Oracle ) TMySQL40Connection (MySQL Server 4.0) TMySQL41Connection (MySQL Server 4.1) TMySQL50Connection (MySQL Server 5.0) TPQConnection (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 cuál mostraremos el contenido de la tabla llamada emple. Para esto necesitamos agregar los siguientes componentes al formulario (Figura No. 11): TMySQL50Connection TSQLTransaction TSQLQuery TDatasource TDBGrid Figura No. 11 El componente Datasource, lo encontramos en la pestaña Data Access, y el componente DBGrid en la pestaña 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: MySQL50Connection1 SQL: select * from emple; Transaction: SQLTransaction1 Active: True En el caso de la propiedad SQL, debemos abrir el Diálogo Editor de Strings cuando estemos situados en la propiedad SQL, y luego agregar la consulta SQL y presionar el botón Ok DataSet: SQLQuery1 DataGrid1 DataSource: 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 menús Ejecutar->Ejecutar. (Figura No. 12) Figura No. 12. Ahora, detenemos el proyecto y vamos a agregar un botón (Figura No. 13) al formulario y le modificamos la propiedad Caption por Actualizar, la función 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 código: (Figura No. 14) Figura No. 13 Figura No. 14 ejecutamos la aplicación, luego insertamos un registro en la tabla emple (Figura No. 15), luego tendremos que presionar el botón para que actualice la información (Figura No. 16). Figura No. 15.

Figura No. 16. Si insertamos un registro y luego presionamos el botón, tendríamos que ver el nuevo registro en el DBGrid. Insertar un registro desde el formulario Para llevar a cabo la inserción 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 pestaña 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 código del evento OnClick del botón Actualizar, para esto hacemos doble click sobre él y agregamos el siguiente código (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 menús Ejecutar->Ejecutar, debemos observar lo siguiente (Figura No. 19): Figura No. 19. Listo, insertaremos los siguientes valores (Figura No. 20). y después presionamos el botón Actualizar, y tendríamos 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 código (Figura No. 21): Figura No. 21

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

y también vamos a modificar el código del evento OnClick del botón Actualizar, quedando como en la figura No. 24: Figura No. 24. Claro esta, que el código del evento los debemos segmentar, 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.

Modificación y eliminación de registros Para la modificación y eliminación de registros, vamos a utilizar el mismo componente SQLQuery2; al cual le modificaremos la propiedad SQL.Add(), según sea el caso. Y también vamos a agregar dos botones de comando (TButton); uno para que haga la modificación y el otro para la eliminación, en los cuales se codificara el evento OnClick para su respectivo evento. Agregar los botones según la figura No. 25 y cambiarles la propiedad caption respectivamente: Figura No. 25. Antes de pasar al código 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 pestaña Eventos, del Inspector de Objetos, luego hacer doble click sobre él, según 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 información respectiva. Codificar el evento OnCellClick del DBGrid1 según 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 modificación de un registro, solo debemos permitir la modificación de los campos NOMBRE y APELLIDO, entonces para hacer esta limitación, vamos a indisponer el campo CODIGO al momento del evento OnCellClick del DBGrid1, con solo agregar la siguiente línea al final del evento de la figura No. 27: Edit1.Enabled:=False; Entonces, el evento OnClick del botón Modificar, y quedaría según código de la figura No. 28: Figura No. 28. Ahora es cuestión 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 validación sobre la longitud de los mismos. Seguido; hacer doble click sobre el botón Eliminar y agregamos el siguiente código (Figura No. 29): Figura No. 29.

Segmentando el código Como hice referencia anteriormente; hay lineas de código 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 ningún 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 público (ámbito del procedimiento). Entonces, declaramos el procedimiento según la figura No. 30: Figura No. 30. Seguido de la declaración, codificamos el procedimiento según la figura No. 31. Figura No. 31. Ahora bien, sustituimos las lineas de código donde se borra el contenido de los cuadros de texto, y agregamos la línea de código donde se llama al procedimiento, tomar como referencia la figura No. 32. Figura No. 32. Tutorial actualizado al 18 de Mayo de 2008.