lenguaje de programacion

26

Upload: litman-paredes-huerta

Post on 22-Mar-2016

219 views

Category:

Documents


1 download

DESCRIPTION

CONTENIDOS DE VISUAL BASIC 2008, REFERENTE A CODIGO FUENTE.

TRANSCRIPT

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

LENGUAJE DE PROGRAMACION

VISUAL BASIC

¿Por qué Visual Basic?

La respuesta es muy sencilla, el Visual Basic te permite realizar unos buenos diseños en tus

programas, además de que el programa que realices en Visual Basic se podrá correr (ejecutar) en casi

todos los sistemas operativos de la Microsoft, y lo mejor, bueno a mi opinión, es mucho mas fácil de realizar

los códigos, ya que tiene una ayuda de auto complementar.

¿Por qué Console Application y no Windows Application Forms?

Utilizamos la Console Applicatión (Consola de Aplicación) porque ustedes, los que tienen deseos de

aprender, les será más fácil de aprender la lógica que van a necesitar para resolver cualquier algoritmo que

se les presente, y además por que casi todos los códigos que vamos a usar en la Console Application, lo

vamos a usar en Windows Application Forms. Bueno, no uso el Windows Application para comenzar a

programar, porque me parece que les enseñaría a manejar moto sin saber manejar bicicleta, me entienden

no?, de lo que habla?, en otras palabras, si no aprenden a ver como uno puede capturar y mostrar datos

mediante código y no mediante unos controles, al principio les sería más fácil, pero conforme avancemos no

les va a quedar en claro, y es por eso que uso primero Console Application, pero no se preocupen, que solo

lo vamos a usar unos cuantos aplicaciones, okis.

En Microsoft Visual Basic 2008, nos permite diseñar las interfaces gráficas de usuario de una o mas

aplicaciones, es decir el que se puede crear formularios que contengan a otros formularios u objetos

diversos como los TextBox, ComboBox,

¿Qué es Lenguaje de Programación?

En informática, cualquier lenguaje artificial que puede utilizarse para definir una secuencia de

instrucciones para su procesamiento por un ordenador o computadora. Es complicado definir qué es y qué

no es un lenguaje de programación. Se asume generalmente que la traducción de las instrucciones a un

código que comprende la computadora debe ser completamente sistemática.

Normalmente es la computadora la que realiza la traducción.

Los lenguajes de programación permiten comunicarse con los ordenadores o computadoras. Una

vez identificada una tarea, el programador debe traducirla o codificarla a una lista de instrucciones que la

computadora entienda. Un programa informático para determinada tarea puede escribirse en varios

lenguajes. Según la función, el programador puede optar por el lenguaje que implique el programa menos

complicado. También es importante que el programador elija el lenguaje más flexible y más ampliamente

compatible para el caso de que el programa tenga varias aplicaciones.

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

Algoritmos:

Son representaciones, estos pueden ser:

1. Lenguaje Natural.- Es el lenguaje común (coloquial).

2. Lenguaje Estructurado.- Es un lenguaje mas limitado que el anterior, con reglas de sintaxis y

semántica definidas, esto quiere decir que consiste en crear programas con instrucciones agrupadas en

un estricto orden secuencial, el cual es imprescindible conservar para la resolución de un problema.

a. Pseudocódigo; lenguaje universal para comunicarse entre programadores, esto quiere decir que es

un conjunto de instrucciones en lenguaje natural, como el castellano o el ingles, de acuerdo a la

persona que desarrollará un algoritmo basado en dicho lenguaje natural, en conclusión, es elaborar

el algoritmo usando palabras y frases que se comprendan fácilmente.

b. Código; lenguaje orientado a un tipo de compilador especifico, para ser interpretado por el

computador, en otras palabras es un conjunto de instrucciones que son parte de un lenguaje de

programación especifico que se escriben en orden secuencial y se almacenan en un archivo al que

se denomina programa, cuando el programa es pequeño se le denomina mini-programa o con el

nombre de macro (en inglés se le denomina Script).

3. Lenguaje Simbólico.- Es una representación que usa símbolos predefinidos para diagramar un

algoritmo, con el fin de que sea fácil de seguir la lógica de la solución que se desea expresar en forma

de un flujo de pasos a realizar, indicando el inicio y el termino de los mismos

