unidad i programacion visual elementos basicos

49
Lenguaje-Delphi Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112 1 | Pagina UNIDAD I PROGRAMACION VISUAL ELEMENTOS BASICOS 1.- INTRODUCCION DELPHI Los nuevos sistemas de información son costosos en tiempos y recursos, la solución moderna de sistemas de información exigen nuevas herramientas y metodologías para resolver rápida, económica y eficiente los problemas de información planteados por las organizaciones. Aun mas el pleno potencial del hardware no es aprovechado plenamente y existe un considerable retraso con el software y sus aplicaciones, generando lo que se conoce como “crisis del software”. En programación tradicional, modular o estructurada un programa describe una serie de pasos a ser realizados para la solución de un problema, es decir es un algoritmo. En programación orientada a objetos ( OOP ) un programa es considerado como un sistema de objetos interactuando entre sí, ambientes de desarrollo visuales facilitan aun más la construcción de programas y solución de problemas, porque permiten abstraer al ingeniero de software de todo el GUI (interfase gráfica) del problema, que constituye más del 60% del código normal de un programa. Es decir, en programación modular o estructurada un problema sencillo de información es descompuesto en una serie de módulos(llamados procedimientos o funciones) donde cada uno de ellos realiza una tarea específica, por ejemplo uno de ellos captura los datos, otro resuelve operaciones, etc. En OOP todo problema aun aquellos sencillos de información, se consideran y resuelven como módulos de código gigante (clase) que contiene todo el código necesario(variables, procedimientos, funciones, interfaces, etc.) para solucionar el problema. En programación visual( que también es heredera de OOP ),la interfase con el usuario( pantallas) son generadas por el propio compilador y el ingeniero de software solo se concentra en resolver el problema planteado. Borland Deheli es un compilador que permite usar cualquiera de los tres enfoques en la solución de problemas de información que puedan y deban ser resueltos empleando el computador y el lenguaje. Para propósitos de aprendizaje usaremos el tercer enfoque, es decir programación en ambientes visuales y usando el lenguaje de programación Borland Delphi

Upload: fabiandelphi

Post on 13-Jun-2015

1.824 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

1 | P a g i n a

UNIDAD I PROGRAMACION VISUAL ELEMENTOS BASICOS

1.- INTRODUCCION DELPHI

Los nuevos sistemas de información son costosos en tiempos y recursos, la solución moderna de sistemas de información exigen nuevas herramientas y metodologías para resolver rápida, económica y eficiente los problemas de información planteados por las organizaciones.

Aun mas el pleno potencial del hardware no es aprovechado plenamente y existe un considerable retraso con el software y sus aplicaciones, generando lo que se conoce como “crisis del software”.

En programación tradicional, modular o estructurada un programa describe una serie de pasos a ser realizados para la solución de un problema, es decir es un algoritmo.

En programación orientada a objetos ( OOP ) un programa es considerado como un sistema de objetos interactuando entre sí, ambientes de desarrollo visuales facilitan aun más la construcción de programas y solución de problemas, porque permiten abstraer al ingeniero de software de todo el GUI (interfase gráfica) del problema, que constituye más del 60% del código normal de un programa.

Es decir, en programación modular o estructurada un problema sencillo de información es descompuesto en una serie de módulos(llamados procedimientos o funciones) donde cada uno de ellos realiza una tarea específica, por ejemplo uno de ellos captura los datos, otro resuelve operaciones, etc.

En OOP todo problema aun aquellos sencillos de información, se consideran y resuelven como módulos de código gigante (clase) que contiene todo el código necesario(variables, procedimientos, funciones, interfaces, etc.) para solucionar el problema.

En programación visual( que también es heredera de OOP ),la interfase con el usuario( pantallas) son generadas por el propio compilador y el ingeniero de software solo se concentra en resolver el problema planteado.

Borland Deheli es un compilador que permite usar cualquiera de los tres enfoques en la solución de problemas de información que puedan y deban ser resueltos empleando el computador y el lenguaje.

Para propósitos de aprendizaje usaremos el tercer enfoque, es decir programación en ambientes visuales y usando el lenguaje de programación Borland Delphi

Page 2: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

2 | P a g i n a

UNIDAD I PROGRAMACION VISUAL ELEMENTOS BASICOS

2.- BORLAND DELPHI MODELO DE SOLUCION

En general un problema de información es posible entenderlo, analizarlo y descomponerlo en todos sus componentes o partes que de una u otra manera intervienen tanto en su planteamiento como en su solución.

Una herramienta rápida que nos permite descomponer en partes un problema para su solución, es el llamado modelo de solución, este consiste de una pequeña caja que contiene los tres elementos más básicos en que se puede descomponer cualquier problema sencillo de información, estas tres partes son:

1. LA PRIMERA PARTE son todos los datos que el computador ocupa para resolver el problema, estos datos son almacenados internamente en la memoria del computador en las llamadas variables de entrada.

2. LA SEGUNDA PARTE son todas las operaciones generalmente algebraicas necesarias para solucionar el problema, generalmente esta parte del modelo es una formula (o igualdad matemática, ej. X= y + 5).

3. LA TERCERA PARTE es el resultado o solución del problema que generalmente se obtiene de la parte de operaciones del modelo y dichos datos están almacenados en las llamadas variables de salida.

En resumen para todo problema sencillo de información es necesario plantearse las siguientes preguntas:

Que datos ocupa conocer el computador para resolver el problema y en cuales variables de entrada se van a almacenar ?

Que procesos u operaciones debe realizar el computador para resolver el problema planteado ?

Que información o variables de salida se van a desplegar en pantalla para responder al problema planteado originalmente?

Como nota importante no confundir los términos datos, variables e información;

Datos se refiere a información en bruto, no procesada ni catalogada, por ejemplo “Tijuana”, “calle primera # 213”,”15 años”, ” $2,520.00”, etc.

Variables es el nombre de una localidad o dirección interna en la memoria del computador donde se almacenan los datos, ejemplo de variables para los casos del inciso anterior, CIUDAD, DIRECCION, EDAD, SUELDO, ETC.

Page 3: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

3 | P a g i n a

Información son datos ya procesados que resuelven un problema planteado.

EJEMPLO DE MODELO DE SOLUCION

Construir un modelo de solución que resuelva el problema de calcular el área de un triángulo con la formula área igual a base por altura sobre dos.

Variable(s) Entrada Proceso u operación Variable(s) salida

BASE ALTURA AREA = BASE * ALTURA 2 AREA

PROBLEMA 2.- CONVERTIR LA EDAD EN AÑOS DE UNA PERSONA A MESES.

PROBLEMA 3.- CONVERTIR PESOS A DOLARES.

PROBLEMA 4.- CALCULAR EL AREA DE UN CIRCULO CON LA FORMULA

PROBLEMA 5.- EVALUAR LA FUNCION PARA CUALQUIER VALOR DE X.

Observar para el caso de constantes fijas o conocidas (PI) no se debe dar como dato de entrada su valor, en cambio colocar directamente su valor dentro de la formula, en la parte de operaciones del problema.

Pero recordar también que existirán problemas sencillos donde:

• No se ocupan entradas o no se ocupan operaciones, pero todos ocupan salida. • Una formula grande o muy compleja puede ser más segura y fácil de resolver, si es

descompuesta y resuelta en partes, juntando al final los parciales para obtener el resultado final.

• Un problema puede tener más de una solución correcta. • El problema no esta suficientemente explicado o enunciado, entonces, estudiarlo,

analizarlo y construirlo de manera genérica.

TAREAS BORLNAD DELPHI

Construir los modelos de solución de los siguientes problemas:

PROBLEMA 6.- Convertir millas a kilómetros(caso normal)

