Você está na página 1de 50

PROGRAMANDO EN

VISUAL BASIC

Aplicaciones computacionales
Docente: Johanna Dueñas
AMBIENTE DE DESARROLLO

EVENTOS
Son las acciones que se producen
y que nos interesan identificar
para establecer algún tipo de
respuesta por parte del objeto

PROPIEDADES
Es un atributo nominal de un objeto
de programación. Las propiedades
definen las características del objeto

MÉTODOS Una descripción completa de un objeto,


no se limita a sus propiedades,
debe comprender una definición
de lo que hace.
TIPOS DE VARIABLES EN VISUAL BASIC

Byte Boolean Integer


1 byte (0 a 255 ) 2 bytes 2 bytes
True o False (-32768 a 32767 )

Long Single String


4 bytes 4 bytes 1Caracter
Double Currency
/1 byte
(-2147483648 (-3.40E38 Date
8 bytes
8 byes 8 bytes
a a (aprox. 65,500
2147483647)
3.40E38) Bytes Máx.)

1/1/100 -1.80E308 -9.22E14


a a a Variant
31/12/9999 9.22E14
1.80E308 Depende
del dato
(Determinado
por el tipo)
DECLARACIÓN DE VARIABLES

Declaración implícita 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
automáticamente.
Se puede obligar a
definir las variables que se Declaración
utilizan. Al definirlas, tanto explícita
se debe indicar un nombre Option explicit
para la nueva variable, como
el tipo de dato que se va a
almacenar.
DECLARACIÓN 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 “nombre” as “tipo de variable”


DIM 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, estarán disponibles para todos los procedimientos del
formulario.
Variables Publicas: se utilizan en todo el proyecto Cuando declaramos una variable como publica e
un modulo de programa o en el formulario inicial, podremos utilizar esta variable en todo el proye

Ejemplo
Public NoFactura as long

Variables Privadas: se utilizan sólo en el procedimiento Estas variables estarán disponibles solo den
de nuestro formulario o procedimiento,
según el lugar donde se haya declarado:
Ejemplo
Dim NoFactura as long

Variables Estáticas: 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 ejecución de la aplicación.
Resumen de Alcance de las
Variables
 
Alcance Declaración

Local Dim, Static (Dentro de un procedimiento)

Módulo Dim o Private (sección de declaraciones del módulo)

Global Public (sección de declaraciones de un módulo)

A nivel del módulo, no hay diferencias entre Dim y private, pero se aconseja
utilizar private en contraste con Public
LAS CONSTANTES

Como su palabra lo dice es Información que no


varía hace más fácil la comprensión del código y
permite modificar un valor en un solo lugar no
ocupa espacio extra, Ejemplo:

Const Mínimo = 1, Máximo = 10


Definición de la constante sin indicar el tipo de dato:
Const [Nombre Constante] = [Valor Constante]
Definición 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 conversión 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 más exacta o para realizar validaciones en los datos.

CBol(expresión) conversión a un valor tipo Boolean

CByte(expresión) conversión a un valor tipo Byte

CCur(expresión) conversión a un valor tipo Currency

CDate(expresión) conversión a un valor tipo Date

CDbl(expresión) conversión a un valor tipo Double

CInt(expresión) conversión a un valor tipo Integer

CLng(expresión) conversión a un valor tipo Long

CSng(expresión)conversión a un valor tipo Single

CStr(expresión) conversión a un valor tipo String

CVar(expresión) conversión a un valor tipo Variant

CErr(expresión) conversión a un valor tipo Error


E/S (Entradas y Salidas) Sencillas

La Función Inputbox()
El valor que devuelve la función es un
valor tipo variant .

La función InputBox muestra un mensaje en un cuadro de


diálogo, espera que el usuario escriba un texto o haga clic
en un botón y devuelve un tipo String con el contenido del
cuadro de texto.
La Función Inputbox()
Mensaje: Consiste de más de una Titulo: Es una
línea, asegúrese de incluir un cadena que se
retorno del carro chr(13) y un despliega en la
avance de línea, chr(10) entre cada barra de titulo el
línea. Puede usar la constante pre cuadro de
definida Vbcrlf para lograr el dialogo. Si se
mismo efecto. omite no
aparecerá nada.
InputBox(Mensaje, titulo, Posx, Posy,
ArchAyuda, Context)

ArchAyuda,
Posx, Posy: Expresiones
Context: Se
numéricas que especifican el
usan para
tamaño de la caja. Si se omite
proporcionar
aparecerá en el centro.
ayuda sensible al
contexto.
E/S (Entradas y Salidas)
Sencillas

MsgBox() y MsgBox Despliega un mensaje en un cuadro de


dialogo y espera que el usuario
seleccione un botón.
MsgBox() y MsgBox

Mensaje: Es una expresión de


cadena que se despliega como el
mensaje en un cuadro de dialogo.

MsgBox(Mensaje, tipo, titulo,


ArchAyuda, Context)

Titulo: Expresión de cadena que


aparece en la barra de titulo del
cuadro.
MsgBox() y MsgBox