a. Diagramas de flujo;

b. Carta N-S;

PSEUDOCODIGO

Lectura

Obtener un dato inicial

Solicitar un dato inicial

Requerir un dato de entrada

En otras palabras, lectura viene a ser la entrada de datos que nosotros vamos a requerir para poder hallar

la solución, por eso, para nosotros la Entrada va ser el sinónimo de Lectura.

Se deduce a:

Leer <Dato>

(Dato de entrada)

Estructura

Operar sobre el dato obteniendo nuevo valor

Procesar los datos, obteniendo nuevo valor

En otras palabras, la estructura lo conoceremos como Instrucciones, esto quiere decir que las

instrucciones son todos los procesos, cálculos, comparaciones etc., que nosotros haremos para hallar la

solución.

Se deduce a:

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

Escritura

Mostrar el resultado

Visualizar el resultado

Imprimir el valor resultante

Como la misma palabra lo dice, vamos a escribir o mejor dicho vamos a mostrar el resultado de las

instrucciones hechas (operaciones).

Se deduce:

Escribir <Valor Resultante>

INSTRUCCIONES CONSOLE

Read, nos captura o lee el dato que el usuario ingresa.

Variable = Console.Read

ReadLine, nos captura o lee el dato que el usuario ingresa, pero a la vez hace un cambio de línea al

terminar de leer el dato.

Variable = Console.ReadLine

Write, nos permite mostrar ya sea una cadena (texto) o un dato numérico (número).

Para mostrar texto y datos calculados o capturados

Console.Write(.Texto a Mostrar {0},{1}, {2}, ., {n}., Var0, Var1, Var2,., Varn)

Para mostrar texto

Console.Write(.Texto a Mostrar.)

WriteLine, nos permite mostrar ya sea una cadena (texto) o un dato numérico (número), y a la vez hace un

cambio de línea, después de haber mostrado el dato.

Para mostrar texto y datos calculados o capturados

Console.WriteLine(.Texto a Mostrar {0},{1}, {2}, ., {n}., Var0, Var1, Var2,., Varn)

Para mostrar texto

Console.WriteLine(.Texto a Mostrar.)

Como se habrán dado cuenta, que en la función Write y WriteLine, seguido del texto que deseamos mostrar pongo {0}, {1} etc. Pues lo pongo porque para mostrar una variable o un dato seguido del texto que muestro por ejemplo: si deseo mostrar el siguiente texto, seguido de la variable N que contiene un número digamos que 13, deberíamos de escribir el siguiente código.

Console.WriteLine("El Valor de la Variable N es : {0}", N)

Y lo que nos mostrara en pantalla seria lo siguiente

El Valor de la Variable N es: 13Así que lo deben de tener en claro, que por cada variable o dato que queremos mostrar después del texto que mostramos,

tendremos que agregar {0}, en donde el 0 indica que numero de dato se va mostrar, mejor dicho lo convierte en un array y este muestre el valor del array comenzando del 0, así que si queremos mostrar 5 datos después del texto tendremos que escribir {0}, {1},

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

{2}, {3}, {4}, y si queremos mostrar tres datos después del texto tendremos que escribir desde el 0 al 2, espero que les halla quedado en claro, jejejeje, bueno seguiremos con los conceptos.

AMBITO DE VARIABLES

El ámbito indica en qué lugar de la aplicación desea utilizar la variable y puede ser una de las

siguientes palabras claves. Dim, Static, Private o Public.

Dim: Se puede utilizar a nivel de procedimiento y a nivel del formulario. Si se declara una variable a nivel

de procedimiento con la palabra Dim, Visual Basic reinicializa (borra su contenido) la variable cada vez

que ejecuta el procedimiento.

Ejemplo:

Dim a As Integer

Static: Se utiliza solo a nivel del procedimiento. Cuando una variable se declara con la palabra Static,

Visual Basic no reinicializa la variable cada vez que se ejecuta el procedimiento, solo lo hace la primera

vez. Esto quiere decir que la variable conserva su valor entre una llamada al procedimiento y otra.

Ejemplo:

Static b As Double

Private: Se utiliza solo a nivel del módulo e indica que la variable es privada; es decir, solo va a ser

reconocida dentro del módulo donde ha sido declarada.

