Sie sind auf Seite 1von 54

PROGRAMANDO EN VISUAL BASIC

Aplicaciones computacionales Docente: Johanna Dueas

AMBIENTE DE DESARROLLO
EVENTOS

Son las acciones que se producen y que nos interesan identificar para establecer algn tipo de respuesta por parte del objeto

PROPIEDADES

Es un atributo nominal de un objeto de programacin. Las propiedades definen las caractersticas del objeto

MTODOS

Son tareas que los objetos pueden llevar a cabo por si mismos con slo una llamada del cdigo a dicho mtodo.

TIPOS DE VARIABLES EN VISUAL BASIC


Byte 1 byte (0 a 255 )

Boolean
2 bytes

Integer
2 bytes

True o False (-32768 a 32767 )


Long 4 bytes

Single
4 bytes

(-2147483648 a 2147483647)

(-3.40E38 a 3.40E38)

Date 8 byes

Double 8 bytes

Currency 8 bytes

String 1Caracter /1 byte (aprox. 65,500 Bytes Mx.)

1/1/100 a 31/12/9999

-1.80E308 a 1.80E308

-9.22E14 a 9.22E14

Variant Depende del dato (Determinado por el tipo)

DECLARACIN DE VARIABLES
Declaracin implcita
Dentro de un procedimiento, no hace falta que se defina el nombre y el tipo de una nueva variable. Si Visual Basic encuentra un nuevo nombre de una variable, este la define automticamente. Se puede obligar a definir las variables que se utilizan. Al definirlas, tanto se debe indicar un nombre para la nueva variable, como el tipo de dato que se va a almacenar.

Declaracin explcita

Option explicit

DECLARACIN DE VARIABLES
Para declarar variables en Visual Basic, lo hacemos con la palabra reservada Dim(Public, Private o Static) seguida del nombre de la misma y luego el tipo: DIM
Dim nombre as tipo de variable Ejemplo: Dim ciudad as string Dim M As Integer, N As Integer

PUBLIC

STATIC

PRIVATE

ALCANCE DE LAS VARIABLES


El alcance de las variables se refiere al rea del programa en las cuales es visible la variable; es decir, en que reas del proyecto tendremos disponible las variables.
Las variables declaradas dentro de funciones o procedimientos, ser de alcance local. Estas variables son reinicializadas cada ves que se ejecuta el procedimiento. Las variables de nivel de formulario, estarn disponibles para todos los procedimientos del formulario.

Variables Publicas: se utilizan en todo el proyecto Cuando declaramos una variable como publica en un modulo de programa o en el formulario inicial, podremos utilizar esta variable en todo el proyecto: Ejemplo Public NoFactura as long Variables Privadas: se utilizan slo en el procedimiento Estas variables estarn disponibles solo dentro de nuestro formulario o procedimiento, segn el lugar donde se haya declarado: Ejemplo Dim NoFactura as long

Variables Estticas: No pierden su valor Con esta forma de declarar variables conseguiremos que las variables locales no se creen y se destruyan al entrar y salir de los procedimientos donde fueron declaradas sino que se mantenga su valor durante todo el periodo de ejecucin de la aplicacin.

Resumen de Alcance de las Variables


Alcance Local Declaracin Dim, Static (Dentro de un procedimiento)

Mdulo Dim o Private (seccin de declaraciones del mdulo)


Global Public (seccin de declaraciones de un mdulo)

A nivel del mdulo, no hay diferencias entre Dim y private, pero se aconseja utilizar private en contraste con Public

LAS CONSTANTES
Como su palabra lo dice es Informacin que no vara hace ms fcil la comprensin del cdigo y permite modificar un valor en un solo lugar no ocupa espacio extra, Ejemplo:
Const Mnimo = 1, Mximo = 10
Definicin de la constante sin indicar el tipo de dato:

Const [Nombre Constante] = [Valor Constante]


Definicin de la constante indicando el tipo de dato: Const [Nombre Constante] As [Tipo de dato] = [Valor Constante]

CONVERSIONES
Visual Basic nos proporciona varias funciones de conversin de datos, las cuales nos permiten convertir el valor de una variable al tipo de variable correcto. Esto es importante cuando trabajamos con datos Variant y queremos convertirlo a otro tipo de variable ms exacta o para realizar validaciones en los datos.