PROBLEMA 7.- Convertir 125 metros a centímetros(no ocupa entradas)

Page 4: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

4 | P a g i n a

PROBLEMA 8.- Se calcula que en promedio hay 4.7 nidos en cada árbol en la UABC, también se calcula que en cada nido existen un promedio de 5.8 pájaros, se pide calcular la cantidad total de nidos y de pájaros en los 227 arboles que existen en la UABC. (no ocupa entradas)

PROBLEMA 9.- La gorda Sra. López y sus 8 hijos solo compran una vez al mes su mandado en conocido supermercado, en dicha tienda el kilogramo de frijol cuesta $8.75, el paquete de tortillas cuesta $3.55 y el frasco de café vale $14.25, si solo compran de estos tres productos para su mandado, calcular su gasto total. ( problema no claro)

PROBLEMA 10.- Capturar y desplegar los cinco datos mas importantes de un automóvil(no ocupa operaciones)

PROBLEMA 11.- La distancia Tijuana - Ensenada es de 110 kilómetros. Si un automóvil la recorre a una velocidad constante de 30 millas por hora, cuanto tiempo tarda en llegar. ( 1 milla = 1.609 Km.) (dos maneras correctas de

resolverlo).

PROBLEMA 12.- Evaluar la función para cualquier valor de x.(caso normal).

PROBLEMA 13.- Evaluar la función para cuando x vale 4 . (no ocupa entradas).

14.- Evaluar el factorial de cualquier numero usando la formula: n!=n!-1

15.- La distancia que recorre un auto es de 50 kms y su velocidad es de 30 millas por hora ¿Cuanto tiempo tardara en llegar?

16.- Encontrar la derivada de x para cualquier valor con la formula(d/dx(x)=1)

17.- Calcular l interes que gana un capital de x pesos a una tasa de interes del 15% annual en un periodo de n años.

18.-Que aceleracion tiene un tren que parte de tijuana a 10 km/hr y pasa por ensenada una hora despues a 50 km/hr.

19.- Calcular el numero de aulas en una escuela que tiene 10 edificios y cada edificio 3 pisos y cada piso 5 aulas, excepto un edificio que solo tiene dos pisos.

20.- Si en una escuela hay 30 maestros y 15 son hombres que atienden a 10 alumnos cada uno. Cuantas maestras hay?

21.- Calcular la corriente de un circuito con un voltaje de 15v y una resistencia de 6 ohms. Formula (I= V/R)

Page 5: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

5 | P a g i n a

22.- Calcular la normal estandar(z) dados los datos por el usuario: X=dato, µ=media, d=desviacion. Formula (Z = X-M / d)

23.- Dado un numero(N) cualesquiera obtener su raiz y potencia cuadrada .

24.- Determinar la media de 5 numeros diferentes.

25.- Determinar la velocidad v requerida para recorrer una distancia d en un tiempo t . Formula (V = d * t)

26.- Determinar la pendiente de una recta. Formula (y = m x + b)

27.- Calcular la funcion de y= x² + 8x + 3 para cualquier x

28.- Convertir minutos a horas.

29.- Aplicar la formula general para a=1, b=2, c=3.

30.- Se desea instalar un cable de red, el cliente pide 30 pies, considerando que se venden en metros, cuantos debera comprar.

31.- Un campesino siembra trigo en un area cuadrada de 25 mts., ¿ cual es el largo del cerco frontal en cms.?

32.- Resolver x² + 15x - 8 para cualquier variable (X).

33.- Convertir °C a °F.

34.-Si cada salon de la escuela tiene 40 alumnos y son 30 salones ¿Cuantos alumnos son en toda la escuela?

35.- Si Juan trabaja 5 dias a la semana y descansa 2 ¿Cuantos dias trabajo en 4 años?

36.- Si en una oficina se procesan 20 facturas cada 10 minutos cuantas se procesaran si se trabajan 5 horas?

37.- Si una empresa tiene _ de activo y un pasivo de _ ¿Cual es su capital?. Formula (C = A-P)

38.- Calcule el voltaje de un circuito dada una intensidad I y una resistencia R. Formula (V=IR)

39.- Calcule la frecuencia de una onda que circula con un tiempo t. Formula (F=1/t)

40.- Calcule la potencia de un circuito con un voltaje V y una intensidad I. Formula (f = VI)

Page 6: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

6 | P a g i n a

41.- Calcule el total que tendra que pagar una persona que va al cine dependiendo del no. de boletos a comprar y el precio.

42.- Calcule las anualidades que tendra que pagar una persona que pidio un prestamo. Dependiendo del tiempo que el elija y el interes por año. Formula (Anualidad=(Prestamo/Tiempo)+interes)

43.- Determinar cuanto ganara una persona en base a la horas trabajadas. Tomando en cuenta el pago por hora.

44.- Convertir horas a segundos.

45.- Calcular la fuerza. Formula (fuerza = trabajo / tiempo)

Page 7: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

7 | P a g i n a

UNIDAD I PROGRAMACION VISUAL ELEMENTOS BASICOS

3.- BORLAND DELPHI BUILDER VARIABLES

Identificadores son conjuntos de letras y/o números que se utilizan para simbolizar todos los elementos que en un programa, son definibles por el usuario (programador o ingeniero de software) del mismo, como son las variables donde se almacenan datos, funciones( pequeños módulos con código), etiquetas, clases, objetos, etc.

En BORLAND DELPHI un identificador es una palabra compuesta de letras y/o números de hasta 32 caracteres significativos, empezando siempre con una letra.

Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecución de un programa.

Existen ciertas reglas en cuanto a variables:

• Claras y con referencia directa al problema. • No espacios en blanco, ni símbolos extraños en ellas. • Se pueden usar abreviaturas, pero solo de carácter general.

No deben ser palabras reservadas del lenguaje.

Ejemplos de buenas variables:

Nombre, Edad, SdoDiario, IngMensual, Perímetro, Calif1, etc.

Page 8: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

8 | P a g i n a

UNIDAD I PROGRAMACION VISUAL ELEMENTOS BASICOS

4.- BORLAND DELPHI TIPOS DE DATOS

A toda variable que se use en un programa, se le debe asociar (generalmente al principio del programa) un tipo de dato específico.

Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento de ejecución del programa y a lo largo de toda la vida útil del propio programa.

Los tipos de datos más comunes en BORLAND DELPHI son:

TIPO RANGO

char Caracter ASCII

byte 0 a 255

integer -32,768 a 32,767

Real 1E-38 a 1E+38

Boolean TRUE o FALSE

shortint -128 a 127

word 0 a 65535

longint -2147483648 a 214748364

String Cadena caracteres

Para el caso de strings se prodra usar cualquiera de los dos siguientes formatos:

Var

Nombre:string;

Carrera:string[30];

Para el primer caso delphi pascal reserva 255 bytes de memoria, para el caso de carrera pscal solo reservara 30 bytes, es obvio cual de los dos casos es mas eficiente.

Page 9: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

9 | P a g i n a

UNIDAD 1: BORLAND DELPHI ELEMENTOS BASICOS

TEMA 5: OPERADORES ARITMETICOS BORLAND DELPHI

Un operador es un símbolo especial que indica al compilador que debe efectuar una operación matemática o lógica.

DELPHI reconoce los siguientes operadores aritméticos:

Operador Operación

+ SUMA

- RESTA

* MULTIPLICACION

/ DIVISION

Div DIVISION ENTERA

Mod MODULO O RESIDUO

Como nota importante a recordar siempre;

Si se usa el operador DIV en problemas de división entre enteros, pascal trunca la parte residual, es decir;

// área de declaración de variables real a; // área de operaciones a := 10 div 4; // área de despliegue de resultados desplegar a; -> En pantalla sale ( 2.000000 )