Ejemplo:

Private c As String

Public: Se utiliza solo a nivel de módulo e indica que la variable es pública; es decir, va a ser reconocida en

toda la aplicación.

Public d As Date

OPERADORES UTILIZDOS EN LA APLICACIÓN DE CONSOLA

And

El operador And solo utilizamos cuando queremos que se cumpla una serie de expresiones, por

ejemplo:

If a > b And a > c Then

Console.WriteLine("a es mayor que b y c")

End If

Como vemos en este ejemplo, hacemos dos comparaciones, el primero si a es mayor que b, y la segunda si a es mayor que c, si estas dos expresiones (comparaciones) resultan verdaderas, nos mostrará un mensaje diciéndoos que a es mayor que b y c.

AndAlso

El operador AndAlso comprueba también una seria de expresiones, pero a comparación del And,

este comprueba siempre y cuando la expresión anterior resulta ser verdadera por ejemplo:

If a > b AndAlso a > c Then

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

Console.WriteLine("a es mayor que b y c")

End If

Como vemos en este ejemplo, hacemos dos comparaciones, el primero si a es mayor que b, y la segunda si a es mayor que c, si la primera expresión (a > b) resulta ser verdadera hará la comparación de la segunda expresión (a > c), pero si no lo es, ya no se evaluara la expresión siguiente. Pero si las dos resultan verdaderas, nos mostrará un mensaje diciéndoos que a es mayor que b y c.

OrEl operador Or solo utilizamos cuando queremos que se cumpla una expresión de toda una serie de

expresiones, por ejemplo:

If Promedio < 0 Or Promedio > 20 Then

Console.WriteLine("Ingrese la Nota Correcta (1 . 20)")

End If

En este ejemplo, si promedio es menor a cero o promedio es mayor a 20 nos mostrará un mensaje indicándonos que la nota que se ingreso es incorrecta, solo basta que una de las dos expresiones evaluadas sea verdadera.

OrElseEl operador OrElse comprueba también una seria de expresiones, solo quebastara que una

expresión sea verdadera para que no realice las demás evaluaciones. Por ejemplo:

If Promedio < 0 OrElse Promedio > 20 Then

Console.WriteLine("Ingrese la Nota Correcta (1 . 20)")

End If

En este ejemplo si la primera expresión resulta verdadera, ya no realizara la siguiente expresión, en cambio si resultara falsa, realizara la siguiente expresión.

FUNCIONES DE CONVERSIÓN

Como se habrán dado cuenta que al activar la opción de Option Strict, este nos obliga que tenemos que

utilizar funciones de conversión para cada tipo de dato, con lo que no hacíamos, si no lo estaba activado,

como lo fue en los 8 primeros ejercicios, las funciones más utilizadas estarán de color verde, las funciones

de conversión son las siguientes:

Nombre de la función Tipo de datos que devuelve Valores del argumento "expresión"

CBool (expresión) Boolean Cualquier valor de cadena o expresión numérica.CByte (expresión) Byte De 0 a 255; las fracciones se redondean.CChar (expresion) Char Cualquier expresión de cadena; los valores deben ser de 0 a 65535.CDate(expresion) Date Cualquier representación válida de una fecha o una hora.

CDbl(expresion) Double Cualquier valor Double, ver la tabla anterior para los valores posibles

CDec(expresion) Decimal Cualquier valor Decimal, ver la tabla anterior para los valores posibles.

CInt(expresion) Integer Cualquier valor Integer, ver la tabla anterior para los valores posibles, las fracciones se redondean.

CLng(expresion) Long Cualquier valor Long, ver la tabla anterior para los valores posibles, las fracciones se redondean.

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

CObj(expresion) Object Cualquier expresión válida.

CShort(expresion) Short Cualquier valor Short, ver la tabla anterior para los valores posibles, las fracciones se redondean.

CSng(expresion) Single Cualquier valor Single, ver la tabla anterior para los valores posibles.

CStr(expresion) String

Depende del tipo de datos de la expresión.Nota:Todos los objetos de Visual Basic, tienen unos métodos para realizar conversiones a otros tipos, al menos de número a cadena, ya que tienen la propiedad. ToString que devuelve una representación en formato cadena del número en cuestión (igual que CnStr).

CType (expresion, Tipo)

