Ventanas, Eventos y mensajes
• Ventanas: Es una región rectangular con sus
propios límites. Cualquier icono, cuadro de texto,
etiqueta etc son ventanas. Cada ventana está
identificada por medio del hWnd.
• Evento: Cualquier signo de actividad que se
produzca en una ventana. Puede ser provocado por
el usuario o por programa.
• Mensaje: es la forma por la que se notifica al S.O.
que ha ocurrido un evento, para que este lo
procese y lo transmita a las ventanas. Las ventanas
al recibir el mensaje realizan alguna acción de
acuerdo con las instrucciones asociadas al evento.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Introducción al Visual Basic
• Diferencias a nivel de programación entre la
programación clásica, orientada a objetos y la
programación visual (orientada a eventos).
– Clásica. Estructura el código de forma secuencial y
modular.
- Orientada a Objetos. Se definen clases, se crean e usan
objetos de distintas clases y éstos poseen los métodos y
las propiedades que permiten tratar la información. Los
objetos también son capaces de recibir eventos.
– Programación Visual. Es el híbrido entre la programación
tradicional y la orientada a eventos. Este es el caso del
Visual Basic.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Fases de creación de un programa en Visual Basic
• Crea la interfaz de usuario. Mecanismo o vía de
comunicación hombre-máquina.
• Definen las propiedades de los controles.
Determina la ergonomía y la estética de la
aplicación.
• Genera el código asociado a los eventos.
• Genera el código del programa: módulos con
funciones y/o procedimientos genéricos no
asociados a controles.
• Se pueden crear clases de objetos que
proporcionen acceso a los datos y/o tratamientos.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Anatomía de una interfaz Windows
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Elementos de la interface de aplicación:
•
•
•
•
•
•
•
•
Las ventanas.
Formularios.
Menús textuales.
Barra de botones.
Barra de estado.
Menús emergentes.
Controles.
Objetos gráficos.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Controles básicos
PictureBox.
Label
TextBox
Frame
CommandBotton.
CheckBox
OptionBox
ComboBox
ListBox.
Scroll
Visual Basic. El Lenguaje.
Timer
DriveListBox
DirListBox
FileListBox
Image
Data
....
Miguel Ángel Manso Callejo
Control y Objeto
– Un control es una herramienta que se utiliza para crear
objetos dentro de un formulario (ventana) de Visual
Basic. Podrá seleccionar los controles contenidos en el
cuadro de herramientas y utilizarlos para dibujar objetos
en un formulario utilizando, simplemente, el ratón.
– Objeto es el nombre que reciben los elementos de la
interfaz de usuario. Podrá moverlos, modificar su tamaño
y adaptarles a sus gustos personales, para lo cual utilizará
las propiedades. Los objetos proporcionan funcionalidades
que son inherentes al tipo de control u objeto: saben
cómo tienen que funcionar y pueden responder a ciertas
situaciones de forma <<natural>> .
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Propiedad, procedimiento de suceso
• Una propiedad es un valor o una característica que pertenece
a un objeto de Visual Basic. Son propiedades el rótulo
asociado a una etiqueta (Caption) o el color del primer plano
(foreColor) de un texto.
• Un procedimiento de evento es un bloque de código que se
ejecutará cuando desde el programa se haga referencia a él
o cuando se active un determinado objeto. Por ejemplo,
cuando el usuario pulse con el ratón el botón de orden en un
programa, se pondrá en marcha el procedimiento de evento
denominado Command1_Click. Los procedimientos de evento
evalúan las condiciones y, según éstas, definen las
propiedades y utilizan otras sentencias del programa para
llevar a cabo la tarea asignada al programa.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Sentencia y Variable
• Una sentencia o instrucción de un programa es una palabra
clave de código que lleva a cabo una determinada tarea. Las
sentencias de Visual Basic, entre otras importantes tareas,
pueden: crear espacio de almacenamiento para los datos,
abrir archivos, realizar cálculos, etc.
• Una variable es un <<contenedor>> especial utilizado para
almacenar datos de forma temporal durante la ejecución de
un programa. El programador crea variables para almacenar
los resultados del cálculo, crear nombres de archivos,
procesar la entrada de datos, etc. En general, una variable
puede almacenar números, nombres, valores de propiedades y
algunos otros tipos de datos.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Método y Función
• Un método es una sentencia especial que lleva a cabo una
acción o servicio para un objeto particular dentro de un
programa. La sintaxis que deberá utilizar para invocar un
método dentro de un programa es la siguiente:
Objeto.metodo (valores o parámetros)
• Una función es una sentencia que realiza una determinada
tarea y después devuelve un resultado al programa. El valor
devuelto por la función puede asignarse a una variable o bien
puede asignarse a una propiedad, a otras sentencia o como
dato de entrada de otras funciones. Las funciones de Visual
Basic utilizan, a menudo, uno o más argumentos para definir
su actividad. Cuando una función utilice dos o más
argumentos, dichos argumentos se separarán por comas y el
grupo completo de argumentos se encerrará entre
paréntesis.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
El Lenguaje
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Conceptos básicos.
• Reglas de codificación:
– División de una instrucción en varias líneas. ( _ )
– Combinar varias instrucciones en una línea. ( : )
– Agregar comentarios al código. ( ‘ )
• Sistemas de numeración:
– Decimal.
– Hexadecimal. ( &H )
– Octal. ( &O )
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Convenios de nomenclatura de variables.
• Comenzar por letra. Longitud menor de 256
caracteres.
• Nombres descriptivos.
• Comenzar con mayúscula.
• No utilizar nombres claves como nombre de
variables.
• Comenzar con abreviatura del tipo de la variable.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Tipos de Datos predefinidos
Booleana
Byte
Integer
Long
Single
Doble
Currency
String
Date
Objet
Variant
(2)
(1)
(2)
(4)
(4)
(8)
(8)
(*)
(8)
(4)
(**)
%
&
!
#
@
$
Admite los valores 0 y 1, o True y False
Números enteros, en el rango de 0 a 255
Enteros en el rango de -32768 a 32767
Enteros de -2147483648 a 2147483647
Punto flotante, simple precisión
Punto flotante, doble precisión.
Entero punto decimal fijo (Típico de monedas)
Cadenas alfanuméricas
Fechas
Referencia a objetos
Otros tipos de datos
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Declaraciones de variables y constantes
Tipos de declaraciones de variables
Dim:
Private:
Public:
Global:
Static:
• Constantes:
– Const
• Error en la declaración de variables:
– Dim var1, var2, ... ,varN As Integer
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Funciones de conversión de tipos de datos:
Cbool
Cbyte
Ccur
Cdate
CDbl
Cint
CLng
CSng
CStr
Cvar
CVErr