El problema no es el tipo real, sino que por definición de la división entre enteros pascal trunca la parte residual.

El operador (%) devuelve el residuo entero de una división entre enteros, ejemplo;

// área de declaración

Page 10: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

10 | P a g i n a

integer alfa; // área de operaciones alfa := 23 mod 4; // área de despliegue desplegar alfa; -> El resultado en pantalla es 3 Otro ejemplo; alfa := 108 mod 10; desplegar alfa; -> El resultado en pantalla es 8

Para resolver los problemas de potencias y raíces, se usan ciertas instrucciones especiales que proporciona el lenguaje, llamadas funciones matemáticas, en pascal existe todo un conjunto de instrucciones o funciones matemáticas.

Y ademas deberan recordar sus leyes de logaritmos y de potencias:

Con el uso de los logaritmos, los procesos de multiplicación, división, elevación a potencias y extracción de raíces entre números reales pueden simplificarse de la manera siguiente.

1.- El logaritmo de un producto es igual a la suma de los logaritmos de los factores.

Log ( a . m) = log a + log m

2.- El logaritmo de un cociente es igual a la diferencia de los logaritmos de los términos

Log(a:m) = log a - log m

3.-El logaritmo de una potencia es igual al exponente por el logaritmo de la base.

Log am = m * Log a

4.- El logaritmo de una raiz es igual al logaritmo del radicando dividido por el índice de la raíz

log = m/n log a

Las dos funciones que se usan para resolver este problema son:

Page 11: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

11 | P a g i n a

Ln(x) ← Nos regresa el logaritmo natural del numero x.

EXP(x) ← nos regresa eX es decir el antilogaritmo de un numero.

Otra vez si se ocupa resolver la multiplicacion de 5 * 20, la regla de logaritmos nos dice que el resultado es = log(5) + log(20) aunque en pascal se usa Ln(5) + Ln(20) pro en estos casos lo que se tiene de resultado no es 100 sino el logaritmo de 100, porque estamos sumando los logaritmos, es decir al resultado de la suma de logaritmos le tenemos que sacar su antilogaritmo, para conocer el resultado final(100) de la mulptiplicacion.

Ejemplo en pascal

Real alfa

Alfa := Exp( Ln(5) + Ln(20) );

Como se observa primero se calculan los logaritmos de 5 y de veinte con (Ln), luego los sumamos y a este resultado le extraemos el antilogaritmo con (EXP) que seria el resultado final.

Otro ejemplo si se tiene la potencia 53 entonces aplicando la regla de logaritmos el programa quedaria:

Real alfa

Alfa = EXP(5 * Ln(3));

Y si se tiene que obtener la raiz de 9 Ö 9 en borland delphi sera:

Alfa = EXP( 1/2 * Ln(9));

Page 12: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

12 | P a g i n a

UNIDAD 1: ELEMENTOS BASICOS

TEMA 6: BORLAND DELPHI JERARQUIA DE OPERACIONES

En BORLAND DELPHI el problema de no tomar en cuenta la jerarquía de los operadores al plantear y resolver una operación casi siempre conduce a resultados muchas veces equivocados como estos:

Ejemplos:

2+ 3* 4 := 20(incorrecto)

:= 14 (correcto)

b) si calif1=60 y calif2=80 y si entonces en programa se usa

promedio := calif1 + calif2/2

la pc daría como resultado promedio = 100

Recordar siempre, que antes de plantear una formula en un programa se deberá evaluar contra el siguiente:

Orden de operaciones:

1.- Paréntesis

2.- Potencias y raíces

3.- Multiplicaciones y divisiones

4.- Sumas y restas

5.- Dos o más de la misma jerarquía u orden, entonces resolver de izquierda a derecha

Page 13: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

13 | P a g i n a

Nota: Si se quiere alterar el orden normal de operaciones, entonces usar paréntesis.

Nota: Tampoco es bueno usar paréntesis de mas en una operación, esto solo indica que no se evalúo bien la formula, como en el siguiente ejemplo;

aquí los paréntesis están de mas, porque por orden de operaciones, multiplicación y división tienen la misma jerarquía y entonces se resuelven de izquierda a derecha, en otras palabras ni que falten paréntesis ni que sobren paréntesis.

Page 14: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

14 | P a g i n a

UNIDAD I BORLAND DELPHI PROGRAMACION VISUAL ELEMENT OS BASICOS

7.- DELPHI ENTRADAS / SALIDAS EN PROGRAMACION VISUAL

Entradas o capturas de datos y salidas o despliegues de información o resultados son de los procesos más comunes en cualquier tipo de problema de información, estos procesos o instrucciones varían de acuerdo a los lenguajes y ambientes de programación a usar.

El lenguaje y ambiente de programación a utilizar, es de tipo visual, y muchos de los problemas asociados a entradas y salidas se encuentran ya resueltos por el propio compilador.

El ambiente de construcción de programas a usar, es el siguiente:

SOLO CARGARLO EN PANTALLA EJECUTANDO EL BORLAND DELPHI, QUE SE ENCUENTRA EN LA BARRA DE START DE WINDOWS.

Sus elementos básicos son:

1.- La barra de menús (file, edit , etc.);

Page 15: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

15 | P a g i n a

2.- La barra de herramientas(icono de grabar, run, forma, etc.)

3.- La barra de componentes

4.- El Inspector de Objetos

5.- La forma activa o principal

Page 16: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

16 | P a g i n a

UNIDAD I PROGRAMACION VISUAL ELEMENTOS BASICOS

8.- TFORM, ACTIVA O PRINCIPAL

Es sobre esta forma donde se construye el programa y esta forma se convierte en ventana al momento de ejecutarse el programa.

Es decir será la primera ventana que el usuario ve al momento de ejecutarse el programa, su nombre es Form1.

Esta forma o ventana es un objeto de Borland Delphi y como todos los objetos de Delphi y del universo, la forma o ventana tiene asociados propiedades y eventos.

Propiedades son todas las características particulares que diferencian un objeto de otro objeto, las propiedades o características mas comunes son forma, tamaño, color, etc., para objetos en DELPHI estas propiedades se modifican o individualizan usando el Inspector de Objetos, que es la parte del programa que las contiene.

También se pueden modificar las propiedades dentro de un programa, usando instrucciones apropiadas, mismas que llevan el siguiente formato:

nomobjeto→propiedad := nvovalor;

Page 17: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

17 | P a g i n a

ej.; Form2→Color := clRed;

Eventos, son todos aquellos sucesos de carácter externo que afectan o llaman la atención del objeto, para estos caso la forma o ventana:

1. Debe tener capacidad de detectar el evento 2. Aun mas importante debe tener capacidad de reaccionar y emitir una respuesta, mensaje o

conducta apropiada a el evento detectado.

Evento es por ejemplo que otro objeto llamado humano, pulse el objeto tecla ESC, o haga click derecho con el objeto ratón en alguna parte de la ventana , etc. , es en estos casos, cuando la ventana detecta un evento de estos, la propia forma deberá responder de manera apropiada.

Esta respuesta no es automática, sino son la serie de instrucciones del lenguaje (o programa) que los ingenieros de software diseñan(o programan), en otras palabras son los eventos quienes contendrán los programas.

Es tambien el Inspector de Objetos, quien contiene todos los posibles eventos asociados a la forma.

Para los primeros programas en Borland Delphi solo se usaran propiedades sencillas como color, font, etc. de Form1, y no se usan, de momento los eventos que puede detectar Form1.��

Page 18: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

18 | P a g i n a

Page 19: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

19 | P a g i n a

UNIDAD I DELPHI PROGRAMACION VISUAL ELEMENTOS BASIC OS