El indicado en el segundoparámetro

Cualquier tipo de datos

Val(expresion) Double Una cadena de caracteres.

Fix(expresion) Depende del tipo de datos

de la expresiónCualquier tipo de datos

Int(expresion) Depende del tipo de datos

de la expresiónCualquier tipo de datos

Una de las funciones más utilizadas, para hallar restos es la función Mod, ya sea para diversas

soluciones ya sean Matemáticas, físicas y entre otras.

Mod: Devuelve el resto de una división, la sintaxis es la siguiente:Dividendo Mod DivisorSímbolos de Comparación= igual< Menor que> Mayor que<= menor o igual>= mayor o igual<> Distinto

INSTRUCCIÓN CONDICIONAL

Como vimos en la primera entrega, estas instrucciones nos permiten tomar decisiones, dándonos un

resultado de Verdadero o Falso, a menudo esta instrucción es la más utilizada por todos los programadores,

así que tendrás que aprendértela de memoria, y no te preocupes que es muy fácil de usar.

Sintaxis:

Primera Forma:

If <expresión a evaluar> Then <Instrucción (si la expresión devuelve Verdadero)>

Ejemplo:

If a = b Then MessageBox(.Son Números Iguales.)

Si la expresión a evaluar de a = b devuelve o mejor dicho es verdadera, este

nos mostrará un mensaje, con el texto de .Son Números Iguales..

Segunda Forma:

If <expresión a evaluar> Then

<Instrucción (si la expresión evaluada devuelve Verdadero)>

End If

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

Ejemplo:

If b <> 0 Then

Res = a / b

Console.WriteLine("El Resultado de La División es: {0}", Res)

End If

Segunda Forma, lo utilizamos cuando tengamos que hacer mas de una instrucción si la expresión a evaluar

resulta verdadera, en este caso si a es mayo que b, si es verdadero este hará la siguiente instrucción de a

dividir entre b y el resultado guardarlo en una variable llamada Res, que después la mostraremos en

pantalla.

Tercera Forma:

If <expresión a evaluar> Then

< Instrucción (si la expresión evaluada devuelve Verdadero)>

Else

< Instrucción (si la expresión evaluada devuelve Falso)>

End If

Ejemplo:

If b <> 0 Then

Res = a / b

Console.WriteLine("El Resultado de La División es: {0}", Res)

Else

Console.WriteLine("Error: División Entre Cero")

End If

Esta forma nos permite utilizar los dos tipos de resultados de la expresión evaluada, por ejemplo, si b es

diferente a cero este dividirá a a, pero si es falso, nos mostrara un mensaje de Error.

Cuarta Forma:

If <expresión a evaluar> Then <Instrucción (si la expresión evaluada devuelve Verdadero)> Else

<Instrucción (si la expresión evaluada devuelve Falso)> (todo en una misma línea)

Ejemplo:

If a = b Then MessageBox(.Son Números Iguales.) Else MessageBox(.No son Números Iguales.)

(Todo en una misma línea)

Esta forma no tan muy usada, solo en los casos cuando hay que hacer una sola instrucción en cada tipo de

respuesta de la expresión evaluada, por ejemplo, si a es igual b nos mostrará un mensaje de Números

Iguales, pero si es falso nos mostrara otro mensaje diciéndonos que No son Números iguales, y recuerden

que es en una sola línea.

Quinta Forma:

If <expresión a evaluar> Then < Instrucción (si la expresión evaluada devuelve Verdadero)>

ElseIf <expresión a evaluar> Then

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

< Instrucción (si la expresión evaluada devuelve Verdadero)>

Else

< Instrucción (si la expresión evaluada devuelve Falso)>

End IfEjemplo:If b = 0 ThenConsole.WriteLine("Error: División Entre Cero")ElseIf a <> b ThenRes = a / bConsole.WriteLine("El Resultado de La División es: {0}", Res)ElseConsole.WriteLine("El Resultado de La División es: 1")End If

Bueno a mi parecer y si es que no me equivoco, esta es una de las formas más usadas, ya que son if

anidados, como lo había en los pseudocódigos, el else es opcional, como lo ven en este ejemplo, si b es igual

a cero, nos mostrara un mensaje de Error de División, pero si es falso, hará la siguiente evaluación que será

