Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual Basico Visual Basic
Manual Basico Visual Basic
Manual Bsico de
Programacin en Visual Basic
1.- Estructura de un proyecto Visual Basic
Los programas o aplicaciones desarrolladas en Visual Basic van a constituir un nico paquete que
denominaremos proyecto. A su vez, un proyecto presenta una estructura que puede ser resumida mediante el
siguiente esquema:
Proyecto: se almacena en un archivo con extensin .vbp o .mak. A su vez puede estar constituido por
dos tipos de elementos:
Formularios: son archivos que extensin .frm que contienen cada una de las ventanas que
forman parte de nuestro proyecto a aplicacin. En un formulario podemos encontrar los
siguientes elementos:
Objetos de Windows: botones, cajas de texto, etiquetas de texto, imgenes,
temporizadores, etc.
Cdigo de programa: que puede ser dividido en tres grandes grupos:
9 Declaraciones de variables y tipos visibles a nivel de formulario.
9 Funciones y procedimientos generales.
9 Procedimientos asociados a eventos ocurridos en los distintos objetos que forman
parte del formulario.
Mdulos: son archivos con extensin .bas que contienen cdigo de programa, es decir,
variables, procedimientos o funciones que pueden ser utilizadas en cualquier punto del proyecto,
son por tanto, variables, procedimientos o funciones globales.
El proceso de trabajo ser el siguiente:
1.- El primer paso, ser tener claro, ya sea mentalmente o mediante un esquema, qu es lo que queremos
conseguir con nuestra aplicacin.
2.- Crear una carpeta en la que almacenaremos todos los archivos que constituyen el proyecto.
3.- Para cada una de las aplicaciones que creemos se deber abrir un proyecto nuevo.
4.- En dicho proyecto insertaremos los formularios y mdulos que sean necesarios.
5.- En cada uno de los formularios se debern aadir los objetos que precise la aplicacin.
Pgina: 1
6.- Se escribir el cdigo de programa asociado a cada uno de los eventos que puedan ocurrir en el
funcionamiento normal de la aplicacin, para que sta pueda cumplir con el objetivo o fin establecido.
7.- A la hora de cerrar el proyecto se debern guardar y dar nombre a los siguientes tipos de archivos:
o El proyecto en s, que ser un archivo con extensin .vbp o .mak. Como hemos apuntado este
ser el archivo que contiene la estructura de nuestro proyecto, es decir, almacena el nombre y la
ubicacin de los formularios y mdulos que constituyen la aplicacin.
o Los formularios, es decir, cada una de las ventanas que podrn ser mostradas por el programa
o aplicacin. Recuerda que este tipo de archivos se identifican por la extensin .frm.
o Los mdulos, archivos que contienen variables, procedimientos o funciones globales. Son
reconocibles gracias a su extensin .bas.
Cuadro de
herramientas
Ventana de proyecto
Ventana de propiedades
Formulario de trabajo
Ventana de posicin
Pgina: 2
Pgina: 3
Cada objeto cuenta con una serie de parmetros que se muestran en la Ventana
de propiedades. Dichas propiedades pueden ser modificadas durante el diseo del
formulario y posteriormente mediante programa. Destacamos a continuacin las ms
importantes
9 Caption: contiene el texto o etiqueta que se mostrar en el objeto.
9 (Nombre): nombre del objeto. Conviene dar un nombre a cada objeto que nos
ayude a recordar su finalidad.
9 Text: contiene el texto asociado a determinados objetos. No confundir con la
etiqueta que lo acompaa, que se guarda en la propiedad Caption.
9 Value: contiene un valor asociado a determinados objetos.
Cuando necesitemos acceder, en nuestro cdigo, a la propiedad de un objeto, deberemos escribir en
primer lugar el nombre del objeto, a continuacin un punto y por ltimo el nombre de la propiedad. Se seguir por
tanto la siguiente sintaxis:
NombreObjeto.Propiedad
Adems, cada objeto introducido en el formulario cuenta con una serie de procedimientos que se
ejecutarn cuando ocurra un determinado suceso o evento. Si hacemos doble clic en un objeto, surgir la
ventana de cdigo, abriendo la lista desplegable de la derecha se mostrar los distintos sucesos asociados a
dicho objeto. Dichos procedimientos siguen la siguiente estructura:
Private Sub NombreOjbeto_Suceso ( )
En el interior de los mismos se puede escribir el cdigo que se ejecutar cuando ocurra dicho suceso.
Pgina: 4
RANGO
Desde 1 hasta 0
TAMAO
1 bit
1 byte
2 bytes
Desde
2147483648
2147483647
Desde 1.401298 10-45
3.402823 1038
hasta
3 bytes
hasta
4 bytes
8 bytes
8 bytes
8 bytes
8.- Operadores
Para conseguir la mayora de las operaciones que un programa necesita es necesario construir
expresiones, que en base a unos operandos y operadores se resolvern en un resultado. Los operandos pueden
ser nmeros, cadenas, fechas, etc. ya sea en forma literal o de variable.
SINTAXIS
N1 + N2
N1 - N2
N1 * N2
N1 / N2
N1 \ N2
N1 ^ N2
N1 Mod N2
Pgina: 5
DEVUELVE True SI
N1 y N2 son iguales
N1 y N2 son distintos
N1 es menor que N2
N1 es mayor que N2
N1 es menor o igual que N2
N1 es mayor o igual que N2
DEVUELVE False SI
N1 y N2 son distintos
N1 y N2 son iguales
N1 es igual o mayor que N2
N1 es menor o igual que N2
N1 es mayor que N2
N1 es menor que N2
9.- Matrices
En ocasiones necesitamos trabajar con mltiples valores distintos del mismo tipo y relacionados entre s.
Las matrices son variables con un solo nombre pero con mltiples valores, a los que es posible acceder por
medio de un ndice puesto entre parntesis, a continuacin del nombre de la variable. La sintaxis general que
permita declara una variable del tipo matriz es la siguiente:
Dim Nombre_matriz (Lmite_inferior To Lmite_superior) As Tipo_variable
Ejemplo: Dim Medidas ( 1 To 10) As Double
Pgina: 6
Pgina: 7
8.- Se puede observar que dicho procedimiento posee cuatro parmetros de entrada cuyo significado es el
siguiente:
9
9
9
9
Button: nos indica si ha sido pulsado un botn del ratn y cual de ellos.
Shift: indica si ha sido pulsado la tecla Maysculas.
X: coordenada x del puntero del ratn respecto de la esquina superior izquierda del formulario.
Y: coordenada y del puntero del ratn respecto de la esquina superior derecha del formulario.
Pgina: 8
9.- En el interior de dicho procedimiento deberemos escribir el cdigo que mueve la etiqueta hacia la
direccin contraria en la que entra el puntero del ratn en la etiqueta. (No olvide que el procedimiento se
ejecutar en el momento justo que el ratn entre en la etiqueta). Para reconocer el lado del recuadro por
el que entra el ratn, contamos con las siguientes propiedades de la etiqueta:
9 Height: ancho de la etiqueta.
9 Width: alto
9 Left: distancia desde el lado izquierdo del
formulario al lado izquierdo de la etiqueta.
9 Top: distancia desde el lado superior del
formulario al lado superior de la etiqueta.
10.- De manera que el cdigo que debemos introducir
es el siguiente:
Private Sub Etiqueta_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim EscalaX, EscalaY As Integer
EscalaX = Screen.TwipsPerPixelX
EscalaY = Screen.TwipsPerPixelY
'Determinamos las coordenados X e Y del ratn
'respecto del formulario en pixels
X = CInt(X / EscalaX)
Y = CInt(Y / EscalaY)
'El ratn entra por la izquierda
If X = 0 Then
Etiqueta.Left = Etiqueta.Left + 25
End If
'El ratn entra por la derecha
If X = Etiqueta.Width - 1 Then
Etiqueta.Left = Etiqueta.Left - 25
End If
'El ratn entra por arriba
If Y = 0 Then
Etiqueta.Top = Etiqueta.Top + 25
End If
'El ratn entra por abajo
If Y = Etiqueta.Height - 1 Then
Etiqueta.Top = Etiqueta.Top - 25
End If
End Sub
Pgina: 9
Pgina:
10
9 (Nombre): Reloj
9 Interval: 1000
5.- Haz doble clic sobre el control Timer y escribe la siguiente lnea en el procedimiento Reloj_Timer.
Hora.Caption = Format(Now, "hh:mm:ss")
Pgina:
11
(Nombre): Principal
Caption: Generador de boletos de lotera primitiva
3.- Inserta en la ventana del proyecto una etiqueta de texto y establece los siguientes valores en las
correspondientes propiedades:
(Nombre): Numero
Alignment : Center
BorderStyle: 1 Fixed Single
Caption: 0
Font: Arial, Negrita y tamao = 20.
4.- A continuacin crearemos una matriz de objetos label. Haz clic sobre la ventana del proyecto para
seleccionarla y ahora vuelve a activar la etiqueta que acabas de insertar, ahora abre el men
Edicin y elige la opcin Copiar.
5.- Ahora haz clic sobre el men Edicin y selecciona la lnea Pegar. Aparecer una ventana que nos
pregunta: Ya existe un control llamada nmero. Desea crear una matriz de controles?
Responde afirmativamente y vers como ahora contamos con dos etiquetas en nuestro proyecto.
Numero(0): la etiqueta original que ha sido renombrada utilizando al formar parte de una matriz.
Se identifica con el ndice 0.
Numero(1): la etiqueta recin integrada en nuestro proyecto, identificada con el ndice 1.
(Nombre): Generar
Caption = &Generar Combinacin (observa como el smbolo & se traduce en subrayar la letra G,
lo que permitir posteriormente al usuario activar dicho botn mediante la combinacin de teclas
Alt + G)
Pgina:
12
9.- El siguiente paso es introducir el cdigo de programacin que permitir generar de manera aleatoria
una combinacin de la lotera primitiva, recuerda que se debern aparecer 6 nmeros elegidos al
azar entre el 1 y el 49 sin que se repita ninguno. Todo ello debe ocurrir cuando el usuario haga clic
en el botn.
10.- Haz doble clic en el botn Generar Combinacin para mostrar la ventana de programacin.
11.- En el interior del procedimiento Private Sub Generar_Click() introduce el cdigo de
programacin correspondiente, teniendo en cuenta los siguiente aspectos:
9 Cdigo para generar un nmero aleatorio del 1 al 49: Int((49 * Rnd) + 1)
9 Es necesario generar una semilla, introduce el siguiente cdigo: Randomize Time,
en el procedimiento que se ejecuta cuando se carga la ventana de nuestra aplicacin:
Private Sub Form_Load()
9 Recuerda que no debe evitar mediante programa que se pueda repetir cualquier
nmero.
Pgina:
13
Pgina:
14
Recordemos brevemente las relaciones que se dan en cualquier tringulo rectngulo y que relacionan
tanto sus lados entre s, como los ngulos que forman:
Cajas de texto
Etiquetas
Etiquetas
Marco
Botn de comando
PROPIEDADES:
Cajas de texto:
(Nombre): Cateto1 y Cateto2
Text: (dejar en blanco)
Marco:
(Nombe): Marco
Caption: Valores del tringulo
El ltimo paso ser el de programa el botn de comando de manera que cuando el usuario haga clic en
el mismo aparezcan los valores de la hipotenusa y lo ngulos en las etiquetas correspondiente, para ello se
seguir el siguiente formato:
o Etiqueta Hipotenusa: El valor de la hipotenusa es de __
o Etiqueta Angulos: Los ngulos que conforman el tringulo son: 90, __ y __
Pgina:
15
Cdigo
13
46
48
49
50
51
8
Carcter
4
5
6
7
8
9
Cdigo
52
53
54
55
56
57
Pgina:
16
8.- Siguiendo
los
pasos
anteriores
9.- La mayora de los controles cuenta con el evento GotFocus, el cual se ejecuta cuando dicho
control es enfocado o activado. Mediante este evento marcaremos el texto completo que pueda
existir en las entradas de texto Cateto1 y Cateto2, de manera que el usuario pueda comenzar a
escribir una nueva cifra borrando la anterior.
10.- Sita el cursor en el procedimiento Private Sub Cateto1_GotFocus() haciendo doble clic
sobre la entrada de texto Cateto1 y utilizando la lista desplegable de eventos de la derecha.
11.- El control TextBox cuenta con las siguientes propiedades:
9 SelStart: establece el punto inicial a partir del cual se seleccionar el texto.
9 SelLength: establece el nmero de caracteres que sern seleccionados a partir del indicado
en la propiedad SelStart.
12.- Utiliza las propiedades anteriores para seleccionar todo el texto en cada uno de los controles:
Cateto1 y Cateto2.
Un twip es 1/20 de punto de impresora (1.440 twips equivalen a una pulgada y 567 twips equivalen a un centmetro).
Pgina:
17
Top: en el caso de tratarse de una ventana, distancia desde la arista superior de la pantalla hasta la
arista superior del rectngulo del control. Para cualquier otro tipo de control, estaramos hablando de la
distancia desde la arista superior de la ventana que lo contiene, hasta la arista superior de dicho control.
Sistema de coordenadas de Visual Basic
Visual Basic emplea un sistema de coordenadas en el que el punto inicial (0,0) se encuentra en el vrtice
superior izquierdo del objeto contenedor, ya sea este un form, un frame, etc. A partir de este punto se pueden
trazar dos ejes x e y, de manera que:
La parte positiva del eje X se encuentra a la derecha del punto (0,0).
La parte positiva del eje Y se encuentra por debajo del punto (0,0).
Eje x
(0,0)
Left
Top
Eje y
Heigth
Width
Las unidad de medida empleada por defecto por Visual Basic es el twip, pero podemos cambiar la escala
o el tipo de unidades si utilizamos las siguientes propiedades de los controles:
ScaleMode: establece un valor que indica las unidades de medida de las coordenadas de un objeto.
ScaleHeight: contiene el valor del ancho de un objeto o control especificado en las unidades establecidas
en la propiedad ScaleMode.
ScaleWidht: contiene el valor del alto de un objeto o control especificado en las unidades establecidas en
la propiedad ScaleMode.
Pgina:
18
1.- Abre un proyecto nuevo e inserta en la ventana los siguientes controles, asignando las respectivas
propiedades:
9 Control PicitureBox
:
(Nombre): Pelota
Picture: (selecciona el archivo Pelota.gif que contiene la imagen de la pelota)
ScaleMode: 3-Pixel
ScaleHeight: 72
ScaleWidth: 72
9 Control Timer
:
(Nombre): Reloj
Interval: 10
2.- Define a nivel de formulario, es decir, en el apartado (General) (Declarations) las siguientes
variables: Dim VectorX, VectorY As Integer
3.- Cuando se cargue la ventana (Form_Load) asignaremos el valor 1 a ambas variables, de manera
que inicialmente la imagen de la pelota se desplazar en el sentido positivo, tanto del eje X como
del eje Y.
4.- Programa el Reloj de manera que:
9 La imagen de la pelota se desplace. Basta con sumar a la propiedad Left del control Pelota, el
valor del vector X. Igualmente se deber sumar a la propiedad Top de dicho control, el valor del
vector Y.
9 Se comprobar si la imagen ha chocado con cada uno de los cuatro bordes de la ventana. Por
ejemplo, sabremos que la pelota ha chocado con el lmite inferior si: la suma de la propiedad Top
y la propiedad ScaleHeight del control PictureBox, es igual al ancho de la ventana, que podemos
encontrar en su propiedad ScaleHeigth. En ese momento la pelota debe rebotar hacia arriba,
bastar con cambiar el valor del vector Y, es decir, pasar de 1 a -1.
5.- Completa el cdigo de programa con la deteccin del rebote en los otros laterales de la ventana y
habrs diseado una pelota que no para de rebotar nunca.
6.- A estas alturas ya te habrs dado cuenta, que el primer paso ser detectar el sentido del
desplazamiento de la pelota, para ello deberemos preguntar qu valores tienen los vectores X e Y.
Pgina:
19
Pgina:
20