9.- BORLAND DELPHI PROGRAMAS, FORMAS Y COMPONENTES

Un programa o problema de información en Borland Delphi no es mas que una o mas formas o ventanas, donde cada una de ellas contiene elementos u objetos especiales llamados componentes, dichos componentes DELPHI los proporciona a través de la barra de componentes.

Es decir toda la interfase que se quiera manejar con el usuario del programa, no consiste mas que de una colección de componentes agrupados en una forma o ventana.

La colección de componentes que pone a nuestra disposición DELPHI están agrupados en diversos folder o pestañas o paginas en la barra de componentes, las principales categorias para este curso contienen los siguientes componentes:

Standard.- Frames MainMenu PopupMenu Label Edit Memo Button CheckBox RadioButton ListBox ComboBox ScrollBar GroupBox RadioGroup Panel ActionList

Additional.- BitBtn SpeedButton MaskEdit StringGrid DrawGrid Image Shape Bevel ScrollBox CheckListBox Splitter StaticText ControlBar AplicationsEvents Chart

Data Access.- DataSource Table Query StoredProc DataBase Session BatchMove UpdateSQL NestedTable

Page 20: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

20 | P a g i n a

Data Controls.- DBGrid DBNavigator DBText DBEdit DBMemo DBImage DBListBox DBComboBox DBCheckBox DBRadioGroup DBLookupListBox DBLookupComboBox DBRichEdit DBControlGrid DBChart

Win31.- DBLookupList, DBLookupCombo, TabSet, Outline, Header, TabbedNotebook, NoteBook.

Dialogs.- OpenDialog, SaveDialog, FontDialog, ColorDialog, PrintDialog, PrinterSetupDialog, FindDialog, ReplaceDialog.

System.- Timer, PaintBox, FileListBox, DirectoryListBox, DriveComboBox, FilterComboBox, MediaPlayer, OleContainer, Ddeclientconv, DdclientItem, Ddeserverconv, DdeserverItem.

QReport.- QuickReport, QRBand, QRGroup, QRDetailLink, QRLabel, QRMemo, QRDBText, QRDBCalc, QRSysData, QRShape, QRPreview.

Para incorporar un componente a una forma solo basta seleccionarlo con un click derecho en su icono y luego colocar el cursor dentro de la forma en el lugar donde se quiere que aparezca y volver a hacer un click derecho.

También los componentes son objetos de borland delphi y como tales también tienen asociados propiedades y eventos, tales como los tiene la forma principal, solo que existen pequeñas variaciones en cuanto a sus propiedades y eventos propios con respecto a Form1.

Recordar además, que es el Inspector de Objetos en primera instancia quien permite asociar o modificar propiedades especificas tanto a una forma como a un componente.

Ya en segunda instancia las propiedades de formas y componentes se pueden modificar también directamente dentro de un programa, usando instrucciones como las ya descritas en párrafos muy anteriores.

Page 21: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

21 | P a g i n a

Analizaremos ahora los dos primeros componentes, que también se usaran para construir o diseñar nuestro primer programa en Visual de BORLAND DELPHI

Page 22: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

22 | P a g i n a

UNIDAD I PROGRAMACION VISUAL ELEMENTOS BASICOS

10.- COMPONENTE LABEL (Standard)

Este componente se utiliza para desplegar textos o mensajes estáticos dentro de las formas, textos tales como encabezados, solicitud al usuario del programa para que proporcione algún dato o información(edad, dame sueldo, etc.), en cierta forma hace las funciones de printf, cout, writeln, print, display, etc., pero solo cuando se consideran en su parte de mensajes.

También es un objeto en Borland Delphi y por tanto tiene asociados sus propias propiedades y eventos, al mismo tiempo como se está usando dentro del objeto form1, muchas propiedades que se definan para el objeto Form1, el objeto Label1 las va a heredar.

Si bien es cierto que el objeto se llama Label, pero cuando se ponen dentro de una forma Borland Delphi los va numerando automáticamente, si se ponen tres Labels en Form1, ellos se llaman o simbolizan o se procesan o programan con Label1, Label2, Label3.

Es la propiedad Caption, la que lleva el contenido del mensaje que se quiere desplegar en la pantalla, solo click derecho a un lado de la propiedad Caption en el Inspector de Objetos, teniendo seleccionada la caja Label1 en la forma y escribir el texto indicado.

Page 23: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

23 | P a g i n a

UNIDAD I PROGRAMACION VISUAL ELEMENTOS BASICOS

11.- COMPONENTE BUTTON(Standard)

Es el componente principal de la forma, contiene el código principal del programa y su activación por el usuario provoca que se realicen los principales procesos del problema planteado (aquí es donde se capturan datos, se realizan operaciones, etc.).

De este componente se maneja su propiedad Caption para etiquetarlo con la palabra “OK” o “ACEPTAR” o “EXE” y su evento OnClick para activarlo, es en dicho evento donde se construye el código del programa.

Recordar que aunque no es un componente necesario en los programas, ya que el código se puede asociar o pegar a cualquier evento de cualquier forma, o componente del programa, Microsoft ya acostumbro a todos los usuarios al botón OK, de acuerdo, OK.

Este botón también puede activar su evento OnClick, cuando el usuario presione la tecla <ENTER>, solo poner la propiedad Default en true, en este caso el botón de ordenes, se le conoce como botón de default.

Igualmente puede activar su evento OnClick cuando el usuario, presione la tecla <ESC>, solo poner la propiedad Cancel en true, a este caso se le conoce como “CANCEL BUTTON”.

PRACTICA

Construir un primer programa que consiste en un forma que contenga los cinco datos mas importantes de un automóvil, y uno de esos datos solo deberá aparecer cuando el usuario haga click en el botón de ejecución o de orden o de OK.

Para este programa se ocupa, una forma, dos componentes labels para encabezados apropiados al problema, 10 componentes labels para textos y datos, un componente Button.

Para el ultimo componente Label su propiedad Caption se dejara en blanco o vacía para que sea el usuario del programa quien lo cargue al apretar el botón de ordenes o botón de OK.

Recordar que Borland Delphi va numerando automáticamente todos los componentes en el programa en forma consecutiva, es decir al finalizar el diseño del programa se tendrán, los componentes form1, label1,label2,label3,..button1.

El procedimiento completo para crear y ejecutar el programa es:

1.- Cargar Delphi

Page 24: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

24 | P a g i n a

2.- Al cargarlo ya estará en la pantalla la primera forma (Form1).

3.- Antes de poner el primer componente usar la opción, File Save Project As, aparece la siguiente ventana:

Donde se deberá seleccionar primero, el icono de nuevo folder( arriba a la derecha y tiene un folder con rayitos), esto es, para crear un nuevo folder o directorio donde quedara guardado o almacenado el programa, en cuanto se crea el nuevo folder, sobrescribir la palabra “new folder” que aparece, con el nombre que tendrá el directorio donde quedara almacenado el programa, escribir por ejemplo “programa uno” ( Windows95 ya permite que los nombres de directorios y sus archivos ya sean mas largos y no necesariamente del tipo antiguo de 8.3), al terminar de sobrescribir, la palabra “programa uno” apretar tecla <ENTER> y esperar un momento a que se cree el directorio.

Ya creado y renombrado el directorio, observar que en la parte inferior de la ventana el programa ya tiene el nombre de “Unit1.pas”, a un lado esta una caja o botón de “OPEN”, mismo que se deberá apretar y después usar en la misma parte un botón llamado “SAVE” para almacenar “Unit1.dpr”.