si a es diferente de b hará la división y nos mostrará el resultado de la división, pero si es falso nos mostrar

un mensaje, diciéndonos que el resultado de la división es 1, sin ser necesario dividir.

Nota: Recuerda que para cada IF hay un THEN y un END IF, así como en el pseudocódigo.

CONDICIONES MULTIPLES

Este tipo de condiciones lo usamos para tener varios tipos de comparaciones (expresiones a evaluar).

Sintaxis:

Select Case <expresión a evaluar>

Case <lista de expresiones>

Instrucciones

Case <otra lista de expresiones>

Instrucciones

Case Else

Si no se cumple ninguna de las listas de expresiones

End Select

Ejemplo:

Select Case i

Case 3 : ‘Instrucción a realizar

Case 6 To 11

’Instrucción a realizar

Case 14, 17

’Instrucción a realizar

Case Is > 25

’ Instrucción a realizar

Case Else

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

’ Instrucción a realizar

End Select

En el ejemplo, hacemos varias comprobaciones, si i vale 3 haremos la instrucción que sigue después

de los dos puntos (podemos ejecutar solo una instrucción después de los dos puntos, si en caso hubiera mas

instrucciones a ejecutar, estas instrucciones las pondríamos en la parte inferior del Case), en cambio si

tiene un valor de 6 a 11 ejecutara la instrucción que se encuentra en su inferior, o si tiene el valor de 14 ó

17, ejecutara la instrucción que se encuentra en su inferior, o si i es mayor que 25, realizara la instrucción

que se encuentra en su inferior, y por ultimo si no cumple ninguna comparación, existe el Case Else, que

ejecutara su instrucción, siempre y cuando no se cumpla ninguna expresión en los demás Case.

PROCESOS REPETITIVOS

Los procesos repetitivos o llamados bucles, se utilizan para repetir el o los códigos, un número determinado

de veces, para esto usaremos el For, que nos permitirá repetir un número determinado de veces el código.

For / Next

Con este tipo de bucle podemos repetir un código un número determinadode veces.

Sintaxis:

For <variable numérica> = <valor inicial> To <valor final> [Step <incremento>]

’contenido del bucle, lo que se va a repetir

Next

Primera Forma:

Una de las formas mas utilizadas.

For i = 1 To 10

’contará de 1 hasta 10

’la variable i tomará los valores 1, 2, 3, etc.

Next

Segunda Forma:

Esta forma se utiliza para decirle como va a incrementar, ya sea como el ejemplo de 2 en 2.

For i = 1 To 100 Step 2

’contará desde 1 hasta 100 (realmente 99) de 2 en 2

’la variable i tomará los valores 1, 3, 5, etc.

Next

Tercera Forma:

Cuando queremos que un bucle sea en decreciente solo bastará darle un valor negativo, al número, como en

el ejemplo, queremos que en vez que avance del 1 al 10 queremos que este vaya del 10 al 1.

For i = 10 To 1 Step -1’contará desde 10 hasta 1’la variable i tomará los valores 10, 9, 8, etc.

Next

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

For Each

Este bucle repetirá o iterará por cada uno de los elementos contenidos en una colección.

Sintaxis:

For Each <variable> In <colección del tipo de la variable>

’Lo que se hará mientras se repita el bucle

Next

Ejemplo:Dim s As StringFor Each s In "Hola Mundo"Console.WriteLine(s)NextConsole.ReadLine()

Este bucle recorre cada uno de los caracteres de una cadena, en este caso recorrerá cada carácter

de la cadena s (Hola Mundo)., comenzando por la H y de ahí la o y así hasta la última o de la palabra

Mundo.

ESTRUCTURAS REPETITIVAS

Las estructuras repetitivas o llamados también bucles, se utilizan pararepetir el o los códigos, hasta

que la expresión evaluada de un valor de Falso.

While / End WhileSe repetirá mientras se cumpla la expresión lógica que se indicará después de WhileSintaxis:While <expresión>.Lo que haya que hacer mientras se cumpla la expresiónEnd While

Ejemplo:

While i < 10

Console.WriteLine(i)

i = i + 1

End While

Este código escribirá el valor de i hasta que el valor de i tome el valor de 10 o más.

Do / Loop

Este tipo de bucle es muy parecido al anterior. Si se utiliza sólo con esas dos instrucciones, este tipo