CBol(expresin) CByte(expresin) CCur(expresin) CDate(expresin) CDbl(expresin) CInt(expresin) CLng(expresin) CSng(expresin) CStr(expresin) CVar(expresin) CErr(expresin)

conversin a un valor tipo Boolean conversin a un valor tipo Byte conversin a un valor tipo Currency conversin a un valor tipo Date conversin a un valor tipo Double conversin a un valor tipo Integer conversin a un valor tipo Long conversin a un valor tipo Single conversin a un valor tipo String conversin a un valor tipo Variant conversin a un valor tipo Error

E/S (Entradas y Salidas) Sencillas


La Funcin Inputbox()
El valor que devuelve la funcin es un valor tipo variant .

La funcin InputBox muestra un mensaje en un cuadro de dilogo, espera que el usuario escriba un texto o haga clic en un botn y devuelve un tipo String con el contenido del cuadro de texto.

La Funcin Inputbox()
Mensaje: Consiste de ms de una lnea, asegrese de incluir un retorno del carro chr(13) y un avance de lnea, chr(10) entre cada lnea. Puede usar la constante pre definida Vbcrlf para lograr el mismo efecto. Titulo: Es una cadena que se despliega en la barra de titulo el cuadro de dialogo. Si se omite no aparecer nada.

InputBox(Mensaje, titulo, Posx, Posy, ArchAyuda, Context)


ArchAyuda, Context: Se usan para proporcionar ayuda sensible al contexto.

Posx, Posy: Expresiones numricas que especifican el tamao de la caja. Si se omite aparecer en el centro.

E/S (Entradas y Salidas) Sencillas


MsgBox() y MsgBox
Despliega un mensaje en un cuadro de dialogo y espera que el usuario seleccione un botn.

MsgBox() y MsgBox
Mensaje: Es una expresin de cadena que se despliega como el mensaje en un cuadro de dialogo.

MsgBox(Mensaje, tipo, titulo, ArchAyuda, Context)


Titulo: Expresin de cadena que aparece en la barra de titulo del cuadro.

MsgBox() y MsgBox
MsgBox(Mensaje, tipo, titulo, ArchAyuda, Context)
Valor 0 1 2 3 Botn Ok(Aceptar) Ok(Cancelar) Abortar, Reiterar e Ignorar Si, No y Cancelar Constante VbOKOnly VbOKCancel VbAbortRetryIgnor e VbYesNoCancel

Si o No
Reiterar y Cancelar Icono Parada Critica Signo de Interrogacin Signo de Exclamacin Icono de Informacin

VbYesNo
VbRetryCancel VbCritical VbQuestion VbExclamation VbInformation

Tipo: Expresin numrica que es la suma de valores que especifican la cantidad y el tipo de botones por desplegar.

5 16 32 48 64

SENTENCIAS CONDICIONALES O ESTRUCTURAS DE DECISIN


Estas estructuras permiten tomar decisiones segn las condiciones que se den en una aplicacin.

If...Then...End If
La estructura bsica de esta instruccin es la siguiente: Los corchetes muestran partes opcionales de la instruccin.
If (Condicin) Then [Instrucciones Verdadero] Else [Instrucciones Falso] End If

If...Then...End If
Condicin: Aqu escribiremos la condicin a evaluar, para que el ordenador nos devuelva una respuesta y segn esta respuesta podamos actuar.

If (Condicin) Then [Instrucciones Verdadero] Else [Instrucciones Falso] End If


[Instrucciones Verdadero]: Aqu pondremos la instruccin o instrucciones que se deber realizar si la respuesta a la condicin es Verdadera.

If...Then...End If
Else: Cuando la condicin no se cumple la siguiente instruccin es si no.

If (Condicin) Then [Instrucciones Verdadero] Else [Instrucciones Falso] End If


[Instrucciones Falso]: Aqu pondremos la instruccin o instrucciones que se deber realizar si la respuesta a la condicin no se cumple.

End If: Cierra la sentencia If