4.- Ahora ya que se tiene Form1 en pantalla, recordar que se pueden modificar sus propiedades como color, font, etc. usando el Inspector de Objetos que esta a un lado de la forma ( se sugiere practicar un poco esto), los cambios que se hacen en el Inspector de Objetos se van reflejando automáticamente en la forma en pantalla y también en la ventana que el usuario vera al ejecutarse el programa.

5.- Ahora se selecciona con un click el componente llamado Label en la barra de componentes y luego poner el cursor dentro de la forma en el lugar donde se quiera que aparezca el componente, y volver a hacer click con el ratón para que ya aparezca dicho componente en la forma.

Page 25: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

25 | P a g i n a

Observar que el componente en la forma, que esté seleccionado ( esto se puede hacer, usando un click dentro de el componente) se puede arrastrar para cambiarlo de lugar o posición o hacerlo mas pequeño o mas grande.

Como nota también a recordar siempre, un componente o la propia forma, está seleccionado, si el Inspector de Objetos lo esta referenciando, es decir es el Inspector de Objetos quien contiene el nombre del componente en la parte de arriba del propio Inspector de Objetos.

Para cargar o para que despliegue un texto el componente Label1, solo escribir dicho texto en la cajita que esta a un lado de la propiedad Captión en el Inspector de Objetos, por ejemplo para el problema, escribir la palabra “AUTOS ECONOMICOS”, y recordar que también esté componente también tiene propiedad font que se puede usar para alterar el tipo de letra que despliega el componente.

6.-Repetir el procedimiento anterior hasta tener los doce componentes Label bien acomodados y organizados en la forma y con sus textos correspondientes, solo recordar dejar el componente Label12 con su propiedad Caption en blanco(usando tecla backspace).

7.- Seleccionar y acomodar ahora un componente Button en la forma y colocarlo en la esquina inferior derecha, en su propiedad Caption = escribir la palabra “OK”.

Recordar que este componente, es quien contiene el código del programa y mas específicamente es su evento OnClick quien lo contiene y quien además lo activa o lo ejecuta.

Para añadirle el código(en este ejemplo que cargue el Caption de Label12 al tiempo de ejecución del programa y por decisión del propio usuario) existen dos maneras:

En el Inspector de Objetos, hacer click en la pestaña o folder llamado event y ahora en lugar de propiedades el Inspector de Objetos, muestra todos los eventos que el componente puede detectar(observar y anotarlos), ahora click en la cajita que esta a un lado del evento llamado OnClick y con este paso aparece el siguiente minieditor de programas de Borland Delphi:

Page 26: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

26 | P a g i n a

Observar que ya trae listo el evento Button1Onclick() para programarse y es dentro del BEGIN-END donde se construye el programa.

Solo escribir dentro de las llaves la instrucción Label8.Caption := “FORD”;

• Escribirla dentro del BEGIN END como lo muestra el ejemplo • No olvidar terminar con ( ; ) • Respetar y aprender siempre la ortografía de componentes, propiedades y valores de

propiedades • Recordar que cualquier propiedad de cualquier componente se puede programar con el

formato ya descrito;

NomComponente.NomPropiedad := NvoValor;

• Observar que Caption se carga como si fuese una variable de tipo “string”, dentro de un programa, es decir entre apostrofes ( ' ).

• Observar que atrás del editor esta Form1, si se selecciona con un click, este procedimiento lo regresa a la forma para seguir arreglando o colocando nuevos elementos.

• Otra manera de estarse intercambiando entre forma y editor ( ahora lo llamaremos

Unit1.cpp), es decir entre form1 y Unit1, es usar el icono Toggle Form/Unit que se encuentra en la barra de componentes arriba y a la izquierda.

Page 27: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

27 | P a g i n a

La otra manera y mas sencilla de cargar el editor, es haciendo un dobleclick dentro del componente.

8.- Ahora ya esta lista la forma o programa para ejecutarse, también existen dos maneras:

1. Usar la opción Run que esta arriba en la barra de menús.

2. Usar icono “run” en barra de herramientas.

Nota.- También se puede usar también la primera letra dentro del botón de comando o de ordenes (OK) para activar las instrucciones o acciones del botón, es decir se puede usar click en botón o solo pulsar la letra O, para que se ejecute este ultimo procedimiento , solo poner un símbolo & en el caption del botón antes de la letra O.

El programa ya en ejecución debe ser similar(pero mejor diseñado) al siguiente ejemplo:

Ya que se practicó, la mecánica de creación de programas, resolveremos el problema de interactividad con el usuario.

Es decir en estos casos es el usuario quien generalmente proporciona los datos para su procesamiento en el problema el trabajo del ingeniero de software, es procesarlos y darles sentido, coherencia y sobre todo eficiencia.

Para esto se ocupan componentes llamados de “input”, “entrada” o “captura”, que permitan al usuario cargar o proporcionar un dato en ellos, dichos componentes son:

Page 28: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

28 | P a g i n a

UNIDAD I DELPHI PROGRAMACION VISUAL ELEMENTOS BASIC OS

12.- COMPONENTE EDIT (Standard)

Este componente es el mas importante componente visual de Borland Delphi, su función principal es manejar todos los procesos de entrada y salida (input/output) al programa.

En resumen de este componente, se necesita entender lo siguiente:

Este componente Edit, es el equivalente a las variables en cualquier lenguaje de programación, mas la instrucción de captura o despliegue correspondiente, es decir;

a) En BASIC, Input Edad → Edit1

b) En PASCAL, Read(Ciudad) → Edit2

c) En C, printf(”%d”, sueldo) → Edit3

d) En C++, cin.get(nombre,30) → Edit4

e) En Cobol Display metros → Edit5

Ya aclarada su función, es necesario entender primero, que este componente permite capturar datos y también como en el caso del componente Label desplegar datos, textos, mensajes o resultados de operaciones de ser necesario, usando la propiedad Text del componente Edit.

Esta propiedad Text, así como la propiedad Caption en Label, permiten igualarse a muchos procesos básicos, es decir es fácil igualar Text o Caption a un dato, una variable, otro Text u Caption, o una expresión algebraica normal, como en los siguientes ejemplos;

Edit2.Text := 5;

Label3.Caption := 'PATO';

Edit4.Text := 3 * 6.2 ;

Page 29: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

29 | P a g i n a

En principio su valor de default es la palabra Edit1 y es en su propiedad Text donde se modifica, generalmente al principio de un programa se deja en blanco, y al ejecutarse el programa, el usuario lo llena con los datos solicitados o el programa lo llena con el resultado de las operaciones.

Es importante entender que la propiedad TEXT de este control o componente se cargara o se leera como una STRING, es decir para procesarlo se usa codigo similar a :

Edit10.Text := '3,1416';

String temporal := Edit10.Text;

Observar que aunque se cargue con un dato aparentemente de tipo REAL la propiedad TEXT solo puede contener STRINGS.

Se usaran mucho a lo largo de todo el curso las siguientes funciones de BROLAND DELPHI para estar conviertiendo de STRINNS a VALORES NUMERICOS y tambien de VALORES NUMERICOS a STRINGS.

a) Val(Edit1.Text,temporal,error) → ESTA FUNCION TOMA LA STRING QUE ESTA EN TEXT Y LA MANDA O CARGA LA VARIABLE NUMERICA (INTEG ER O REAL ) TEMPORAL, APARTE VAL CARGA UNA VARIABLE INTEGER ERROR CON UN CODIGO DE ERROR SI SE DIO ALGUN ERROR EN EL PROCESO DE CONVERSION, ES DECIR VAL SE USA PARA CONVERTIR TEXT A VARIABLES NUMERICAS.

B) STR( 3.1416,temporal ) → SE USA PARA CARGAR UNA VARIABLE STRING TEMPORAL CON UN DATO O VALOR NUMERICO DETERMINADO, RECORDAR QUE SE USA PARA CONVERTIR DATOS NUMERICOS A STRINGS, NO TEXT