de bucle no acabará nunca y repetirá todo lo que haya entre Do y Loop. Pero este tipo de bucle se puede

usar con dos instrucciones que nospermitirán evaluar expresiones lógicas: While y Until Pero no debemos

confundireste While con el While/End While que acabamos de ver anteriormente. La ventajade usar While o

Until con los bucles Do/Loop es que estas dos instrucciones podemos usarlas tanto junto a Do como junto a

Loop, la diferencia está en que silos usamos con Do, la evaluación se hará antes de empezar el bucle,

mientras quesi se usan con Loop, la evaluación se hará después de que el bucle se repita al menos una vez.

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

Sintaxis:

Primera Forma:

Este bucle evalúa al principio, mejor dicho realizara el código o las instrucciones un número que digamos

que sea n veces.

Do While <expresión>

Instrucción

Loop

Segunda Forma:

Este bucle evalúa al final, mejor dicho realizara el código o las instrucciones n . 1 veces.

Do

Instrucción

Loop While <expresión>

Tercera Forma:

Este bucle evalúa al principio, a diferencia que el primero realizara el código siempre y cuando la expresión

sea falsa, mejor dicho realizara el código o las instrucciones n veces.

Do Until <expresión>

Instrucción

Loop

Cuarta Forma:

Este bucle evalúa al final, a diferencia que el segundo realizara el código siempre y cuando la expresión sea

falsa, mejor dicho realizara el código o las instrucciones n . 1 veces

Do

Instrucción

Loop Until <expresión>

Crear Nuevo Proyecto

Como ustedes ya saben hay dos formas de crear un nuevo proyecto, lo único que veremos, lo que tenemos que escoger, al crear un proyecto esta vez seleccionaremos .Windows Application., le pondremos un nombre y luego daremos clic en aceptar.

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

El IDE de Windows ApplicationA comparación de las consolas de aplicación tenemos un nuevo IDE, en este IDE cada vez

que creamos un nuevo Item, se abrirá una nueva ventana, esto ya lo veremos en la aplicación que

realizaremos más adelante.

Ventana de DiseñoAl crear una nueva solución de Windows Application, siempre nos aparecerá la siguiente

ventana.

Como se darán cuenta acá el archivo siempre tendrá un nombre de Form1, que es el primer

formulario del proyecto.

¿Qué es un Formulario?

Es la ventana principal, porque sirve de fondo para los controles que se dibujan en una

aplicación, como cajas de textos, etiquetas, botones, etc. Se podría decir que es un contenedor de

controles y objetos.

Ventana de CódigoEsta ventana contendrá todo el código que realizara los diferentes eventos, procedimientos,

instrucciones del formulario.

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

Mayormente para activar esta ventana y añadir cualquier código, siempre se tendrá que hacer doble clic en el control deseado.

Cuadro de HerramientasContiene los controles que se dibujan en el formulario, en tiempo de diseño y no en tiempo de

ejecución.

Estos controles están divididos por clases, los controles más usados son los de Controles Comunes, más adelante ya veremos con más detalle cada control.Explorador de SolucionesEn esta ventana se encuentra el formulario, también vas a poder encontrar todos los Item que

agregas de aquí en adelante, ya sean formularios, módulos, clases, etc.

Ventana de PropiedadesEsta ventana nos mostrara todas las propiedades del Item seleccionado, puede ser de un

formulario, módulo, control, etc.

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

Ventana de ErroresEsta ventana nos mostrara todos los errores que ocurran en tiempo de ejecución del programa.

Barra de HerramientasEsta barra contendrá diversos botones que suelen facilitar al programador en el uso del

programa, al principio ya vimos que botones usábamos en las consolas de aplicaciones.

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

Formularios (Forms)Introducción:

Es una ventana muy importante porque aquí se dibujan o pegan todos los controles que

necesitamos utilizar en nuestro programa o aplicación. Se pueden utilizar tantos formularios como

se necesiten, y dependiendo de la utilidad que se les dé, estos serán de diferentes tipos. Así, se

puede crear un formulario que contenga un gráfico, para visualizar información o para ingresar

datos. Para dejar un poco más en claro, un formulario es una ventana típica de Windows. Estos