Ejemplo If...Then...End If
Vamos a realizar una pequea aplicacin para que el ordenador nos diga, despus de introducir la edad de una persona si es mayor de edad o no. Consideraremos la mayora de edad a los 18 aos.

Crear un Label y llamarlo=Comentario Crear un TextBox y llamarlo= Edad

If Val(Edad.Text) < 18 Then Comentario.Caption = .Es menor de edad. Else Comentario.Caption = .Es mayor de edad. End If

Estructura If Then
If [Condicin] Then [Instrucciones Verdadero] End If
If Val(Edad.Text) < 18 Then Comentario.Caption = .Es menor de edad. End If

Estructura If Then ElseIf


Imagina que lo que queremos ahora es que el ordenador nos devuelva, mirando la edad que introducimos, si es menor de 10 aos, si tiene entre 10 y 20 aos, si tiene entre 20 y 30 aos o si es mayor de 30. Hasta este momento solo hemos visto la instruccin If para poder controlar un caso como el que planteamos.

1 If Val(Edad.Text) < 10 Then 2 Comentario.Caption = .Menos de 10 aos. 3 Else 4 If Val(Edad.Text) < 20 Then 5 Comentario.Caption = .Entre 10 y 20 aos. 6 Else 7 If Val(Edad.Text) < 30 Then 8 Comentario.Caption = .Entre 20 y 30 aos. 9 Else 10 Comentario.Caption = .Ms de 30 aos. 11 End If 12 End If 13 End If

Select Case
La estructura bsica de esta instruccin es la siguiente:

Select Case [Expresin para comparar] Case [Expresin 1] [Instrucciones 1] ... Case [Expresin n] [Instrucciones n] [Case Else] [Instrucciones Else] End Select

Select Case
En [Expresin para comparar] pondremos el objeto sobre el cual queremos preguntar por su valor.

Select Case [Expresin para comparar] Case [Expresin 1] [Instrucciones 1] ...


Case [Expresin n] [Instrucciones n] [Case Else] [Instrucciones Else] End Select

En [Instrucciones 1] pondremos las instrucciones que se realizarn en caso de que [Expresin 1] sea verdadera.

En [Expresin 1] escribiremos cual es la pregunta que deseamos hacer sobre el valor escrito anteriormente.

Select Case
Si queremos que se haga algo en caso que ninguna de las expresiones que hemos puesto anteriormente se cumpla, podemos escribir [Case Else] y seguidamente la o las instrucciones que se tienen que realizar.
Select Case [Expresin para comparar] Case [Expresin 1] [Instrucciones 1] ...

Case [Expresin n] [Instrucciones n] [Case Else] [Instrucciones Else] End Select


No olvides, igual que en el caso del If, cerrar la expresin utilizando End Select

Ejemplo Select Case


Select Case Val(Edad.Text) Case < 10 Comentario.Caption = .Menos de 10 aos. Case < 20 Comentario.Caption = .Entre 10 y 20 aos. Case < 30 Comentario.Caption = .Entre 20 y 30 aos. Case Else Comentario.Caption = .Ms de 30 aos. End Select

Ejemplo Select Case


Select Case Val(Edad.Text) Case > 30 Comentario.Caption = .Ms de 30 aos. Case > 20 Comentario.Caption = .Entre 20 y 30 aos. Case > 10 Comentario.Caption = .Entre 10 y 20 aos. Case Else Comentario.Caption = .Menos de 10 aos. End Select

Ejemplo Estructuras de decisin


El siguiente ejercicio permite sealar el precio de un producto seleccionado con iva o sin l.
Controles a crear por el programador
Crear un ListBox y llamarlo ListaObjetos con 5 nombres de diferentes objetos que puedas comprar en cualquier tienda Crear un botn y llamarlo MostrarPrecio y como Caption tendr Mostrar Precio. Crear un Frame e insertar dos OptionButton. Activa uno de los dos OptionButton que has insertado anteriormente.

Inserta un Label y ponle como nombre precio. En dicho Label mostremos el precio del producto seleccionado.

Los OptionButton tendrn por nombre ConIVA y como Caption: Con IVA. SinIVA y como Caption: Sin IVA.

Estructura Select Case

Estructura If Then Else

