You are on page 1of 56

Ventanas, Eventos y mensajes

Ventanas: Es una regin rectangular con sus


propios lmites. 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 accin de
acuerdo con las instrucciones asociadas al evento.
Visual Basic. El Lenguaje.

Miguel

Introduccin al Visual Basic


Diferencias a nivel de programacin entre la
programacin clsica, orientada a objetos y la
programacin visual (orientada a eventos).
Clsica. Estructura el cdigo de forma secuencial y
modular.
- Orientada a Objetos. Se definen clases, se crean e usan
objetos de distintas clases y stos poseen los mtodos y
las propiedades que permiten tratar la informacin. Los
objetos tambin son capaces de recibir eventos.
Programacin Visual. Es el hbrido entre la programacin
tradicional y la orientada a eventos. Este es el caso del
Visual Basic.

Visual Basic. El Lenguaje.

Miguel

Fases de creacin de un programa en Visual Basic


Crea la interfaz de usuario. Mecanismo o va de
comunicacin hombre-mquina.
Definen las propiedades de los controles.
Determina la ergonoma y la esttica de la
aplicacin.
Genera el cdigo asociado a los eventos.
Genera el cdigo del programa: mdulos con
funciones y/o procedimientos genricos no
asociados a controles.
Se pueden crear clases de objetos que
proporcionen acceso a los datos y/o tratamientos.
Visual Basic. El Lenguaje.

Miguel

Anatoma de una interfaz Windows

Visual Basic. El Lenguaje.

Miguel

Elementos de la interface de aplicacin:

Las ventanas.
Formularios.
Mens textuales.
Barra de botones.
Barra de estado.
Mens emergentes.
Controles.
Objetos grficos.

Visual Basic. El Lenguaje.

Miguel

Controles bsicos
PictureBox.
Label
TextBox
Frame
CommandBotton.
CheckBox
OptionBox
ComboBox
ListBox.
Scroll

Timer
DriveListBox
DirListBox
FileListBox
Image
Data
....

Visual Basic. El Lenguaje.

Miguel

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 ratn.
Objeto es el nombre que reciben los elementos de la
interfaz de usuario. Podr moverlos, modificar su tamao
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
cmo tienen que funcionar y pueden responder a ciertas
situaciones de forma <<natural>> .

Visual Basic. El Lenguaje.

Miguel

Propiedad, procedimiento de suceso


Una propiedad es un valor o una caracterstica que pertenece
a un objeto de Visual Basic. Son propiedades el rtulo
asociado a una etiqueta (Caption) o el color del primer plano
(foreColor) de un texto.
Un procedimiento de evento es un bloque de cdigo 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 ratn el botn de orden en un
programa, se pondr en marcha el procedimiento de evento
denominado Command1_Click. Los procedimientos de evento
evalan las condiciones y, segn stas, definen las
propiedades y utilizan otras sentencias del programa para
llevar a cabo la tarea asignada al programa.

Visual Basic. El Lenguaje.

Miguel

Sentencia y Variable
Una sentencia o instruccin de un programa es una palabra
clave de cdigo 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 clculos, etc.
Una variable es un <<contenedor>> especial utilizado para
almacenar datos de forma temporal durante la ejecucin de
un programa. El programador crea variables para almacenar
los resultados del clculo, crear nombres de archivos,
procesar la entrada de datos, etc. En general, una variable
puede almacenar nmeros, nombres, valores de propiedades y
algunos otros tipos de datos.

Visual Basic. El Lenguaje.

Miguel

Mtodo y Funcin
Un mtodo es una sentencia especial que lleva a cabo una
accin o servicio para un objeto particular dentro de un
programa. La sintaxis que deber utilizar para invocar un
mtodo dentro de un programa es la siguiente:
Objeto.metodo (valores o parmetros)
Una funcin es una sentencia que realiza una determinada
tarea y despus devuelve un resultado al programa. El valor
devuelto por la funcin 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 ms argumentos para definir
su actividad. Cuando una funcin utilice dos o ms
argumentos, dichos argumentos se separarn por comas y el
grupo completo de argumentos se encerrar entre
parntesis.

Visual Basic. El Lenguaje.

Miguel

El Lenguaje

Visual Basic. El Lenguaje.

Miguel

Conceptos bsicos.
Reglas de codificacin:
Divisin de una instruccin en varias lneas. ( _ )
Combinar varias instrucciones en una lnea. ( : )
Agregar comentarios al cdigo. ( )

Sistemas de numeracin:
Decimal.
Hexadecimal. ( &H )
Octal. ( &O )

Visual Basic. El Lenguaje.

Miguel

Convenios de nomenclatura de variables.