están contenidos en forma automática en el escritorio de Windows o en su defecto dentro de otros

formularios a los que llamaremos formularios MDI

(Multiple Document Interface - Interfaz de Múltiples Documentos).

Toda ventana es a su vez una interfaz gráfica de usuario la que permite interactuar a un

usuario no muy experimentado de una manera muy simple con ella. Cada una de estas interfaces

puede tener una gran funcionalidad inherente la que se concentra en la misma ventana o en

determinados controles que están inmersos en ella. Como todo objeto, un formulario posee

propiedades y métodos, así como a su vez soporta eventos que veremos a continuación.

Tipos:Hay cuatro tipos de formularios, que son los más usados, como son:

El formulario MDI, que es un contenedor de otros formularios, por ejemplo tenemos las ventanas de

Word que es un formulario MDI, ya que contiene o puede contener diversas ventanas de documentos

abiertos.

Los formularios Child, que son aquellos formularios hijos, en otras palabras son todos aquellos

formularios que van a ser contenidos en el formulario MDI.

El formulario normal, que el que más vamos a usar, y el más común.

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

El formulario Parents, que es aquel formulario que va a contener todos los controles de otro formulario,

por ejemplo, si tenemos un formulario llamado frmPadre, que contiene un menú y un botón grabar y

creamos un nuevo formulario de tipo parents llamado frmHijo y le especificamos en su propiedad de

parents el formulario frmPadre, automáticamente el formulario frmHijo aparecerá con el menú y el

botón grabar, bueno, eso ya lo veremos más adelante para que les quede más claro, así que no se

preocupen.Propiedades:

Propiedad Descripción

(Name) Permite identificar el formulario, su prefijo de cualquier formulario es frm

AccepButton Si está establecido, el botón se activa cuando el usuario presiona la tecla [Enter] ([INTRO])

AccessibleDescription Descripción que se proporciona a clientes con accesibilidad.AccessibleName Nombre que se proporciona a los clientes con accesibilidad.AccessibleRole Función que se proporciona a clientes con accesibilidad.AllowDrop Determina si el control recibe notificaciones de arrastrar y colocar.

AutoScaleMode Determina cuando el formulario o el control, cuando la escala de la resolución de la pantalla o de la fuente de letra a cambiado.

AutoScroll Determina si aparecen automáticamente las barras de desplazamiento cuando los controles están situados fuera del área de clientes del formulario.

AutoScrollMargin Establece el margen alrededor del control durante el AutoScroll.AutoScrollMinSize Tamaño lógico mínimo para la zona de desplazamiento automático.AutoSize Establece si el formulario se adecua al tamaño especificado de los controles.AutoSizeMode Especifica el modo del tamaño del formularioBackColor Color de fondo a utilizar para mostrar texto o gráficos en el control.BackGroundImage Imagen de fondo utilizada para el formulario.

BackGroundImageLayout Especifica cómo se presentara la imagen de fondo del formulario, puede ser en mosaico, estirado, centrada.

CancelButton Si está establecido, el botón se activa cuando el usuario presiona la tecla ESCCausesValidation Indica si este control causa y genera eventos de validación.ContextMenuStrip Indica el menú contextual que se muestra cuando el usuario hace clic derecho.

ControlBox Determina si el formulario tiene un cuadro de menú control el que se encuentra en la esquina superior derecha de la ventana.

Cursor Indica el tipo de cursor que aparece al pasar el Mouse por el controlEnabled Indica si el control está habilitadoFont Indica la fuente utilizada para mostrar texto en el control.

ForeColor Indica el color de primer plano utilizado para mostrar texto o gráficos en el control.

FormBorderStyle Controla la apariencia del borde del formulario. Esto también influye en como se muestra la barra de título y que botones pueden aparecer en ella.

HelpButton Determina si un formulario tiene botón de ayuda enla barra de título.

IconIndica el icono para un formulario. Esto se muestra en el cuadro de menú del formulario del sistema y cuando el formulario se minimiza, Width: Ancho, Height: Altura.

ImeMode Determina el estado IME (Editor de Métodos de Entrada) del objeto cuando se selecciona.

IsMDIContainer Determina si el formulario es un contenedor MDI.

KeyPreview Determina si los eventos de teclado para los controles del formulario se registran junto con el formulario.