MsgBox(Mensaje, tipo, Valor Botón Constante

titulo, ArchAyuda, 0 Ok(Aceptar) VbOKOnly

Context) 1 Ok(Cancelar) VbOKCancel

2 Abortar, Reiterar e Ignorar VbAbortRetryIgnore

3 Si, No y Cancelar VbYesNoCancel

4 Si o No VbYesNo

5 Reiterar y Cancelar VbRetryCancel


Tipo: Expresión numérica que
es la suma de valores que 16 Icono Parada Critica VbCritical

especifican la cantidad y el tipo 32 Signo de Interrogación VbQuestion


de botones por desplegar.
48 Signo de Exclamación VbExclamation

64 Icono de Información VbInformation


SENTENCIAS
CONDICIONALES O
ESTRUCTURAS DE
DECISIÓN

Estas estructuras permiten tomar decisiones


según las condiciones que se den en una
aplicación.
If...Then...End If
La estructura básica de esta
instrucción es la siguiente:
Los corchetes muestran partes
opcionales de la instrucción.

If (Condición) Then
[Instrucciones Verdadero]
Else
[Instrucciones Falso]
End If
If...Then...End If
Condición: Aquí escribiremos la condición a
evaluar, para que el ordenador nos devuelva
una respuesta y según esta respuesta podamos
actuar.

If (Condición) Then
[Instrucciones Verdadero]
Else
[Instrucciones Falso]
End If

[Instrucciones Verdadero]: Aquí pondremos la


instrucción o instrucciones que se deberá realizar si
la respuesta a la condición es Verdadera.
If...Then...End If
Else: Cuando la condición no se
cumple la siguiente instrucción es “si
no”.

If (Condición) Then
[Instrucciones Verdadero]
Else
[Instrucciones Falso]
End If

[Instrucciones Falso]: Aquí pondremos la


instrucción o instrucciones que se deberá realizar
si la respuesta a la condición no se cumple.
End If: Cierra la
sentencia If
Ejemplo If...Then...End If
Vamos a realizar una pequeña aplicación para que el ordenador
nos diga, después de introducir la edad de una persona si es
mayor de edad o no. Consideraremos la mayoría de edad a los
18 años.
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 [Condición] 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
1 If Val(Edad.Text) < 10 Then
que queremos
ahora es que el 2 Comentario.Caption = .Menos de 10 años.
ordenador nos
3 Else
devuelva,
mirando 4 If Val(Edad.Text) < 20 Then
la edad que
5 Comentario.Caption = .Entre 10 y 20 años.
introducimos, si
es menor de 10 6 Else
años, si tiene
7 If Val(Edad.Text) < 30 Then
entre 10 y 20
años, si tiene 8 Comentario.Caption = .Entre 20 y 30 años.
entre 20 y 30
9 Else
años o si es
mayor de 30. 10 Comentario.Caption = .Más de 30 años.
Hasta este
11 End If
momento solo
hemos visto la 12 End If
instrucción If para 13 End If
poder controlar
un caso como el
que planteamos.
Select Case
La estructura básica de esta instrucción es la siguiente:

Select Case [Expresión para comparar]


Case [Expresión 1]
[Instrucciones 1]
...
Case [Expresión n]
[Instrucciones n]
[Case Else]
[Instrucciones Else]
End Select
Select Case
En [Expresión para comparar] pondremos el objeto sobre el cual
queremos preguntar por su valor.

Select Case [Expresión para comparar]


Case [Expresión 1]
[Instrucciones 1]
...
Case [Expresión n]
[Instrucciones n]
[Case Else]
[Instrucciones Else]
End Select

En [Instrucciones 1]
pondremos las En [Expresión 1] escribiremos cual
instrucciones que se es la pregunta que deseamos hacer
realizarán en caso de que sobre el valor escrito
[Expresión 1] sea
anteriormente.
verdadera.
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 [Expresión para comparar]

Case [Expresión 1]

[Instrucciones 1]

...

Case [Expresión n]
[Instrucciones n]
[Case Else]
[Instrucciones Else]
End Select
No olvides, igual que en el caso del If,
cerrar la expresión utilizando End
Select
Ejemplo Select Case

Select Case Val(Edad.Text)


Case < 10
Comentario.Caption = .Menos de 10 años.
Case < 20
Comentario.Caption = .Entre 10 y 20 años.
Case < 30
Comentario.Caption = .Entre 20 y 30 años.
Case Else
Comentario.Caption = .Más de 30 años.
End Select
Ejemplo Select Case

Select Case Val(Edad.Text)


Case > 30
Comentario.Caption = .Más de 30 años.
Case > 20
Comentario.Caption = .Entre 20 y 30 años.
Case > 10
Comentario.Caption = .Entre 10 y 20 años.
Case Else
Comentario.Caption = .Menos de 10 años.
End Select
Ejemplo Estructuras de decisión
El siguiente ejercicio permite señalar el precio de un
producto seleccionado con iva o sin él.

Controles a crear por el programador

Crear un ListBox Crear un botón y llamarlo Crear un Frame e


y llamarlo MostrarPrecio y como insertar dos
ListaObjetos con Caption tendrá Mostrar OptionButton.
5 nombres de Precio. Activa uno de los
diferentes dos OptionButton
objetos que que has insertado
puedas comprar anteriormente.
en
cualquier tienda

