SlideShare une entreprise Scribd logo
1  sur  11
Télécharger pour lire hors ligne
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
Lazarus IDE
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
Palete de Componentes
Inspector
de objetos
Editor de
codigo
fuente
formularios
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

Contenu connexe

Tendances

How to remove disable and cancel shipment functionality in enter purchase or...
How to remove  disable and cancel shipment functionality in enter purchase or...How to remove  disable and cancel shipment functionality in enter purchase or...
How to remove disable and cancel shipment functionality in enter purchase or...Ahmed Elshayeb
 
Lot or Serial Number Configuration in Odoo 15
Lot or Serial Number Configuration in Odoo 15Lot or Serial Number Configuration in Odoo 15
Lot or Serial Number Configuration in Odoo 15Celine George
 
Evaporator performance
Evaporator performanceEvaporator performance
Evaporator performanceMamta Sahurkar
 
Oracle Forms: create debug triggers
Oracle Forms: create debug triggersOracle Forms: create debug triggers
Oracle Forms: create debug triggersSekhar Byna
 
construction of Psychromtery
construction of Psychromteryconstruction of Psychromtery
construction of PsychromteryKulwinder Verma
 
Coupons and Promotional Programs in Odoo 15
Coupons and Promotional Programs in Odoo 15Coupons and Promotional Programs in Odoo 15
Coupons and Promotional Programs in Odoo 15Celine George
 
Report Registration Steps with effected tables in ORACLE Applications R12
Report Registration Steps with effected tables in ORACLE Applications R12Report Registration Steps with effected tables in ORACLE Applications R12
Report Registration Steps with effected tables in ORACLE Applications R12Nagendra Reddy B K
 
Low Code Data Science with Pentaho Machine Intelligence
Low Code Data Science with Pentaho Machine IntelligenceLow Code Data Science with Pentaho Machine Intelligence
Low Code Data Science with Pentaho Machine IntelligenceAmbiente Livre
 
Engineering in oracle
Engineering in oracleEngineering in oracle
Engineering in oracleLarry Sherrod
 
Oracle Forms Tutorial (www.aboutoracleapps.com)
Oracle Forms Tutorial (www.aboutoracleapps.com)Oracle Forms Tutorial (www.aboutoracleapps.com)
Oracle Forms Tutorial (www.aboutoracleapps.com)magupta26
 
Personalization select all record from menu for manage buyer work load
Personalization select all record from menu for manage buyer work loadPersonalization select all record from menu for manage buyer work load
Personalization select all record from menu for manage buyer work loadAhmed Elshayeb
 
Oracle Concurrent Program Setup document
Oracle Concurrent Program Setup  documentOracle Concurrent Program Setup  document
Oracle Concurrent Program Setup documentvenkatesh gurusamy
 
Oracle Quality setup
Oracle Quality setupOracle Quality setup
Oracle Quality setupMina Lotfy
 
Oracle ebs otl setup document
Oracle ebs otl setup documentOracle ebs otl setup document
Oracle ebs otl setup documentFeras Ahmad
 
Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Docker, Inc.
 

Tendances (20)

How to remove disable and cancel shipment functionality in enter purchase or...
How to remove  disable and cancel shipment functionality in enter purchase or...How to remove  disable and cancel shipment functionality in enter purchase or...
How to remove disable and cancel shipment functionality in enter purchase or...
 
Lot or Serial Number Configuration in Odoo 15
Lot or Serial Number Configuration in Odoo 15Lot or Serial Number Configuration in Odoo 15
Lot or Serial Number Configuration in Odoo 15
 
Evaporator performance
Evaporator performanceEvaporator performance
Evaporator performance
 
Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)Tutorial - REST con java (JAX-RS 2.0)
Tutorial - REST con java (JAX-RS 2.0)
 
Oracle Forms: create debug triggers
Oracle Forms: create debug triggersOracle Forms: create debug triggers
Oracle Forms: create debug triggers
 