Visual Basic. El Lenguaje.
Boolean
Byte
Currency
Date
Bouble
Integer
Long
Single
String
Variant
Error
Miguel Ángel Manso Callejo
Operadores aritméticos:
+
*
/
\
Mod
^
Suma
Resta
Multiplicación
División
División sin decimales
Resto de una división
Eleva a un exponente
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Operadores Lógicos
And
Or
Xor
Función AND
Función OR
Función XOR
Eqv
F. Equivalente
Imp
Implicación
Not
Like
Negación
Igualdad
Visual Basic. El Lenguaje.
A=True y B=True
A=True o B=True
A=True y B=False
A=False y B=True
A=True y B=True
A=False y B=False
A=True y B=True
A=False y B=True
A=False y B=False
A=False
A=True
Cualquier otro caso
A=False y B=False
A=True y B=True
A=False y B=False
A=True y B=False
A=False y B=True
A=True y B=False
A=True
A=False
Miguel Ángel Manso Callejo
Funciones matemáticas.
Cint
Abs
Sgn
Sqr
Exp
Log
Sin
Cos
Tan
Atn
Timer
Devuelve
Devuelve
Devuelve
Devuelve
Devuelve
Devuelve
Devuelve
Devuelve
Devuelve
Devuelve
Devuelve
la parte entera de un número con decimales
el valor absoluto de un número
el signo de un número
la raíz cuadrada de un número
el número elevado al exponente indicado
el logaritmo natural de ese número
el valor del seno de un ángulo
el coseno de un ángulo
la tangente de un ángulo
un arco cuya tangente sea el número
el tiempo (sg) que ha pasado desde las 12 de la noche.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Funciones Derivadas
Secante
Cosecante
Cotangente
Seno -1
Coseno -1
Secante -1
Cosecante -1
Cotangente -1
Sec(X) = 1 / Cos(X)
Cosec(X) = 1 / Sin(X)
Cotan(X) = 1 / Tan(X)
Arcsin(X) = Atn(X / Sqr(-X * X + 1))
Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
Arcsec(X) = Atn(X / Sqr(X * X – 1)) + Sgn((X) – 1) * (2 * Atn(1))
Arccosec(X) = Atn(X / Sqr(X * X – 1)) + (Sgn(X) – 1) * (2 * Atn(1))
Arccotan(X) = Atn(X) + 2 * Atn(1)
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Funciones Derivadas
Seno hiperbólico
Coseno hiperbólico
Tangente hiperbólica
Secante hiperbólica
Cosecante hiperbólica
Cotangente hiperbólica
Seno hiperbólico -1
Coseno hiperbólico -1
Tangente hiperbólica -1
Secante hiperbólica -1
Cosecante hiperbólica -1
Cotangente hiperbólica -1
Logaritmo en base N
Visual Basic. El Lenguaje.
HSin(X) = (Exp(X) – Exp(–X)) / 2
HCos(X) = (Exp(X) + Exp(–X)) / 2
HTan(X) = (Exp(X) – Exp(–X)) / (Exp(X) + Exp(–X))
HSec(X) = 2 / (Exp(X) + Exp(–X))
HCosec(X) = 2 / (Exp(X) – Exp(–X))
HCotan(X) = (Exp(X) + Exp(–X)) / (Exp(X) – Exp(–X))
HArcsin(X) = Log(X + Sqr(X * X + 1))
HArccos(X) = Log(X + Sqr(X * X – 1))
HArctan(X) = Log((1 + X) / (1 – X)) / 2
HArcsec(X) = Log((Sqr(–X * X + 1) + 1) / X)
HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X)
HArccotan(X) = Log((X + 1) / (X – 1)) / 2
LogN(X) = Log(X) / Log(N)
Miguel Ángel Manso Callejo
Operaciones con fechas
Date
Time
Now
WeekDay
Day
Month
Year
Hour
Minute
Second
DateAdd
DateDiff
DatePart
DateSerial
TimeSerial
DateValue
Devuelve la fecha de hoy. Esta fecha la toma del reloj del
ordenador.
Devuelve la hora actual.
Devuelve la fecha y hora actual.
Devuelve el día de la semana (En número, 1=Domingo,
2=Lunes,...)
Obtiene el día, a partir de una fecha
Obtiene el mes a partir de una fecha.
Obtiene el año a partir de una fecha.
Obtiene la hora a partir de una hora
Obtiene el minuto a partir de una hora.
Obtiene el segundo a partir de una hora.
Añade un intervalo de tiempo a una fecha
Obtiene el intervalo de tiempo entre dos fechas
Devuelve una parte de una fecha (semana, trimestre, etc.)
Compone una fecha a partir de parámetros relativos
Compone una hora a partir de parámetros relativos.
Devuelve una fecha a partir de un dato que se le parezca y
VB pueda obtener de él una fecha válida
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Funciones de manejo de cadenas de caracteres.
Str()
Left(,)
Mid(,,)
Ucase()
LenB()
Space()
Rtrim()
StrConv()
Visual Basic. El Lenguaje.
Val()
Rigth(,)
Lcase()
Len()
String(,)
Ltrim()
InStr(,)
Split()
Miguel Ángel Manso Callejo
Sentencias de control
Condicionales:
If <condición> Then
....
End If
If <condición> Then
....
Else
....
End If
Visual Basic. El Lenguaje.
If <condición> Then
....
Elseif <condición> Then
....
Elseif <condición> Then
....
Else
....
End If
Select Case var
Case 1
...
Case Is ( operador) xx
....
Case 2
...
Case xx To xx
....
Case N
....
Case Else
....
End Select
Miguel Ángel Manso Callejo
Ejemplo de utilización de las sentencias if else
• Determinar si un punto definido por sus
coordenadas en el plano (x,y) pertenece a un
círculo definido por su centro (xc,yc) y su radio
Dim x As Double, y As Double
Dim xc As Double, yc As Double, radio As Double
Dim DisCentro As Double
DisCentro = sqrt ( (x – xc)^2 + (y –yc)^2)
If DisCentro <= radio Then
msgbox “El punto pertenece al círculo”
Else
msgbox “El punto no pertenece al círculo”
End If
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Ejemplo de utilización condicionales simples
• Se trata de calcular el área de un triángulo
conocidos sus tres lados. ( fórmula de Heron).
Sup = sqr( sp * (sp – a) * (sp – b) * (sp – c))
donde sp = Semiperímetro = (a + b + c)/2
Posible problema: El triángulo no esté definido.
Se dará si sp < a ó sp < b ó sp < c
Dim a As Double, b As Double, c As Double, sp As Double, sup As Double
sp = ( a + b + c ) /2
If sp > a And sp > b And sp > c Then
sup = sqr( sp * (sp – a) * (sp – b) * (sp – c))
msgbox “ La superficie del triángulo es “ & sup
Else
msgbox “ El triángulo no existe”
End If
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Ej. de utilización de if else con múltiples condiciones
• Se pretende determinar si un punto en el plano
pertenece a una región rectangular paralela a los
ejes cartesianos. Se conoce las coordenadas del
punto y las coordenadas mínimas y máximas de la
región en los dos ejes.
Dim x As Double, y As Double
Dim xmax As Double, xmin As Double, ymin As Double, ymax As Double
If x >= xmin And x <=xmax And y >= ymin And y <= ymax Then
msgbox “El punto pertenece a la región”
Else
msgbox “El punto no pertenece a la región”
End If
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Ejemplo de utilización de If Else anidados
• Se trata de mostrar un mensaje indicando a banda
del espectro electromagnético pertenece una
determinada longitud de onda l expresado en mm
Dim l as Single
If l < 0.3 Then
msgbox “Pertenece
ElsIf l < 0.4 Then
msgbox “Pertenece
ElsIf l < 0.5 Then
msgbox “Pertenece
ElsIf l < 0.6 Then
msgbox “Pertenece
Else
msgbox “Pertenece
End If
Visual Basic. El Lenguaje.
al Ultravioleta”
al Azul”
al Verde”
al Rojo”
al InfraRojo”
Miguel Ángel Manso Callejo
Ejemplo de utilización de Select Case
• Se trata de diferenciar una operación matemática
en función del contenido de una variable de tipo
cadena de caracteres, para simular una calculadora
con las funciones + - * /
Dim Operando1 As Double, Operando2 As Double, Resultado As Double
Dim Operación As String
Select case (Operación)
Case “+” : Resultado = Operando1 + Operando2 : break;
Case “-” : Resultado = Operando1 - Operando2 : break;
Case “*” : Resultado = Operando1 * Operando2 : break;
Case “/” : Resultado = Operando1 / Operando2 : break;
Case Else : msgbox “La operación no está definida”
End Select
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Sentencias de Control
Repeticiones:
Do While <condición >
....
Loop
Do
....
Loop While <condición >
While <condición>
....
Wend
Exit Do
Do Until <condición >
....
Loop
Do
....
Loop Until <condición >
For Each elemento In grupo
.....
Next elemento
For <cond inicial > To <cond final > Step ...
.....
Next ...
Exit For
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Ejemplos con las sentencias repetitivas
• Algoritmo que genere los número impares entre el
1 y el 15, mostrándolo mediante una ventana de
mensajes.
Dim i As Integer
For i = 1 To 15 Step 2
msgbox i
Next i
Visual Basic. El Lenguaje.
Valores de i
1
3
5
7
9
11
13
15
Miguel Ángel Manso Callejo
Ejemplos de sentencias repetitivas.
•
Calcular la suma de los
números 3 al 15.
Dim i As Integer
Dim Sum As Long
‘ Se inicializa la variable a 0
Sum = 0
For i = 3 To 15
Sum = Sum + i
Next i
Visual Basic. El Lenguaje.
•
Calcular el producto de los
números 2 al 15.
Dim i As Integer
Dim Prod As Long
‘ Se inicializa la variable a 1
Prod = 1
For i = 2 To 15
Prod = Prod * i
Next i
Miguel Ángel Manso Callejo
Ejemplo de utilización de sentencias repetitivas
•
•
Se pretende determinar si un número es primo o no.
Consideraciones prácticas: Un número será primo si no es divisible
por los números inferiores a él. Hay que probar si es divisible por 2,
3, ... Hasta llegar a el propio valor o por el contrario si se puede
dividir por uno de estos números inferiores no es primo (es
divisible). Se utiliza la operación resto de división entera para saber
si es divisible o no.
Dim Num As Integer, i As Integer
For i = 2 To Num
If (Num Mod i) = 0 Then Exit For
Next i
If i = Num Then
msgbox “El número “ & Num & “ es primo”
Else
msgbox “El número “ & Num & “ no es primo es divisible por “ & i
End If
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Medidas repetidas. Valor más probable y Tolerancias.
• Se trata de construir el programa que determine
la medida más probable de modo que se eliminen
las medidas que superen el umbral de tolerancias
de 2,5 veces el error cuadrático medio. El proceso
se repetirá hasta que todas las medidas estén
dentro de este rango.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Matrices
• Creación:
– Dim matriz( N , M, ...., L ) As tipo
• Establecer límites inferior y superior.
– Dim matriz( x To y, z to w) As tipo
• Conocer límites:
– Lbound() , Ubound()
• Redimensionar matrices.
– Redim matriz( , ..., )...
• Redimensionar preservando valores.
– Redim preserve matriz ( ,.., )...
• Definir primer índice de una matriz
– Option base {0 | 1 }
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Ejemplo de utilización de matrices numéricas
•
Se trata de construir un algoritmo que cree una matriz de números
reales, pida los valores mediante la llamada a la función inputbox, y
calcule la media de los valores almacenados, y también su varianza.
Estos dos datos deben ser mostrados en pantalla.
Dim Num(10) As Double,Media As Double, Varianza As Double
Dim i As Integer
Media = 0 : Varianza = 0
For i=0 To 10
Num(i) = CDbl(inputbox(“Introduzca el valor “ & i ))
Media = Media + Num(i)
Next i
Media = Media / 10
For i = 0 To 10
Varianza = Varianza + (Media – Num(i))^2)
Next i
Varianza = Varianza / 10
msgbox “La media = “ & Media & “ y la Varianza = “ & Varianza
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Ejemplo de utilización de matrices bidimensionales
con bucles anidados.
• Se trata de rellenar una matriz bidimensional de 3
filas * 3 columnas con datos procendentes de
teclado.
Option Base 1
Dim Mat(3,3) As Double
Dim i As Integer, j As Integer
For i = 1 To 3
For j = 1 To 3
Mat(i,j) = CDbl(inputbox “Dato(“ & i & “,” & j & “)
Next j
Next i
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Ejemplo Bucle For (Area de un polígono conocidas las
coordenadas de los vértices)
• Si se dispone de las coordenadas ordenadas de los
vértices de un polígono se puede calcular la
superficie del mismo con la fórmula de Simpson.
• Sean Xi e Yi las coordenadas cartesianas del
vértice i-ésimo.
• Sup = 0.5 * Si ( X i+1 – Xi) * (Y i+1 + Yi)
• Nota: Téngase en cuenta que el último punto debe
cerrar con el primero.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Función InputBox
• La sintaxis de la función es:
InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])
Retorna el valor textual que el usuario ha suministrador por la caja
de texto de la ventana.
Se puede convertir al formato adecuado para almacenarlo en la
variable correspondiente.
Ejemplo:
N = Cint(InputBox("¿Cuantas distancias?", "Nº observaciones"))
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Matrices de controles
• Las matrices de controles permiten agrupar los nombres de
los elementos de la interfaz gráfica de usuario en forma de
matriz para poder gestionarlos más cómodamente en el
código. Tiene sentido utilizar las matrices de controles
cuando lo que se debe ejecutar como consecuencia de un
evento sobre el mismo es similar o se puede adaptar en
función del número asociado a la fila del control.
• Ejemplo: los números de una calculadora.
Se puede crear una matriz de controles
de tipo command Boton llamada Num()
de forma que el índice sea el valor numérico
del botón gráfico.
Cuando se produzca el evento click, al ser una matriz
de controles se dispondrá de dicho índice y se podrá
añadir al display el dígito seleccionado
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Carga/descarga dinámica de controles (en matrices).
• Una ventaja adicional a la hora de utilizar matrices
de controles es que se puede tener un número
variable de ellos cargados y/o visibles.
• Cuando se desea cargar un nuevo elemento de la
matriz de controles se utiliza la instrucción Load, y
para descargarlo la instrucción Unload.
• Ejemplo de carga de 10 controles de tipo TextBox
cuyo primer elemento ya está definido.
Dim i As Integer
For i = 1 To 10
Load MatTextBox(i)
Next i
Inconveniente: Se crea con las mismas propiedades que el primero
existente.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Matrices de controles. Otro ejemplo.
• Se trata de construir una calculadora matricial básica con las
operaciones + - * y Traspuesta. Se desea que pueda manejar
matrices de números compatibles para dichas operaciones,
pero que pueda ser variable en cuanto al número de
elementos de cada dimensión.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Definición de nuevos tipos de datos
• Objetivo: Agrupar bajo un tipo de dato un conjunto
de información que no es homogénea.
• Se define el prototipo de registro que contendrá
los nombres de los campos y los tipos de los
mismos.
Type <nombre_tipo >
<campo > As <tipo_campo >
<campo > As <tipo_campo >
End Type
Declaración de variable
Dim Director As Empleado
Uso de un campo de la variable
Director.Nombre = “Juan Luis”
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Ejemplo de Tipos de datos definidos por usuario con
matrices.
• Se pretende mantener en memoria una
agenda con las notas de los alumnos de
primer curso de Topografía. Se tiene
que almacenar el Nombre y los
Apellidos del alumno, su Dni y las
calificaciones de las 7 asignaturas de
primer curso, junto con la calificación
media de las mismas.
• Se podrá redimensionar la matriz que
contiene los datos manteniendo la
información de la misma, y según se
desplace por la matriz se mostrarán los
datos actuales almacenándose los que
se estaban mostrando anteriormente.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Convenios para los menús
• Títulos cortos.
• Asignar tecla de método abreviado.
• Si se trata de interruptor mostrar marca de
verificación.
• Mostrar (....) si hace falta intervención.
• Utilizar prefijo mnu e Item.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Funciones y Procedimientos
•
•
•
•
Objetivo: Modularidad.
Función: Puede retornar resultados.
Procedimiento: No retorna se usa con Call
Función:
•
Procedimiento:
•
Parámetros por valor ByVal , por referencia (defecto)
[Static][Private] Function nombre ([parámetros])[As tipo]
[sentencias]
[nombre = expresión]
[Exit Function] ..
End Function
[Static][Private] Sub nombre ([parámetros])
[sentencias]
[Exit Sub] ..
End Sub
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Controles ComboBox y ListBox
• Propiedades y métodos importantes:
–
–
–
–
–
–
–
–
–
Text : Información mostrada como seleccionada.
List(n) : Lista de elementos textuales.
ListCount : Nº total de elementos de la lista.
ListIndex: Posición seleccionada.
AddItem: Permite añadir en tiempo de ejecución
elementos.
RemoveItem: Permite eliminar en tiempo de ejecución
elementos.
ItemData: Permite establecer un nº a cada fila de la lista.
Evento Click. El más usado.
Ejemplo uso: objeto.List(objeto.ListIndex)
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Control CommondDialog
• Permite:
– Seleccionar nombres de archivos para Abrir y Guardar
información, Seleccionar colores y fuentes de textos así como
opciones de impresión y ayuda.
• Métodos:
– ShowOpen, ShowSave, ShowColor, ShowFont, ShowPrinter,
ShowHelp.
• Propiedades Ficheros:
– Filter, FilterIndex, FileName y DefaultExt.
• Propiedades Color:
– Flags y Color.
• Propiedades Texto:
– Color, FontName, FontItalic, FontUnderLine, FontSize...
• Impresoras:
– Copies, FromPage, ToPage, Orientation
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Control Data
• Permite:
– Realizar una conexión con una base de datos.
– Recorrer una tabla seleccionada por medio de RecordSet.
Propiedades:
Caption.
Connect.
DatabaseName.
ReadOnly.
RecordsetType.
RecordSource:
Visual Basic. El Lenguaje.
Tipo de BD.
Nombre de la BD.
Determina los permisos sobre los datos.
Selecciona entre Tabla, dynaset..
Establece la tabla de la BD.
Miguel Ángel Manso Callejo
RecordSet
• Consultar datos.
– BOF (principio), EOF (fin), RecordCount y NoMatch.
• Modificar registros.
– AddNew, Edit, Update, Delete.
• Moverse por la base de datos.
– MoveFirst, MoveNext, MovePrevious, MoveLast.
• Encontrar datos.
– FindFirst, FindLast, FindNext, FindPrevious.
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Estructura de trabajo en Bases de datos:
DBEngine
WorSpaces() (prop .count, met .Append, .Delete, .Refresh)
WorkSpace.
Connections()
Groups()
Users()
DataBases().(propiedad .Count, método .Refresh)
Database
RecordSets(). -> Recordset. -> Fields
Tabledefs(). .Count-> TableDef. ->Fields, Indexes
Relations(). -> Relation. -> Fields
Querydefs(). ->QueryDef. -> Parameters, Fields
Containers(). -> Container. -> Document
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
WorkSpace
• Métodos:
–
–
–
–
–
–
–
Close
CreateDatabase
CreateGroup
CreateUser
CreateConnection
OpenDatabase
Rollback
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
DataBase
• Métodos:
–
–
–
–
–
Close
CreateTableDef
Execute
NewPassword
OpenRecordSet
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
RecordSet
• Propiedades:
–
–
–
–
–
–
–
–
–
EOF
Filter
Index
Name
NoMatch
RecordCount
RecordStatus
Sort
Type
Visual Basic. El Lenguaje.
• Métodos:
–
–
–
–
–
–
–
–
–
–
–
–
–
AddNew
Clone
Close
Delete
Edit
FindFirst
Move
GetRows
MoveFirst
NextRecordSet
OpenRecordSet
Seel
Update
Miguel Ángel Manso Callejo
Creación de una nueva base de datos.
• Conectar con un espacio de trabajo
– Set Ws =DBEngine.Workspaces(0)
• Crear base de datos.
– Set NewDB = Ws.CreateDatabase( nombre,lenguaje,,,)
•
•
•
•
•
•
Crear Tabla (objeto TableDef, método CreateTableDef)
Crear Campos tabla. (Objetos Field, método CreateField)
Asignar campos a tabla. (método Append)
Asignar tabla sobre base de datos. (método Append)
....
Cerrar base de datos. (método Close)
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Ejemplo
Dim NewDb As Database
Dim Ws As Workspace
Set Ws = DBEngine.Workspaces(0)
Set NewDb = Ws.CreateDatabase(CommonDialog1.FileName, dbLangGeneral)
Dim NewTb As TableDef
Set NewTb = NewDb.CreateTableDef("observaciones")
ReDim campo(1 To 7) As Field
Set campo(1) = NewTb.CreateField("Número estación", dbLong)
Set campo(2) = NewTb.CreateField("Número visado", dbLong)
...
Dim i As Byte
For i = 1 To 7
NewTb.Fields.Append campo(i)
Next i
NewDb.TableDefs.Append NewTb
NewDb.Close
Visual Basic. El Lenguaje.
Miguel Ángel Manso Callejo
Descargar

Tipos de Datos