Inserta un Label y ponle como nombre Los OptionButton


precio. tendrán por nombre
En dicho Label mostremos el precio ConIVA y como Caption:
del producto seleccionado. Con IVA.
SinIVA y como Caption:
Sin IVA.
Private Sub MostrarPrecio_Click()
Select Case ListaObjetos.ListIndex Nombre del
Case 0 procedimie
nto
If SinIVA.Value = True Then
Precio.Caption = 1000
Else
Estructur Precio.Caption = (1000 * 16 / 100) + 1000
a Select
End If
Case
Case 1
If SinIVA.Value = True Then
Precio.Caption = 2000
Else
Estructur Precio.Caption = (2000 * 16 / 100) + 2000
a If Then End If
Else Case 2
If SinIVA.Value = True Then
Precio.Caption = 3000
Else
Precio.Caption = (3000 * 16 / 100) + 3000
End If
Case 3
If SinIVA.Value = True Then
Precio.Caption = 4000
Else
Precio.Caption = (4000 * 16 / 100) +
4000
End If
Cierre Case 4
estructura if If SinIVA.Value = True Then
Precio.Caption = 5000
Else
Precio.Caption = (5000 * 16 / 100) +
5000
End If
Cierre End Select
estructura End Sub
Select

Cierre
procedimiento
Ejemplo Estructuras de decisión
Private Sub MostrarPrecio_Click()
Nombre del
Select Case ListaObjetos.ListIndex
procedimiento Case 0

Precios = 1000
Estructura Select Case Case 1

Precios = 2000

Case 2

Precios = 3000

Cierre estructura Case 3

Select Precios = 4000

Case 4

Precios = 5000

Estructura If Then Else End Select

If SinIVA.Value = True Then

Precio.Caption = Precios

Cierre estructura if Else

Precio.Caption = Precios + (Precios * 16 / 100)

End If

Cierre procedimiento End Sub


ESTRUCTURAS DE
REPETICIÓN O
ITERACIÓN
Las estructuras de iteración son estructuras que ejecutan una o más
veces un conjunto de sentencias (o una sentencia) un número
determinado de veces, hasta que se cumpla una condición, mientras se
cumpla una condición o hasta que se den ciertas circunstancias que
obliguen a no ejecutar por más tiempo dichas instrucciones.

´Recordemos que las estructuras de selección ejecutaban un bloque de


instrucciones determinado una vez o nunca, dependiento del
cumplimiento de una condición previamente establecida.
Ciclo For... Next
Esta es una estructura de repetición o bucle, la cual depende de un contador que

nos controla el número 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 Valor final de la


escribiremos el nombre de variable. Cuando
la variable que queremos la variable llegue
utilizar como contador. a este valor, el
bucle no se
volverá a realizar.
Número que marcará los
For... Next pasos que debe aumentar el
contador.
Este número puede ser
tanto positivo como
negativo.
For Contador = Inicio To Fin
[Step Incremento]

Esta instrucción es opcional. Si no la


ponemos el contador irá incrementando de
uno en uno. Si especificamos un número
detrás de Step hacemos que nuestro
contador aumente un número 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
Línea que indica que se termina
el bucle y hace que aumente el
contador según el valor que nos
indique step en caso de tenerlo.
Ejemplo For.......Next
Este programa imprime en pantalla el valor en ascii
correspondiente a cada número entre 65 y 90
utilizando la función Chr.

Private sub Command1_click()


For N=65 To 90
Label1.Caption= Chr(N)
Print Chr(N)
Next N
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 condición determinada,
momento en el cual se sale del ciclo.
Es preciso tener en cuenta que primero se
evalúa la condición y si se llega a cumplir
no se entra al ciclo.
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 iteración es similar a la


estructura “DO – UNTIL - LOOP”, con la
diferencia que primero se ejecuta el bloque
de instrucciones(o la instrucción) y
posteriormente se evalúa la condición. En
caso de cumplirse la condición 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 sólo es
posible basarse en una condición para
salir de un ciclo de iteración como el DO
– WHILE, sino que también se puedes
utilizar alguna condición de selección
incorporada en el grupo de sentencias
del ciclo, de tal suerte que cuando se
cumpla, también se salga del ciclo de
iteración.
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
Ciclo While………Wend

Un bucle es una sucesión repetitiva de


instrucciones, que se están utilizando
mientras se cumpla una condición o
mientras no se cumpla una condición.

Mientras Condición
Instrucciones
Fin del bucle
Ciclo While………Wend
Aquí escribiremos la condición mientras la
cual queremos que se repitan las
instrucciones.
While Condición
Instrucciones
Wend

Una vez se Aquí escribiremos la o las


cumpla la
condición finaliza instrucciones que
el bucle. queremos que se repitan.
Ejemplo While………Wend
El siguiente programa imprime en
pantalla los números 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
continuación también es posible
decirle a visual Basic que repita una
serie de instrucciones mientras se
presente una determinada condición.
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

También 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
evalúe la condición.
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
Gracias por su atención

Você também pode gostar