Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Visual Basic UPV Quimica 2007 PDF
Visual Basic UPV Quimica 2007 PDF
FUNDAMENTOS DE
PROGRAMACIN
VISUAL
BASIC
FUNDAMENTOS DE PROGRAMACIN
EN VISUAL BASIC
1.- INTRODUCCIN. QU ES VISUAL BASIC
Visual Basic es un HERRAMIENTA SOFTWARE que permite desarrollar aplicaciones
Microsoft Windows. Son aplicaciones de interaccin sencilla con el usuario.
Visual Basic est ORIENTADO A EVENTOS/OBJETOS (lo cual quiere decir que el
cdigo no se activa hasta que se llama como respuesta a un evento, por ejemplo Click de
botn, Seleccin de un men, ). NO SUCEDE NADA HASTA QUE SE DETECTA UN
EVENTO.
Cuando se detecta un evento, el cdigo correspondiente a dicho evento (procedimiento de
evento) es ejecutado.
Evento?
Cdigo
Basic
Cdigo
Basic
Procesador de eventos
Cdigo
Basic
Procedimientos
De eventos
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
Compilador ms rpido
Nuevo objeto de control de datos ActiveX
Permite integracin de la base de datos con un gran nmero de aplicaciones
Nuevo creador de informes
Nuevo auxiliar New Package & Deployment
Ms capacidades para Internet
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
Form 2 (.FRM)
Form 3 (.FRM)
Control
Control
Control
Control
Control
Control
Control
Control
Control
Module 1 (.BAS)
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
Puntero
Label (lbl)
Frame (frm)
PictureBox (pic)
TextBox (txt)
CommandButton (cmd)
OptionButton (opt)
ComboBox (cbo)
ListBox (lst)
HorizontalScrollBar (hsb)
Timer (tmr)
DirListBox (dir)
Shapes (shp)
Image (img)
VerticalScrollBar (vsb)
DriveListBox (drv)
FileListBox (fil)
Lines (lin)
DataTool (data)
OLE (ole)
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
Para cambiar de tamao un control, hacer click en el objeto para que aparezcan los punteros
manejadores de tamao. Utilizarlos.
Haga Click
aqu para
mover el
objeto
Utilice los
manejadores de
tamao
5.- QU ES UN PROGRAMA
Un programa es una coleccin de instrucciones. En Visual Basic las instrucciones se integran
en PROCEDIMIENTOS (aquellos que empiezan son Sub nombreProcedimento y terminan
con End Sub).
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
10
9.2.-NOMBRES DE VARIABLES
Deben ser lo ms cortos y significativos posibles.
11
Clase
Rango de valores
N enteros
N enteros
N enteros
0..255
-32768 .. + 32768
-2147483658 ..
+2147483658
N con 8 dgitos en total
N con 16 dgitos en total
15 dgitos enteros + 4
decimales
True o False
Desde 1 de Enero del ao
100 hasta el 31 de Diciembre
del ao 9.999.
Hora desde 0:00:00 hasta
23:59:59
Cadenas de hasta 2.000
millones de caracteres
Acepta todos los tipos
SINGLE
DOUBLE
CURRENCY
N decimales
N decimales
Decimales Monedas
BOOLEAN
DATE
Valores lgicos
Valores de Tiempo y
Hora
Texto
STRING
VARIANT
formato mm/dd/aa)
Con otros formatos:
miFecha=@23 9 03#
miFecha=#23 September 03#
miFecha=#23 Sept 03#
miFecha=#23,9,03#
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
12
Suma
Resta
Multiplicacin
Divisin con decimales
Divisin sin decimales o Divisin Enteros (29\5 = 5)
Potencias y races
Operador del Resto de una Divisin (29 Mod 5 =4)
Mod
+
OPERADOR OPERACIN
*y/
\
Mod
+y-
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
13
11.2 .- OPERADORES
COMPARACIN)
RELACIONALES
(O
DE
OPERADOR OPERACIN
=
<, >
<=, >=
<>
Igual a
Menor que, Mayor que
Menor o igual que, Mayor o igual que
Distinto que
+
OPERADOR
Not
And
Or
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
14
OPERACIN RESULTADO
V and V
V and F
F and V
F and F
V or V
V or F
F or V
F or F
Not V
Not F
VERDADERO
FALSO
FALSO
FALSO
VERDADERO
VERDADERO
VERDADERO
FALSO
FALSO
VERDADERO
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
15
A) ESTRUCTURAS DE DECISIN
Existen 3 estructuras distintas:
1. De una rama (If...Then)
If condicion Then
sentencia(s)
End If
Ejemplo1:
If cualquierFecha < Now Then
CualquierFecha = Now
Timer1.Enabled = False Desactiva el control Timer.
End If
Ejemplo2:
If chkAlumnoUNI.Value=1 Then
txtCosto = Format (txtCosto*0.70,Fixed)
txtCdigo.Enabled = True
End If
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
16
2. De 2 ramas (If...Then...Else)
If condicion Then
sentencia(s)
Else
sentencia(s)
End If
Ejemplo1:
If Numero < 10 Then
Digitos = 1
Else
Digitos = 3
End If
Ejemplo2:
If a < b Then Se permutan a y b
temp = a
a=b
Else
temp=b
B=a
End If
If condicion1 Then
sentencia1
Else
If condicion2 Then
sentencia2
Else
sentencia-n
End If
End If
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
17
Ejemplo1:
If Val (txtPromedio) >=13 Then
txtCondicin = Aprobado
Else
If Val (txtPromedio) >= 10 Then
txtCondicin = Asistente
Else
txtCondicin = Desaprobado
End If
End If
Ejemplo2:
If Ventas > 100000 Then
strDscto = Format (0.10, Fixed)
Else
If Ventas > 50000 Then
strDscto = Format (0.05, Fixed)
Else
strDscto = Format (0.02, Fixed)
End If
End If
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
18
b) Select Case:
Ejemplo2:
Select Case Cantidad
Case 1
sngDscto = 0.0
Case 2, 3
sngDscto = 0.05
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
19
Case 4 To 6
sngDscto = 0.10
Case Else
sngDscto = 0.20
End Select
B) ESTRUCTURAS DE REPETICIN
Existen 3 estructuras distintas:
1. Repetitiva MIENTRAS (0-n veces) While/Loop
VERDADERO
FALSO
CONDICION?
VERDADERO
CONDICION?
FALSO
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
20
Do While condicin
Sentencias
[exit Do]
Loop
Cuando Visual Basic ejecuta este bucle Do, primero evala condicin. Si
condicin es False (cero), se salta todas las sentencias. Si es True (distinto de
cero) Visual Basic ejecuta las sentencias, vuelve a la instruccin Do While y
prueba la condicin de nuevo.
Por tanto, el bucle se puede ejecutar cualquier nmero de veces, siempre y cuando
condicin sea distinta de cero o True. Nunca se ejecutan las sentencias si
condicin es False inicialmente.
Ejemplo1:
Counter=1
Do While Counter<=1000
Debug.Print Counter
Counter=Counter+1
Loop
Si la cadena destino no est en la otra cadena, InStr devuelve 0 y no se ejecuta el
bucle.
Una variable de este caso (y que hace exactamente lo mismo) es la estructura
Until/Loop:
Ejemplo2:
Counter=1
Do Until Counter>1000
Debug.Print Counter
Counter=Counter+1
Loop
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
21
A
VERDADERO
CONDICION?
FALSO
Do
Sentencias
[exit Do]
Loop While condicin
Ejemplo1:
Sum=1
Do
Debug.Print Sum
Sum=Sum+3
Loop While Sum<=50
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
22
Sum=1
Do
Debug.Print Sum
Sum=Sum+3
Loop Until Sum>50
3. Repetitiva FOR..NEXT
23
End Sub
For Each...Next
Sub ListTableDefs ( )
Dim objDb As Database
Set
objDb
=
OpenDatabase("c:/Archivos
programa/Devstudio/" & _
"vb/biblio.mdb", True, False)
For Each TableDef In objDb.TableDefs ( )
List1.AddItem TableDef.Name
Next TableDef
End Sub
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
de
24
25
Escribiendo software para juegos y aprendizaje, utilizamos la funcin Rnd para crear
sucesos aleatorios. As conseguimos diferentes resultados cada vez que ejecutamos un
programa. La funcin Rnd de VB nos devuelve un nmero aleatorio de precisin simple
entre el 0 y el 1 (en realidad, mayor o igual a cero y menor que 1). Para crear nmeros
enteros (I) entre Imin e Imax, usaramos la siguiente frmula:
I = Int((Imax - Imin + 1) * Rnd) + Imin
Este nmero aleatorio generado por VB tiene que tener un punto de partida, una semilla
que inicialice el generador. Para ello se utiliza la sentencia Randomize de la siguiente
manera:
Randomize semilla
Si se usa la misma semilla cada vez que se ejecuta la aplicacin, se generar la idntica
secuencia de nmeros aleatorios. Para asegurarnos de que Rnd nos devolver diferentes
nmeros cada vez que usemos el programa, conviene que la semilla sea la funcin Timer:
Randomize Timer
Esta sentencia debera ir en el procedimiento de evento Form_Load.
Ejemplos: Para tirar un dado de seis caras (un nmero entre 1 y 6):
NmeroTirada = Int(6 * Rnd) + 1
Para conseguir un nmero entre 100 y 200:
Nmero = Int(101 * Rnd) + 100
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
26
Botones
Aceptar
Aceptar /Cancelar
Anular/Reintentar/Ignorar
S/No/Cancelar
S/No
Reintentar/Cancelar
Constante Simblica
vbOKOnly
vbOKCancel
vbAbortRetryIgnore
vbYesNoCancel
vbYesNo
vbRetryCancel
Significado
Sin icono
Icono Critical
Interrogacin
Exclamacin
Constante Simblica
(None)
vbCritical
vbQuestion
vbExclamation
Fundamentos de Informtica
Visual Basic
27
64
Informacin
vbInformation
El tercer componente de Tipo especifica cul es el botn por defecto (que se activar al pulsar
Enter):
Valor
0
256
512
Constante Simblica
vbDefaultButton1
vbDefaultButton2
vbDefaultButton3
Significado
Modal a la Aplicacin
Modal al Sistema
Constante Simblica
vbApplicationModal
vbSystemModal
Si la caja es Modal a la Aplicacin, el usuario tiene que responder a la caja antes de poder
continuar con la aplicacin en curso. Si la caja es Modal al Sistema, todas las aplicaciones
esperan hasta que el usuario responda a la caja de mensaje.
En cada opcin de Tipo se pueden manejar igualmente los valores numricos o las constantes
simblicas. Sin embargo es muy recomendable utilizar las constantes, por claridad en el
cdigo.
El valor que devuelve la caja de mensaje cuando se usa como funcin est relacionado con el
botn pulsado:
Valor
1
2
3
4
5
6
7
Botn seleccionado
Aceptar
Cancelar
Anular
Reintentar
Ignorar
S
No
Constante Simblica
vbOK
vbCancel
vbAbort
vbRetry
vbIgnore
vbYes
vbNo
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
28
En realidad estamos muy acostumbrados a ver cajas de mensaje al utilizar cualquier aplicacin
en Windows. Recuerda algn caso. Por ejemplo se suelen utilizar cajas de mensaje para
preguntar si se quiere grabar antes de salir o para avisar de que la disketera no est lista.
13.1.2. INPUTBOX
Otra funcin de VB.
introduzca un valor.
Cuando se usa como sentencia, no devuelve ningn valor (solamente se muestra la caja):
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
29
Una picture box nos permite poner informacin grfica en un formulario. Est preparada
para entornos dinmicos, por ejemplo en animacin.
Las picture boxes forman parte de la capa superior. Se comportan como si fueran pequeos
formularios dentro de un formulario, ya que tienen casi las mismas propiedades que el
formulario.
Propiedades de Picture Box:
AutoSize
Font
Picture
Ejemplos
picEjemplo.Cls ' limpia la caja llamada picEjemplo
picExample.Print "una picture box" ' visualiza la cadena en la picture box
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
30
Icon
Metafile
JPEG
GIF
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
31
Una image box se parece mucho a una picture box porque tambin sirve para situar grficos
dentro de un formulario. Las image boxes se utilizan en casos estticos, es decir, cuando no
se va a modificar el grfico presentado.
Las image boxes forman parte de la capa intermedia, por lo que pueden verse tapadas por
picture boxes y otros objetos. Los grficos de una image box pueden cambiar de tamao
mediante la propiedad Stretch.
Propiedades de Image Box:
Picture
Stretch
No tiene mtodos, pero usa la funcin LoadPicture de la misma manera que picture box. Y
puede cargar el mismo tipo de ficheros grficos: ficheros de bitmap (.bmp), de iconos (.ico),
metaficheros (.wmf), ficheros GIF (.gif), y ficheros JPEG (.jpg).
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
32
PictureBox
Herramienta n 2
Permite albergar:
Mapas de bits (.bmp)
Iconos (.ico)
Archivos
Fotos .jpg o .gif
Tambin puede presentar texto y actuar como
contenedor visual para otros controles
Image
Herramienta n 19
Permite albergar:
Mapas de bits (.bmp)
Iconos (.ico)
Archivos
Fotos .jpg o .gif
No acta como un contenedor
Puede actuar como un Botn de comando (se
puede hacer Click en ella y conseguir que se
ejecute un evento)
Para cambiar su tamao de modifica la
propiedad .Strech a True
Al modificar la Strech la imagen adquiere
el tamao del control en el que est
contenida, es decir, se ajusta. SE VE
TODA LA IMAGEN (por eso se suele
emplear ms este control que el anterior)
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
33
Matriz QUIMICA
a b c . . .
0 1 2
z
35
QUIMICA(35)
En Visual Basic la forma de crear esta matriz sera la siguiente:
Dim Quimica(35) As String
Cada una de las posiciones de una matriz puede contener cualquier tipo de dato de los que
hemos visto (integer,Byte,String )
Vamos a estudiar 2 tipos de matrices:
a) Estticas (que a su vez se dividen en Unidimensionales y Multidimensionales)
b) Dinmicas
a) Estticas Unidimensionales
Ejemplo: Dim contadores(14) As integer
Dim Suma(20) as Double
Estticas Multidimensionales
Ejemplo: Dim matriz(3,3) As double
Se crea una estructura de 2 dimensiones.
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
34
b) Dinmicas.
Ejemplo: Dim matrizDinamica() As Integer
Para que el usuario tenga un interfaz estndar en las operaciones ms tpicas de Windows,
Visual Basic tiene un grupo de cajas de dilogo habituales (common dialog boxes).
El control Common Dialog no aparece por defecto en la configuracin inicial de Visual Basic,
tenemos que aadirlo nosotros. Esto se hace por las opciones de men Proyecto
Componentes y eligiendo Microsoft Common Dialog Control.
La herramienta common dialog, aunque aparezca en el formulario como un control de tamao
fijo, no se ve en tiempo de ejecucin, y no se puede controlar dnde aparecer dentro de la
pantalla. Para que se active es necesario llamar en tiempo de ejecucin a uno de los cinco
mtodos Show que existen. Estos mtodos son:
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
35
Metodo
ShowOpen
ShowSave
ShowColor
ShowFont
ShowPrinter
Para activar un common dialog box de nombre cdlEjemplo con la utilidad de Abrir un
Fichero, haramos:
cdlEjemplo.ShowOpen
Despus de cerrar la caja de dilogo, el control vuelve a la lnea siguiente a esta. Las common
dialog boxes son modales al sistema.
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
36
Ejemplos
frmExample.Cls ' limpia el formulario
frmExample.Print "Esto se ver en el formulario "
Fundamentos de Informtica
Visual Basic
Created with novaPDF Printer (www.novaPDF.com)
37