construction of Psychromtery
construction of Psychromteryconstruction of Psychromtery
construction of Psychromtery
 
Coupons and Promotional Programs in Odoo 15
Coupons and Promotional Programs in Odoo 15Coupons and Promotional Programs in Odoo 15
Coupons and Promotional Programs in Odoo 15
 
Report Registration Steps with effected tables in ORACLE Applications R12
Report Registration Steps with effected tables in ORACLE Applications R12Report Registration Steps with effected tables in ORACLE Applications R12
Report Registration Steps with effected tables in ORACLE Applications R12
 
Evaporators
EvaporatorsEvaporators
Evaporators
 
Oracle Apps - Forms
Oracle Apps - FormsOracle Apps - Forms
Oracle Apps - Forms
 
Low Code Data Science with Pentaho Machine Intelligence
Low Code Data Science with Pentaho Machine IntelligenceLow Code Data Science with Pentaho Machine Intelligence
Low Code Data Science with Pentaho Machine Intelligence
 
BR100 Oracle AP Setup
BR100 Oracle AP SetupBR100 Oracle AP Setup
BR100 Oracle AP Setup
 
Oracle 11i forms personalization
Oracle 11i forms personalizationOracle 11i forms personalization
Oracle 11i forms personalization
 
Engineering in oracle
Engineering in oracleEngineering in oracle
Engineering in oracle
 
Oracle Forms Tutorial (www.aboutoracleapps.com)
Oracle Forms Tutorial (www.aboutoracleapps.com)Oracle Forms Tutorial (www.aboutoracleapps.com)
Oracle Forms Tutorial (www.aboutoracleapps.com)
 
Personalization select all record from menu for manage buyer work load
Personalization select all record from menu for manage buyer work loadPersonalization select all record from menu for manage buyer work load
Personalization select all record from menu for manage buyer work load
 
Oracle Concurrent Program Setup document
Oracle Concurrent Program Setup  documentOracle Concurrent Program Setup  document
Oracle Concurrent Program Setup document
 
Oracle Quality setup
Oracle Quality setupOracle Quality setup
Oracle Quality setup
 
Oracle ebs otl setup document
Oracle ebs otl setup documentOracle ebs otl setup document
Oracle ebs otl setup document
 
Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)
 

Similaire à Lazarus IDE para Free Pascal (20)

Bases de datos_angelina_monetti
Bases de datos_angelina_monettiBases de datos_angelina_monetti
Bases de datos_angelina_monetti
 
bases de datos desde visual basic
bases de datos desde visual basicbases de datos desde visual basic
bases de datos desde visual basic
 
Conectar con bases de datos
Conectar con bases de datosConectar con bases de datos
Conectar con bases de datos
 
Manual de delphi 6.0
Manual de delphi 6.0Manual de delphi 6.0
Manual de delphi 6.0
 
Base de datos desde vb 6.0
Base de datos desde vb 6.0Base de datos desde vb 6.0
Base de datos desde vb 6.0
 
My Sql A C#
My Sql A C#My Sql A C#
My Sql A C#
 
My Sql A C#
My Sql A C#My Sql A C#
My Sql A C#
 
Sesión5 applets
Sesión5 appletsSesión5 applets
Sesión5 applets
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
Presentación de visual studio (1)
Presentación de visual studio (1)Presentación de visual studio (1)
Presentación de visual studio (1)
 
Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)Manual de netbeans_7(2)(2)(2)
Manual de netbeans_7(2)(2)(2)
 
Aplicación zirconia
Aplicación zirconiaAplicación zirconia
Aplicación zirconia
 
Programa2 eclipse
Programa2 eclipsePrograma2 eclipse
Programa2 eclipse
 
Programa 2
Programa 2Programa 2
Programa 2
 
Programa2
Programa2 Programa2
Programa2
 
Delphi 7 20051
Delphi 7 20051Delphi 7 20051
Delphi 7 20051
 