Comenzar por letra. Longitud menor de 256
caracteres.
Nombres descriptivos.
Comenzar con mayscula.
No utilizar nombres claves como nombre de
variables.
Comenzar con abreviatura del tipo de la variable.

Visual Basic. El Lenguaje.

Miguel

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


Nmeros enteros, en el rango de 0 a 255
Enteros en el rango de -32768 a 32767
Enteros de -2147483648 a 2147483647
Punto flotante, simple precisin
Punto flotante, doble precisin.
Entero punto decimal fijo (Tpico de monedas)
Cadenas alfanumricas
Fechas
Referencia a objetos
Otros tipos de datos

Visual Basic. El Lenguaje.

Miguel

Declaraciones de variables y constantes


Tipos de declaraciones de variables
Dim:
Private:
Public:
Global:
Static:

Constantes:
Const

Error en la declaracin de variables:


Dim var1, var2, ... ,varN As Integer

Visual Basic. El Lenguaje.

Miguel

Funciones de conversin de tipos de datos:


Cbool
Cbyte
Ccur
Cdate
CDbl
Cint
CLng
CSng
CStr
Cvar
CVErr

Boolean
Byte
Currency
Date
Bouble
Integer
Long
Single
String
Variant
Error

Visual Basic. El Lenguaje.

Miguel

Operadores aritmticos:
+
*
/
\
Mod
^

Suma
Resta
Multiplicacin
Divisin
Divisin sin decimales
Resto de una divisin
Eleva a un exponente

Visual Basic. El Lenguaje.

Miguel

Operadores Lgicos
And
Or
Xor

Funcin AND
Funcin OR
Funcin XOR

Eqv

F. Equivalente

Imp

Implicacin

Not
Like

Negacin
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

Funciones matemticas.
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 nmero con decimales


el valor absoluto de un nmero
el signo de un nmero
la raz cuadrada de un nmero
el nmero elevado al exponente indicado
el logaritmo natural de ese nmero
el valor del seno de un ngulo
el coseno de un ngulo
la tangente de un ngulo
un arco cuya tangente sea el nmero
el tiempo (sg) que ha pasado desde las 12 de la noche.

Visual Basic. El Lenguaje.

Miguel

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

Funciones Derivadas
Seno hiperblico
Coseno hiperblico
Tangente hiperblica
Secante hiperblica
Cosecante hiperblica
Cotangente hiperblica
Seno hiperblico -1
Coseno hiperblico -1
Tangente hiperblica -1
Secante hiperblica -1
Cosecante hiperblica -1
Cotangente hiperblica -1
Logaritmo en base N

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)

Visual Basic. El Lenguaje.

Miguel

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 da de la semana (En nmero, 1=Domingo,
2=Lunes,...)
Obtiene el da, a partir de una fecha
Obtiene el mes a partir de una fecha.
Obtiene el ao 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.
Aade 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 parmetros relativos
Compone una hora a partir de parmetros relativos.
Devuelve una fecha a partir de un dato que se le parezca y
VB pueda obtener de l una fecha vlida

Visual Basic. El Lenguaje.

Miguel

Funciones de manejo de cadenas de caracteres.


Str()
Left(,)
Mid(,,)
Ucase()
LenB()
Space()
Rtrim()
StrConv()

Val()
Rigth(,)
Lcase()
Len()
String(,)
Ltrim()
InStr(,)
Split()

Visual Basic. El Lenguaje.

Miguel

Sentencias de control
Condicionales:
If <condicin> Then
....
End If
If <condicin> Then
....
Else
....
End If

If <condicin> Then
....
Elseif <condicin> Then
....
Elseif <condicin> Then
....
Else
....
End If

Visual Basic. El Lenguaje.

Select Case var


Case 1
...
Case Is ( operador) xx
....
Case 2
...
Case xx To xx
....
Case N
....
Case Else
....
End Select

Miguel

Ejemplo de utilizacin de las sentencias if else


Determinar si un punto definido por sus
coordenadas en el plano (x,y) pertenece a un
crculo 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 crculo
Else
msgbox El punto no pertenece al crculo
End If

Visual Basic. El Lenguaje.

Miguel

Ejemplo de utilizacin condicionales simples


Se trata de calcular el rea de un tringulo
conocidos sus tres lados. ( frmula de Heron).
Sup = sqr( sp * (sp a) * (sp b) * (sp c))
donde sp = Semipermetro = (a + b + c)/2
Posible problema: El tringulo 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 tringulo es & sup
Else
msgbox El tringulo no existe
End If

Visual Basic. El Lenguaje.

Miguel