C) Edit1.Text:=FloatToStr(123.45) → SE USA PARA CARGAR LA PROPIEDAD TEXT DE UN EDIT CON UN DATO O VARIABLE ENTERA O REAL.

D) FloatToDecimal (PROCEDIMIENTO) → CONVIERTE U FLOTANTE A DECIMAL

E) FloatToStr (FUNCION) → EJEMPLO CASO C) CONVIERTE FLOTANTE A STRING

F) FloatToStrF (FUNCION) → SIMILAR A C) PERO SE PUEDE AGREGAR UN FORMATO, PARTE ENTERA Y DECIMALES (VER EJEMPLOS EN PROGRAMAS )

G) FloatToText(FUNCION) → CONVIERTE FLOTANTES A TEXT, INCLUYENDO FORMATO, PARTE ENTERA Y DECIMALES.

Page 30: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

30 | P a g i n a

H) FloatToTextFmt(FUNCION) → CONVIERTE FLOTANTE A TEXT USANDO UN FORMATO DETERMINADO.

I) FormatFloat(FUNCION) → FORMATEA UN FLOTANTE:

EJEMPLO:

EDIT1.TEXT := '23.456789';

Format('%0:2f',[Edit1.Text]) → EL DESPLIEGUE SERA 23.45

ALGUNAS CONSTANTES DE FORMATEO SON:

%5:5d –> despliega cinco digitos enteros y cinco decimales, si el dato tiene menos partes enteras se rellenara con ceros 0000.

%u –> similar a %d excepto que no muestra el signo (+/-) del dato.

%e –> despliega en notacion cientifica o exponencial.

%f –> fijo dos decimales por default.

%g –> el compilador decide si lo manda a decimal o exponencial.

%n –> similar a %f solo que los miles se separan con comas.

%m –> formato monetario.

%x –> lo convierte a hexadecimal.

J) StrToCurr(FUNCION) –> CONVIERTE UNA STRING A FORMATO MONETARIO.

H) StrToFloat (FUNCION) –> CONVIERTE STRING A FLOTANTE.

I) TextToFloat(FUNCION) CONVIERTE TEXT A FLOTANTE.

ing-point value from a null-terminated string.

Cuando un usuario lo carga con un dato recordar que el dato almacenado queda de tipo texto, no importa lo que haya escrito el usuario.

Para resolver el problema de usar datos numéricos dentro del Text de un componente Edit, en operaciones matemáticas, solo USAR LAS FUNCIONES APROPIADAS, como se muestra en el siguiente ejemplo.

Page 31: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

31 | P a g i n a

temp := StrToFloat(Edit1.Text)* 5;

Edit1.Text := FloatToStrF(temp,ffGeneral,5,2); NOTA: ffCurrency, ffExponent, ffFixed, ffGeneral, ffNumber

Recordar que el usuario, usara un componente Edit para almacenar los datos de entrada del problema, muchas veces estos datos son de tipo numérico, por ejemplo en un componente Edit se almacena la cantidad de pesos, el precio de un articulo, la edad de una persona, etc.

Solo recordar siempre usar el componente Edit, directamente como una variable cualquiera(con su método o función correspondiente ) y construir la operación o formula con los propios componente o cajas edit.