Language Indica el idioma traducido actualmente.Localizable Determina si se va a generar el código localizable para este objeto.Location Posición de la esquina superior izquierda del control, respecto al contenedor.Locked Determina si se puede mover o cambiar de tamaño el control.

MainMenuStrip Indica el menú principal del formulario. Debe establecerse en un componente de tipo MainMenuStrip.

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

Propiedad Descripción

MaximizeBox Determina si el formulario contendrá el botón de maximizar.MaximunSize Indica el tamaño máximo de la ventana al maximizar.MinimizeBox Determina si el formulario contendrá el botón de minimizar.MinimunSiza Indica el tamaño mínimo de la ventana al minimizar.

Opacity Determina la opacidad o transparencia del formulario; 0% es transparente, 100% es opaco (visible)

Padding Indica el espacio entre los controles que va a contener el formulario.

RightToLeft Indica si el control debe dibujarse de derecha a izquierda para idiomas que se escriben en esa dirección.

ShowIcon Determina si se muestra el icono del formulario en la barra de título.ShowInTaskBar Determina si el formulario aparece en la barra de tareas de Windows.Size Determina el tamaño del formulario o control en píxeles.SizeGripStyle Determina cuando se muestra SizeGrip en un formulario.StarPosition Determina la posición del formulario cuando aparece por primera.Tag Datos definidos por el usuario asociado con el controlText Muestra el texto contenido en el formulario en la barra de título.

TopMost Determina si el formulario está sobre todos los demás formularios que no son de nivel superior, incluso cuando esta desactivado.

TransparencyKey Indica el color que parece transparente cuando se aplica al formulario.UseWaitCursor Indica si se muestra un cursor de espera.

WindowsState Determina el estado visual inicial del formulario, puede ser minimizado, maximizado o normal.

MétodosVamos a tocar los métodos más utilizados, ya que existen un sin fin de métodos.

Método Descripción

Activate Activa el formulario y le otorga el foco

Close Cierra el formulario

CreateControl Obliga a que se cree el control, incluidos el identificador y los controles secundarios.

CreateGraphics Crea el objeto Graphics para el controlDispose Sobrecargado. Libera los recursos utilizados por componentes.FindForm Recupera el formulario en el que se encuentra el control.Finalize Libera todos los recursos del formulario y del sistema.Focus Establece el foco de entrada al control.GetType Obtiene el objeto Type de la instancia actual.Hide Oculta el formulario o control al usuario.Invalidate Sobrecargado, Invalida una región específica del control y hace que se envié un

mensaje de dibujo al control.LayoutMdi Organiza los formularios MDI secundarios del formulario MDI principal.Refresh Obliga al control invalidar su área cliente y acto seguido obliga a que vuelva a

dibujarse el control y sus controles secundarios.RemoveOwnedForm Quita un formulario con propietario de este formulario.ResetText Restablece el valor predeterminado de la propiedad Text.Select Sobrecargado, activa un control.Show Muestra el control o formulario al usuario.ShowDialog Sobrecargado. Muestra el formulario como un cuadro de dialogo modal.Update Hace que el control vuelva a dibujar las regiones no válidas en su área de cliente.

Validate Valida el último control no validado y sus predecesores, pero sin incluir el control actual.

Eventos

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

Vamos a tocar los eventos más utilizados, ya que existen una cierta cantidad considerables de eventos.

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

ControlesTenemos una diversidad de control y objetos que podemos usar en nuestras aplicaciones, ahora

veremos algunos controles que más vamos a usar divididos en categorías.

Controles Comunes.

Como se van a dar cuenta, cada control tiene su icono, nombre, prefijo y su descripción.

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21

Nota: Los prefijos son una referencia, se utiliza para saber de qué control se habla en tiempo de diseño, no es obligatorio usarlo, pero es recomendable que se familiaricen, ya que la mayoría de programadores lo usan.ComponentesSolo les muestro dos controles, que son los más usados.

Métodos

Los métodos son casi los mismos que tiene el formulario, así que conforme vamos avanzando veremos uno

que otro método propio de cada control.

Eventos

Los eventos también son muy parecidos a los eventos del formulario, solo tocaremos algunos eventos

propios de cada control, conforme avancemos.

L i c . L i t m a n P . P a r e d e s H u e r t a Página 21