Ej. de utilizacin de if else con mltiples condiciones


Se pretende determinar si un punto en el plano
pertenece a una regin rectangular paralela a los
ejes cartesianos. Se conoce las coordenadas del
punto y las coordenadas mnimas y mximas de la
regin 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 regin
Else
msgbox El punto no pertenece a la regin
End If

Visual Basic. El Lenguaje.

Miguel

Ejemplo de utilizacin de If Else anidados


Se trata de mostrar un mensaje indicando a banda
del espectro electromagntico pertenece una
determinada longitud de onda l expresado en m
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

al Ultravioleta
al Azul
al Verde
al Rojo
al InfraRojo

Visual Basic. El Lenguaje.

Miguel

Ejemplo de utilizacin de Select Case


Se trata de diferenciar una operacin matemtica
en funcin 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 Operacin As String
Select case (Operacin)
Case + : Resultado = Operando1 + Operando2 : break;
Case - : Resultado = Operando1 - Operando2 : break;
Case * : Resultado = Operando1 * Operando2 : break;
Case / : Resultado = Operando1 / Operando2 : break;
Case Else : msgbox La operacin no est definida
End Select

Visual Basic. El Lenguaje.

Miguel

Sentencias de Control
Repeticiones:
Do While <condicin >
....
Loop

Do

....
Loop While <condicin >

While <condicin>
....
Wend

Exit Do
Do Until <condicin >
....
Loop

Do

....
Loop Until <condicin >

For Each elemento In grupo


.....
Next elemento

For <cond inicial > To <cond final > Step ...


.....
Next ...
Exit For

Visual Basic. El Lenguaje.

Miguel

Ejemplos con las sentencias repetitivas


Algoritmo que genere los nmero impares entre el
1 y el 15, mostrndolo 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

Ejemplos de sentencias repetitivas.

Calcular la suma de los


nmeros 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


nmeros 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

Ejemplo de utilizacin de sentencias repetitivas

Se pretende determinar si un nmero es primo o no.


Consideraciones prcticas: Un nmero ser primo si no es divisible
por los nmeros 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 nmeros inferiores no es primo (es
divisible). Se utiliza la operacin resto de divisin 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 nmero & Num & es primo
Else
msgbox El nmero & Num & no es primo es divisible por & i
End If

Visual Basic. El Lenguaje.

Miguel

Medidas repetidas. Valor ms probable y Tolerancias.


Se trata de construir el programa que determine
la medida ms probable de modo que se eliminen
las medidas que superen el umbral de tolerancias
de 2,5 veces el error cuadrtico medio. El proceso
se repetir hasta que todas las medidas estn
dentro de este rango.

Visual Basic. El Lenguaje.

Miguel

Matrices
Creacin:

Dim matriz( N , M, ...., L ) As tipo

Establecer lmites inferior y superior.


Dim matriz( x To y, z to w) As tipo

Conocer lmites:

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

Ejemplo de utilizacin de matrices numricas

Se trata de construir un algoritmo que cree una matriz de nmeros


reales, pida los valores mediante la llamada a la funcin inputbox, y
calcule la media de los valores almacenados, y tambin 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

Ejemplo de utilizacin 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

Ejemplo Bucle For (Area de un polgono conocidas las


coordenadas de los vrtices)
Si se dispone de las coordenadas ordenadas de los
vrtices de un polgono se puede calcular la
superficie del mismo con la frmula de Simpson.
Sean Xi e Yi las coordenadas cartesianas del
vrtice i-simo.
Sup = 0.5 * i ( X i+1 Xi) * (Y i+1 + Yi)
Nota: Tngase en cuenta que el ltimo punto debe
cerrar con el primero.

Visual Basic. El Lenguaje.

Miguel

Funcin InputBox
La sintaxis de la funcin 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

Matrices de controles
Las matrices de controles permiten agrupar los nombres de
los elementos de la interfaz grfica de usuario en forma de
matriz para poder gestionarlos ms cmodamente en el
cdigo. 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
funcin del nmero asociado a la fila del control.
Ejemplo: los nmeros de una calculadora.
Se puede crear una matriz de controles
de tipo command Boton llamada Num()
de forma que el ndice sea el valor numrico
del botn grfico.
Cuando se produzca el evento click, al ser una matriz
de controles se dispondr de dicho ndice y se podr
aadir al display el dgito seleccionado

Visual Basic. El Lenguaje.

Miguel

Carga/descarga dinmica de controles (en matrices).


Una ventaja adicional a la hora de utilizar matrices
de controles es que se puede tener un nmero
variable de ellos cargados y/o visibles.
Cuando se desea cargar un nuevo elemento de la
matriz de controles se utiliza la instruccin Load, y
para descargarlo la instruccin 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