Private Sub MostrarPrecio_Click() Nombre del Select Case ListaObjetos.ListIndex procedimiento Case 0 If SinIVA.Value = True Then Precio.Caption = 1000 Else Precio.Caption = (1000 * 16 / 100) + 1000 End If Case 1 If SinIVA.Value = True Then Precio.Caption = 2000 Else Precio.Caption = (2000 * 16 / 100) + 2000 End If Case 2 If SinIVA.Value = True Then Precio.Caption = 3000 Else Precio.Caption = (3000 * 16 / 100) + 3000 End If

Cierre estructura if

Cierre estructura Select

Case 3 If SinIVA.Value = True Then Precio.Caption = 4000 Else Precio.Caption = (4000 * 16 / 100) + 4000 End If Case 4 If SinIVA.Value = True Then Precio.Caption = 5000 Else Precio.Caption = (5000 * 16 / 100) + 5000 End If End Select End Sub

Cierre procedimiento

Ejemplo Estructuras de decisin


Nombre del procedimiento
Private Sub MostrarPrecio_Click() Select Case ListaObjetos.ListIndex Case 0 Precios = 1000 Case 1 Precios = 2000 Case 2 Precios = 3000 Case 3 Precios = 4000 Case 4 Precios = 5000 End Select If SinIVA.Value = True Then Precio.Caption = Precios Else Precio.Caption = Precios + (Precios * 16 / 100) End If End Sub

Estructura Select Case

Cierre estructura Select

Estructura If Then Else Cierre estructura if Cierre procedimiento

ESTRUCTURAS DE REPETICIN O ITERACIN


Las estructuras de iteracin son estructuras que ejecutan una o ms veces un conjunto de sentencias (o una sentencia) un nmero determinado de veces, hasta que se cumpla una condicin, mientras se cumpla una condicin o hasta que se den ciertas circunstancias que obliguen a no ejecutar por ms tiempo dichas instrucciones. Recordemos que las estructuras de seleccin ejecutaban un bloque de instrucciones determinado una vez o nunca, dependiento del cumplimiento de una condicin previamente establecida.

Ciclo For... Next


Esta es una estructura de repeticin o bucle, la cual depende de un contador que nos controla el nmero de veces que se deber repetir una o varias instrucciones. En esta estructura siempre deberemos especificar la variable (contador), un valor inicial y un valor final. Normalmente el contador incrementar de uno en uno a no ser que nosotros indiquemos lo contrario. La estructura del bucle utilizando un contador es la siguiente:

For Contador = Inicio To Fin [Step Incremento] [Instrucciones] Next Contador

For... Next

Valor inicial de la variable.

For Contador = Inicio To Fin


Aqu es donde nosotros escribiremos el nombre de la variable que queremos utilizar como contador. Valor final de la variable. Cuando la variable llegue a este valor, el bucle no se volver a realizar.

For... Next

Nmero que marcar los pasos que debe aumentar el contador.


Este nmero puede ser tanto positivo como negativo.

For Contador = Inicio To Fin [Step Incremento]


Esta instruccin es opcional. Si no la ponemos el contador ir incrementando de uno en uno. Si especificamos un nmero detrs de Step hacemos que nuestro contador aumente un nmero determinado de pasos.

For... Next

Aqu escribiremos la o las instrucciones que queremos que se repitan.

For Contador = Inicio To Fin [Step Incremento] [Instrucciones] Next Contador


Lnea que indica que se termina el bucle y hace que aumente el contador segn el valor que nos indique step en caso de tenerlo.

Ejemplo:

For X = 1 to 10 Print X Next X

Ejemplo For.......Next
Este programa imprime en pantalla el valor en ascii correspondiente a cada nmero entre 65 y 90 utilizando la funcin Chr.

Private sub Command1_click() For N=65 To 90 Label1.Caption= Chr(N) Print Chr(N) Next N End Sub

Ciclo WhileWend
Un bucle es una sucesin repetitiva de instrucciones, que se estn utilizando mientras se cumpla una condicin o mientras no se cumpla una condicin.
Mientras Condicin Instrucciones Fin del bucle

Ciclo WhileWend
Aqu escribiremos la condicin mientras la cual queremos que se repitan las instrucciones.