Es decir, por ejemplo, si se pide resolver el problema de multiplicar dos números cualesquiera, se ocuparan tres ` cajas Edit,(factor1, factor2, producto), es en estos casos donde se usan tres componentes Edit como si fuesen tres variables simples directamente.

Ya en programa se ocupan 3 componentes Label para títulos (Multiplicando, Multiplicador, Multiplicación), tres componentes Edit para los datos (dos proporcionados por el usuario y uno calculado por el programa) y un componente Button(OK) para realizar la operación.

Codigo;

procedure TForm1.Button1Click(Sender: TObject); var temp:Real; begin temp := StrToFloat(Edit1.Text)* StrToFloat(Edit2.Te xt); Edit3.Text:=Format('%0.2f',[temp]); end;

corrida:

Page 32: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

32 | P a g i n a

notas:

Como se observa este componente Edit permite capturar datos por parte del usuario del programa.

Es mas sencillo considerar, estos componentes como variables normales y usarlos directamente.

Solo en problemas algebraicos usar propiedad Text con las funciones apropiadas.

Respetar la ortografía en el ejemplo, sobre todo en las instrucciones (las que terminan con ;)

Si son muchas operaciones en un problema, el procedimiento es similar, solo resolverlo por partes ya que una formula que contenga cuatro o cinco Edit, se convierte en un renglón de código gigante.

sin embargo es mas sencillo usar el método que se usa en el programa dado de ejemplo para la multiplicación, es decir considerar los componentes Edit como variables normales, y usar:

Edit3.Text:=Format('%0.2f',[temp]);

Edit8→Text.ToDouble();

Para el caso de resultados decimales , la salida incluye todo el conjunto de decimales asociados a un tipo double(muchos ceros), para resolver este problema se pueden usar directamente algunos métodos asociados a la clase AnsiString , por ejemplo uno de esos métodos es;

Format('string de formato', var real);

La string de formato contiene una serie de simbolos literales que se utilizan para darle el formato de salida deseado, esto simbolos o constantes literales son;

Page 33: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

33 | P a g i n a

Const. Lit. Significado

0(cero) Rellena con 0(ceros) todas las posiciones indicadas, ejemplo “0000.00” para el numeró 23.4 la string de salida seria 0023.40

# Constante muy usada para formato de valores numéricos, esta constante solo despliega el valor numérico normal.

. Se utiliza para separar la parte entera de la parte decimal.

,(coma) Se utiliza para separar el valor numérico en unidades de millar.

E+, E-, e+, e- Se utilizan para convertir a notación científica exponencial el valor de salida.

En resumen, este componente Edit, es el componente mas importante y elemental en todo problema que involucre el procesamiento de datos en ambientes visuales, se debe acostumbrar a considerarse como un elemento importante en cualquier problema visual, y acostumbrarse a procesarlo como si fuese una variable normal cualesquiera.

EL RESUMEN DE CONVERSION DE DATOS A COMPONENENTE Y QUE SE USA A LO LARGO DE ESTE CURSO EN GENERAL DESCANSA EN LAS SIGUIENTES 4 FUNCIONES.

1.- IntToStr( dato o variable integer);

2.- StrToInt( variable string o propiedad text de un componente visual);

3.- FloatToStr( dato o variable real);

4.- StrToFloat(variable string o propiedad text de un componente visual);

ESTAS CUATRO FUNCIONES REPITO SERAN LAS MAS UTILIZADAS A LO LARGO DEL CURSO, PERO DE TODOS MODOS ESTUDIAR Y RECORDAR TODAS LAS ANTERIORES)

PROGRAMA EJEMPLO

Se construye y resuelve el segundo programa del modelo de solución del área del triángulo.

Para crear y diseñar la forma y sus componentes se ocupa, una forma, seis labels, tres edits y un Button, quedando así;

Page 34: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

34 | P a g i n a

a)Pantalla de diseño

b)Programa

El código o miniprograma ( es miniprograma porque no se tiene que programar mucho de la pantalla), solo diseñarla, y dentro del evento Click del componente Button1, queda así;

procedure TForm1.Button1Click(Sender: TObject); var temp:Real; begin temp := StrToFloat(Edit1.Text)* StrToFloat(Edit2.Te xt)/ 2; Edit3.Text:=Format('%0.2f',[temp]); end;

c) Pantalla de ejecución o de salida

Page 35: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

35 | P a g i n a

Recordar que cuando se capturen los datos de base y altura, no dejar espacios en blanco antes del primer numero o se darán problemas y errores de conversión a valores numéricos.

Para resolver mejor este problema de formatos mas adecuados para captura de datos, se usaran nuevos componentes que se analizan mas adelante.

TAREAS PROGRAMACION BORLAND DELPHI

1.- CONVERTIR A PROGRAMAS 7 DE LOS PROBLEMAS VISTOS EN EL MODELO DE SOLUCION.

Page 36: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

36 | P a g i n a

UNIDAD I BORLAND DELPHI ELEMENTOS BASICOS

13.- COMPONENTE MaskEdit (Adicional)

Este componente es muy similar en su uso al componente Edit, excepto que proporciona una mascara especializada para el formato de datos, es decir se puede usar para que el usuario proporcione datos con formatos bien definidos, como son valores numéricos que incluyan puntos y comas por ejemplo 3,345.87, o que incluyan símbolos como el de $, o para el caso de fechas que lleven su propio separador como por ejemplo 02/28/97.

También se puede usar, para asegurarse que el dato proporcionado por el usuario, solo incluya números, o solo contenga letras, etc.

Para darle formato al dato que el usuario debe proporcionar solo hacer dobleclick a un lado de la propiedad EditMask en el Inspector de Objetos y esto nos da el siguiente minieditor de datos:

• Observar en la ventana derecha, algunos ejemplos de “mascaras de edición”. • Es en la ventanilla arriba a la izquierda donde se colocan los caracteres especiales de

edición ( en el ejemplo se están usando, $, #, puntos y comas). • Es en la ventanilla abajo a la izquierda donde se pueden proporcionar algunos datos de

prueba, para probar el formato diseñado. • Recordar que este formato es para capturas, no para despliegues, puesto que para este

caso (despliegue) se usa FormatFloat(). • No olvide usar el botón OK, cuando se termine de construir la mascara de edición. • Los principales caracteres especiales de edición son:

Page 37: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

37 | P a g i n a

carácter significado

! Caracteres opcionales se despliegan en blanco

Caracteres que siguen deben ser mayúsculas

< Caracteres que siguen deben ser minúsculas

L Requiere una letra en esta posición

l Permite una letra es esta posición pero no la requiere

A Requiere un alfanumérico en esta posición

a Permite un alfanumérico pero no lo requiere

0 Requiere un numero en esta posición

9 Permite un numero pero no lo requiere

# Permite un numero y también signos mas y menos

: Separa horas:minutos:segundos

/ Separa meses/días/años

; Se utiliza para separar los tres campos o partes de una mascara

_ inserta espacios en blanco en el texto

Cualquier otro carácter que no aparezca en la tabla anterior, puede aparecer en una mascara, pero solo se tomara en cuenta como una literal cualesquiera, es decir son insertados automáticamente y el cursor los brinca.

El segundo campo o parte de una mascara es un carácter simple que indica que carácter literal debe ser incluido como parte del texto del componente MaskEdit, por ejemplo (000)_000-0000;0;*,

Un 0 en el segundo campo indica que solo deben capturarse los diez dígitos marcados con O, en lugar de los 14 que tiene la mascara.

Page 38: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

38 | P a g i n a

El tercer campo de la mascara, es el carácter que se quiera que aparezca en lugar de espacios en blancos.

Nota: para procesarlo usar solo Text DE MANERA NORMAL COMO SE RELIZO EN EL TEMA ANTERIOR DE EDIT.

TAREAS PROGRAMACION BORLAND DELPHI

Page 39: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

39 | P a g i n a

UNIDAD I BORLAND DELPHI ELEMENTOS BASICOS

14.- COMPONENTE ComboBox (Standard) BORLAND DELPHI

Existen muchas ocasiones en donde el usuario del programa tiene que proporcionar datos que provienen de un conjunto finito y muy pequeño de posibles respuestas, esto significa que cada vez que se ejecute el programa, el usuario estará proporcionando las mismas respuestas.

Ejemplo de esta clase de datos, son por ejemplos Municipio en BC, las posibles respuestas solo son (Tecate, Tijuana, Mexicali, Ensenada, Rosarito), otro ejemplo es Sexo (Hombre, Mujer), etc.

Para situaciones como esta, existen componentes que permiten programar por adelantado las posibles respuestas, y el usuario solo debe seleccionar la respuesta apropiada , en lugar de tener que escribirla.

Este componente ComboBox nos permite definir en primera instancia un conjunto de datos o valores respuestas asociados a una caja de edición cualesquiera, así ahora el usuario tendrá la oportunidad de seleccionar un dato del conjunto de datos o respuestas ya predefinido.

Este componente ComboBox tiene dos partes, una parte de encabezado, para poner el nombre del grupo de respuestas( por ejemplo municipios, sexo, etc.), que se carga usando la propiedad Text del componente.

La segunda parte es la lista de opciones o respuestas que se debe cargar al tiempo de diseño de la ventana, en el momento de poner el componente ComboBox1, solo hacer dobleclick a un lado de la propiedad Items en el Inspector de objetos y sale el siguiente editor de strings:

Page 40: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

40 | P a g i n a

Al momento de ejecución del programa, toda la lista de respuestas, estarán a la vista del usuario, para que este ultimo la seleccione.

Recordar que el usuario al momento de ejecución del programa, solo vera el encabezado, para seleccionar su respuesta deberá apretar la flechita que esta a un lado del encabezado.

Para procesar este componente:

Usar su popiedad Text de manera normal, es decir si la respuesta se ocupa en string,

Solo usar ComboBox1.Text, o si la respuesta se quiere numerica solo convertir Text a flotante de manera normal ( ver el ejemplo del tema EDIT ).

TAREAS PROGRAMACION BORLAND DELPHI

1.- REEDITAR LOS PROBLEMAS YA RESUELTOS, AGREGANDO ESTE COMPONENTE EN LOS CASOS DE CAPTURAS QUE LO PUEDEN ADMITIR ( CAPTURAS DONDE YA SE TIENEN LAS ENTRADAS SELECCIONADAS O CONOCIDAS DE ANTEMANO).

Page 41: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

41 | P a g i n a

UNIDAD I PROGRAMACION VISUAL ELEMENTOS BASICOS

15.- BORLAND DELPHI COMPONENTES DE AGRUPAMIENTO

Como ya se empieza a notar en los programas construidos, la cantidad de datos e información empiezan a amontonarse en la ventana simple que se ha venido construyendo.

Para resolver este problema, se tienen dos métodos, el primero de ellos consiste de una serie de componentes que permiten agrupar datos o información(resultados) de una manera mas lógica y estética.

El segundo método consiste de construir y trabajar con dos o mas ventanas a la vez.

Se empieza por el primero método , es decir componentes de agrupamiento.

Page 42: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

42 | P a g i n a

UNIDAD I PROGRAMACION VISUAL ELEMENTOS BASICOS

16.- BORLAND DELPHI COMPONENTE PANEL ( Standard y atrás flecha negra)

Es el componente mas sencillo y común de agrupamiento, se utiliza para poner un panel o un cuadro o marco dentro de una ventana.

El componente Panel1 puede contener una toda una serie lógica de otros componentes.

Solo se deberá recordar colocar primero todos los paneles en la forma y encima de ellos los componentes que contendrán.

Este componente también tiene una serie de propiedades que le dan una mejor presentación usando las propiedades BevelInner, BevelOuter, BevelWidth, y BorderWidth.

Es decir se puede dividir una sola ventana en varias partes, por ejemplo en un panel se ponen los componentes donde se capturan los datos de un problema junto con el botón de OK, y en otro panel se construye la salida, por ejemplo se crea un panel para capturar los datos de un empleado incluyendo sueldo diario y días trabajados y un segundo panel contiene su cheque semanal de pago ( problema sugerido también ).

Para modificar programas construidos sin paneles, el procedimiento para agregarlos es:

1.- Mover todos los componentes abajo en la ventana.

2.- Colocar el panel en su posicion.

3.- Click en Componente a relocalizar.

4.- DobleClick, Copy

5.- DobleClick, Cut

6.- Click dentro del panel, donde se quiere el componente

7.- DobleClick, Paste

TAREAS PROGRAMACION BORLAND DELPHI

Page 43: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

43 | P a g i n a

1.- REEDITAR E INCLUIR ESTE COMPONENTE PANEL, EN TODOS LOS PROGRAMAS IMPARES HECHOS.

Page 44: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

44 | P a g i n a

UNIDAD I PROGRAMACION VISUAL ELEMENTOS BASICOS

17.- BORLAND DELPHI COMPONENTE GROUPBOX (Standard)

Este componente es otra forma standard de agrupamiento de componentes de programas en Windows, se usa para agrupar componentes relacionados dentro de una forma.

También se utiliza para separar áreas lógicas dentro de una ventana de Windows.

El texto que identifica el propósito general del grupo se escribe dentro de la propiedad Caption en el Inspector de Objetos, teniendo seleccionado este componente GroupBox.

Además de sus propiedades, métodos y eventos propios, como todos los componentes de este tipo, tiene o hereda las propiedades, métodos y eventos de todos los controles generales de tipo Windows.

Es muy similar al componente panel, excepto que incluye una pestaña que permite dejar mas claro, el proposito del grupo.

TAREAS PROGRAMACION BORLAND DELPHI

1.- REEDITAR E INCLUIR ESTE COMPONENTE GroupBox PARA TODOS LOS PROBLEMAS PARES YA CONSTRUIDOS

Page 45: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

45 | P a g i n a

UNIDAD I BORLAND DELPHI ELEMENTOS BASICOS

18.- VENTANAS EN DELPHI

El siguiente problema común, con el manejo de programas en borland delphi, es el de poder crear, controlar y administrar mas de dos formas o ventanas a la vez.

Lo primero que hay que entender para poder resolver este problema es que en borland delphi , cada forma o ventana tiene asociado ciertos recursos, ademas de los componentes que contiene, tambien una serie de recursos especiales, en general, la forma, los recursos y los objetos hijos o componentes, se encuentran relacionados todos ellos, en un archivo especial, llamado “Unit1.pas”.

Es decir si se crea una segunda forma o ventana,, dicha form2, junto con sus recursos, componentes, etc., se encontraría contenida en el archivo llamado “Unit2.pas” y así sucesivamente.

Pero recordar y también tomar en cuenta, que los componentes de esta segunda forma, también se simbolizarían y procesaran normalmente, es decir ellos también serán (Edit1, Label5, etc.).

Para crear una segunda forma (form2), solo usar el icono de new Form que se encuentra en la barra de herramientas, recordar además que los otros iconos de dicha barra sirven para estarse intercambiando entre formas y Unit(código fuente).

La segunda forma se construye normalmente, pero queda el problema de donde queda el botón de ordenes, le respuesta es, se pone en la primera forma o ventana principal del programa.

El proceso en este botón es similar a todos los programas anteriores, es decir primero se capturan los datos ( pantalla o ventana de captura)luego se resuelve las operaciones y luego traspasar los datos a los componentes de la segunda forma o ventana.

Para poder realizar este procesos, solo usar ahora un nuevo formato de trabajo con todos los componentes usados, para que ahora incluyan la forma que lo contiene, es decir se usa ahora ;

NOMFORMA.NOMCOMPONENTE.NOMPROPIEDAD

Ejemplos;

a) Form5.Edit3.Text := Form1.Edit2.Text;

Page 46: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

46 | P a g i n a

// se esta pasando el texto de edit2 de primera // ventana al texto de edit3 de la quinta ventana b) REAL alfa := StrToFloat(Form2.Edit4.Text); // se esta poniendo en una variable real el conteni do // de la caja cuatro de la tercera ventana

como se observa, procesar los elementos de dos ventanas, es sencillo pero además existen ciertas condiciones que deberán cuidarse para que estos procesos funcionen, estas condiciones son:

Crear, armar y diseñar todas las ventanas primero, junto con sus componentes y miniprogramas.

Cualquier ventana que mencione o contenga una referencia dentro de su código a otra ventana, deberá incluir en su Unit respectiva, la unidad (Unit) de la otra forma o ventana, esto es muy similar a lo que se hace en PASCAL para el manejo de unidades.

Para incluir la unidad(Unit) de la otra forma o ventana, solo tener seleccionada o al frente la ventana que llama, y usar la orden File, USE Unit, que se encuentra en arriba en la barra de menú, junto con el Run, Compile, etc., al dar esta orden(File USE Unit) sale una lista con todas las unidades(Unit) que ya se diseñaron, seleccionar la apropiada y ya se incluirá automáticamente en la forma o ventana actual.

Si una ventana o forma referencia dos o mas formas diferentes, entonces usar la orden File, USE Unit, tantas veces como sea necesario.

Este procedimiento permite construir programas con dos o mas ventanas, pero el problema es que todas ellas estarán a la vista del usuario, para resolver este problema, el procedimiento mas sencillo es poner en False la propiedad visible de la forma o ventana que se quiera tener oculta y poner cualquiera de las siguientes instrucciones en el código del programa para que aparezcan o desaparezcan a voluntad;

- Form2.Visible := true; - Form2.Show(); // similar a la anterior(pero mas corta) 3) Form2.ShowModal(); // no permite accesar la prim era ventana, hasta que se cierra(X) la segunda ventana.

Programación Avanzada permite crear y destruir ventanas y componentes al tiempo de ejecución del programa, pero estos conocimientos, no forman parte del ámbito de este libro.

Page 47: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

47 | P a g i n a

Si se tienen formas de mas, o formas que ya no se quieren usar o de plano mal construidas se pueden remover del proyecto usando PROJECT REMOVE FROM PROJECT del menu normal y de la ventanilla que aparece seleccionar la unidad que contiene la forma que se quiere eliminar.

TAREAS PROGRAMACION BORLAND DELPHI

1.- REEDITAR TRES CUALESQUIERA DE LOS PROBLEMA YA RESUELTOS PARA QUE INCLUYAN CUANDO MENOS DOS VENTANAS

2.- CONSTRUIR UN PROGRAMA DONDE LA PRIMERA VENTANA CAPTURE LOS DATOS DE UN ALUMNO INCLUYENDO LAS CALIFICACIONES DE 3 MATERIAS DIFERENTES Y UNA SEGUNDA VENTANA DESPLIEGA UN REPORTE DE CALIFICACIONES DEL ALUMNO INCLUYENDO PROMEDIO FINAL.

Page 48: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

48 | P a g i n a

UNIDAD I BORLAND DELPHI ELEMENTOS BASICOS

19.- COMPONENTE BITBUTTON (ADITTIONAL)

Este componente visual permite realizar en forma fácil toda una serie de tareas comunes en Windows.

En principio es parecido al componente Button, pero en el ejemplo de arriba observar que incluye un gráfico o bitmap, que lo hace mas agradable y visible al usuario.

Es en su propiedad KIND, en el inspector de objetos, donde se pueden definir cualquiera de sus diez opciones, como lo muestra la siguiente pantalla.

Todos son BITBUTTON, nada mas con Kind Seleccionado.

Close, en una ventana, cuando el usuario lo selecciona, cierra la ventana.

Page 49: Unidad i programacion visual elementos basicos

Lenguaje-Delphi

Lenguaje-Delphi.com.ar / 11 5217 5804 – 11 15 3444 4112

49 | P a g i n a