Delphi 7 20051
Delphi 7 20051Delphi 7 20051
Delphi 7 20051
 
Vb net
Vb netVb net
Vb net
 
C# conexión sql server2012-visualstudio2012-mantenimientos
C#   conexión sql server2012-visualstudio2012-mantenimientosC#   conexión sql server2012-visualstudio2012-mantenimientos
C# conexión sql server2012-visualstudio2012-mantenimientos
 
284
284284
284
 

Plus de Desarrollo Escuintla

Creación de un servicio RESTful utilizando Java y WildFly -I PARTE-
Creación de un servicio RESTful utilizando Java y WildFly -I PARTE-Creación de un servicio RESTful utilizando Java y WildFly -I PARTE-
Creación de un servicio RESTful utilizando Java y WildFly -I PARTE-Desarrollo Escuintla
 
FriendlyARM Mini2440 Ubuntu 10.04.4
FriendlyARM Mini2440 Ubuntu 10.04.4FriendlyARM Mini2440 Ubuntu 10.04.4
FriendlyARM Mini2440 Ubuntu 10.04.4Desarrollo Escuintla
 
NReports -Diseñador y Generador de Informes-
NReports -Diseñador y Generador de Informes-NReports -Diseñador y Generador de Informes-
NReports -Diseñador y Generador de Informes-Desarrollo Escuintla
 
Tutorial usando FIBplus en Report Manager
Tutorial usando FIBplus en Report ManagerTutorial usando FIBplus en Report Manager
Tutorial usando FIBplus en Report ManagerDesarrollo Escuintla
 
Utilizando outlook para revision de correo electronico
Utilizando outlook para revision de correo electronicoUtilizando outlook para revision de correo electronico
Utilizando outlook para revision de correo electronicoDesarrollo Escuintla
 

Plus de Desarrollo Escuintla (8)

Creación de un servicio RESTful utilizando Java y WildFly -I PARTE-
Creación de un servicio RESTful utilizando Java y WildFly -I PARTE-Creación de un servicio RESTful utilizando Java y WildFly -I PARTE-
Creación de un servicio RESTful utilizando Java y WildFly -I PARTE-
 
Tutorial consumir DLL C++ en C#
Tutorial consumir DLL C++ en C#Tutorial consumir DLL C++ en C#
Tutorial consumir DLL C++ en C#
 
FriendlyARM Mini2440 Ubuntu 10.04.4
FriendlyARM Mini2440 Ubuntu 10.04.4FriendlyARM Mini2440 Ubuntu 10.04.4
FriendlyARM Mini2440 Ubuntu 10.04.4
 
NReports -Diseñador y Generador de Informes-
NReports -Diseñador y Generador de Informes-NReports -Diseñador y Generador de Informes-
NReports -Diseñador y Generador de Informes-
 
Tutorial usando FIBplus en Report Manager
Tutorial usando FIBplus en Report ManagerTutorial usando FIBplus en Report Manager
Tutorial usando FIBplus en Report Manager
 
Utilizando outlook para revision de correo electronico
Utilizando outlook para revision de correo electronicoUtilizando outlook para revision de correo electronico
Utilizando outlook para revision de correo electronico
 
Vulnerabilidad thomson
Vulnerabilidad thomsonVulnerabilidad thomson
Vulnerabilidad thomson
 
Vulnerabilidad thomson
Vulnerabilidad thomsonVulnerabilidad thomson
Vulnerabilidad thomson
 

Dernier

TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxnandoapperscabanilla
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 

Dernier (20)

TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 

Lazarus IDE para Free Pascal

  • 1. 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
  • 2. Lazarus IDE 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 Palete de Componentes Inspector de objetos Editor de codigo fuente formularios Mensajes del compilador
  • 3. 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.
  • 4. 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”.
  • 5. 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.
  • 6. 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
  • 7. 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.
  • 8. 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.
  • 9. 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
  • 10. 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).