While Condicin Instrucciones Wend


Una vez se cumpla la condicin finaliza el bucle.

Aqu escribiremos la o las instrucciones que queremos que se repitan.

Ejemplo WhileWend
El siguiente programa imprime en pantalla los nmeros de 1 hasta 14:
Private Sub Command1_Click() While i < 15 Print i i= i+1 Wend End Sub

Ciclo Do - While - Loop


En los casos anteriores, se usaba la palabra UNTIL, dentro de un ciclo DO - LOOP, pero como veremos a continuacin tambin es posible decirle a visual Basic que repita una serie de instrucciones mientras se presente una determinada condicin.

Mientras se cumple una condicin


X=0 Do While X < 11 Print X X=X+1 Loop

Ejemplo Do - While - Loop


Dim variable As Integer Private Sub Form_Load() variable = 3 Do While variable < 10 Print "Variable = " & CStr(variable) variable = variable + 1 Loop End Sub

Ciclo Do - Loop - While


Tambin es posible al igual que con el ejercicio de DO UNTIL LOOP, colocar la palabra WHILE al final del ciclo, de tal manera que el ciclo primero ejecute el bloque de instrucciones y posteriormente evale la condicin.

Ejemplo Do - Loop - While


Dim variable As Integer Private Sub Form_Load() variable = 3 Do Print "Variable = " & CStr(variable) variable = variable + 1 Loop While variable < 10 End Sub

Ciclo Do Until - Loop


El ciclo DO-UNTIL-LOOP, es utilizado con frecuencia cuando se necesita que se ejecuten ciertas instrucciones hasta que se cumpla una condicin determinada, momento en el cual se sale del ciclo. Es preciso tener en cuenta que primero se evala la condicin y si se llega a cumplir no se entra al ciclo.

Mientras no se cumpla que

X=0 Do Until X > 10 Print X X=X+1 Loop

Ejemplo Do Until - Loop


Option Explicit Dim Dado1, Dado2 As Integer Private Sub Command1_Click() Do Until Dado1 = 3 And Dado2 = 3 Dado1 = Int(6 * Rnd + 1) Dado2 = Int(6 * Rnd + 1) Print "Dado1: " & CStr(Dado1) & "Dado2: " & CStr(Dado2) Loop Print "FIN DEL CICLO" End Sub

Ciclo Do Loop - Until


Esta estructura de iteracin es similar a la estructura DO UNTIL - LOOP, con la diferencia que primero se ejecuta el bloque de instrucciones(o la instruccin) y posteriormente se evala la condicin. En caso de cumplirse la condicin se sale del ciclo.

Ejemplo Do Loop - Until


Option Explicit Dim Dado1, Dado2 As Integer Private Sub Command1_Click() Do Dado1 = Int(6 * Rnd + 1) Dado2 = Int(6 * Rnd + 1) Print "Dado1: " & CStr(Dado1) & "Dado2: " & CStr(Dado2) Loop Until Dado1 = 3 And Dado2 = 3 Print "FIN DEL CICLO" End Sub

Uso de Exit Do
Es interesante observar que no slo es posible basarse en una condicin para salir de un ciclo de iteracin como el DO WHILE, sino que tambin se puedes utilizar alguna condicin de seleccin incorporada en el grupo de sentencias del ciclo, de tal suerte que cuando se cumpla, tambin se salga del ciclo de iteracin.

Ejemplo de Exit Do
Option Explicit Dim Dado1, Dado2 As Integer Private Sub Command1_Click() Do Dado1 = Int(6 * Rnd + 1) Dado2 = Int(6 * Rnd + 1) If Dado1 = 2 And Dado2 = 4 Then Print "Dado1= " & CStr(Dado1) & "Dado2= " & CStr(Dado2) Exit Do End If Print "Dado1: " & CStr(Dado1) & "Dado2: " & CStr(Dado2) Loop Until Dado1 = 2 And Dado2 = 4 Print "FIN DEL CICLO" End Sub

Fuentes de consulta

http://es.scribd.com/cesarmarcano_ve/d /8274463-Tutorial-Visual-Basic20052008

Das könnte Ihnen auch gefallen