Matrices de controles. Otro ejemplo.


Se trata de construir una calculadora matricial bsica con las
operaciones + - * y Traspuesta. Se desea que pueda manejar
matrices de nmeros compatibles para dichas operaciones,
pero que pueda ser variable en cuanto al nmero de
elementos de cada dimensin.

Visual Basic. El Lenguaje.

Miguel

Definicin de nuevos tipos de datos


Objetivo: Agrupar bajo un tipo de dato un conjunto
de informacin que no es homognea.
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
Declaracin de variable
Dim Director As Empleado
Uso de un campo de la variable
Director.Nombre = Juan Luis

Visual Basic. El Lenguaje.

Miguel

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 Topografa. 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 calificacin
media de las mismas.
Se podr redimensionar la matriz que
contiene los datos manteniendo la
informacin de la misma, y segn se
desplace por la matriz se mostrarn los
datos actuales almacenndose los que
se estaban mostrando anteriormente.

Visual Basic. El Lenguaje.

Miguel

Convenios para los mens


Ttulos cortos.
Asignar tecla de mtodo abreviado.
Si se trata de interruptor mostrar marca de
verificacin.
Mostrar (....) si hace falta intervencin.
Utilizar prefijo mnu e Item.

Visual Basic. El Lenguaje.

Miguel

Funciones y Procedimientos

Objetivo: Modularidad.
Funcin: Puede retornar resultados.
Procedimiento: No retorna se usa con Call
Funcin:

Procedimiento:

Parmetros por valor ByVal , por referencia (defecto)

[Static][Private] Function nombre ([parmetros])[As tipo]


[sentencias]
[nombre = expresin]
[Exit Function] ..
End Function
[Static][Private] Sub nombre ([parmetros])
[sentencias]
[Exit Sub] ..
End Sub

Visual Basic. El Lenguaje.

Miguel

Controles ComboBox y ListBox


Propiedades y mtodos importantes:

Text : Informacin mostrada como seleccionada.


List(n) : Lista de elementos textuales.
ListCount : N total de elementos de la lista.
ListIndex: Posicin seleccionada.
AddItem: Permite aadir en tiempo de ejecucin
elementos.
RemoveItem: Permite eliminar en tiempo de ejecucin
elementos.
ItemData: Permite establecer un n a cada fila de la lista.
Evento Click. El ms usado.
Ejemplo uso: objeto.List(objeto.ListIndex)

Visual Basic. El Lenguaje.

Miguel

Control CommondDialog
Permite:

Seleccionar nombres de archivos para Abrir y Guardar


informacin, Seleccionar colores y fuentes de textos as como
opciones de impresin y ayuda.

Mtodos:

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

Control Data
Permite:
Realizar una conexin con una base de datos.
Recorrer una tabla seleccionada por medio de RecordSet.
Propiedades:
Caption.
Connect.
DatabaseName.
ReadOnly.
RecordsetType.
RecordSource:

Tipo de BD.
Nombre de la BD.
Determina los permisos sobre los datos.
Selecciona entre Tabla, dynaset..
Establece la tabla de la BD.

Visual Basic. El Lenguaje.

Miguel

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

Estructura de trabajo en Bases de datos:


DBEngine
WorSpaces() (prop .count, met .Append, .Delete, .Refresh)
WorkSpace.
Connections()
Groups()
Users()
DataBases().(propiedad .Count, mtodo .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

WorkSpace
Mtodos:

Close
CreateDatabase
CreateGroup
CreateUser
CreateConnection
OpenDatabase
Rollback

Visual Basic. El Lenguaje.

Miguel

DataBase
Mtodos:

Close
CreateTableDef
Execute
NewPassword
OpenRecordSet

Visual Basic. El Lenguaje.

Miguel

RecordSet
Propiedades:

EOF
Filter
Index
Name
NoMatch
RecordCount
RecordStatus
Sort
Type

Visual Basic. El Lenguaje.

Mtodos:

AddNew
Clone
Close
Delete
Edit
FindFirst
Move
GetRows
MoveFirst
NextRecordSet
OpenRecordSet
Seel
Update

Miguel

Creacin 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, mtodo CreateTableDef)


Crear Campos tabla. (Objetos Field, mtodo CreateField)
Asignar campos a tabla. (mtodo Append)
Asignar tabla sobre base de datos. (mtodo Append)
....
Cerrar base de datos. (mtodo Close)

Visual Basic. El Lenguaje.

Miguel

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("Nmero estacin", dbLong)
Set campo(2) = NewTb.CreateField("Nmero 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

You might also like