lunes, 16 de julio de 2012

1


1.- INTRODUCCIÓN. QUÉ ES VISUAL BASIC

Visual Basic es un HERRAMIENTA SOFTWARE que permite desarrollar aplicaciones Microsoft Windows. Son aplicaciones de interacción sencilla con el usuario.


Visual Basic está ORIENTADO A EVENTOS/OBJETOS (lo cual quiere decir que el código no se activa hasta que se llama como respuesta a un evento, por ejemplo Click de botón, Selección de un menú, …). NO SUCEDE NADA HASTA QUE SE DETECTA UN EVENTO.
Cuando se detecta un evento, el código correspondiente a dicho evento (procedimiento de
evento) es ejecu

La aplicación o proyecto está formado por:

* Formularios – Ventanas que creamos para relacionarnos con el usuario
*Controles – Gráficos colocados en los formularios para permitir la interacción del usuario (text boxes, labels, scroll bars, command buttons, etc.) (los Formularios y los Controles son objetos.)
* Propiedades – Cada característica de un formulario o de un control se especifica por medio de una propiedad. Por ejemplo name, caption, size, color, position, caption... Existen   propiedades por defecto. Se pueden modificar las propiedades en tiempo de diseño o en ejecución.
* Métodos – Procedimiento ya creado que puede ser llamado para ejecutar una acción sobre un objeto.

Métodos de los Objetos
Ya hemos visto cómo cada objeto tiene asociados unas propiedades y unos eventos. Un tercer concepto que también se asocia a los objetos son los métodos. Un método es un procedimiento o función (un programa) que ejecuta
alguna acción sobre el objeto.

El formato para llamar a un método es el siguiente:
NombreDelObjeto.Método {argumentos opcionales }
Observemos que aquí también se utiliza el punto.

*Módulos – Serie de procedimientos genéricos, declaraciones de variables y definiciones de constantes para toda la aplicación.


2


Visual Basic es un lenguaje de programación dirigido por eventosdesarrollado por Alan Cooper para Microsoft. Este lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y, en cierta medida, también la programación misma.


Entorno de desarrollo



Su entorno de desarrollo es muy similar al de otros lenguajes e IDE's.
  • Se compone principalmente de una barra de herramientas y menús, que se pueden personalizar con prácticamente la totalidad de los comandos del IDE, a necesidad.
  • El espacio de trabajo incluye y muestra todas las ventanas del proyecto, las vistas del código de los módulos y objetos, y los controles con los que se compondrán las ventanas de la aplicación. Por defecto se dispone los siguientes controles:
    • (PictureBox) Caja de Imágenes
    • (Label) Etiqueta
    • (TextBox) Caja de texto
    • (Frame) Marco
    • (CommandButton) Botón de comando
    • (CheckBox) Casilla de verificación
    • (OptionButton) Botón de opción
    • (ComboBox) Lista desplegable
    • (ListBox) Lista
    • (HScrollBar) Barra de desplazamiento horizontal
    • (VScrollBar) Barra de desplazamiento vertical
    • (Timer) Temporizador
    • (DriveListBox) Lista de unidades de disco
    • (DirListBox) Lista de directorios
    • (FileListBox) Lista de archivos
    • (Shape) Figura
    • (Line) Línea
    • (Image) Imagen
    • (Data) Conexión a origen de datos
    • (OLE) Contenedor de documentos embebidos compatibles con Object Linking and Embedding









PREPARANDO LA INTERFAZ DE USUARIO

Visual Basic trabaja en 3 modos diferentes:
1. Modo DISEÑO
2. Modo EJECUCIÓN
3. Modo INTERRUPCIÓN (la aplicación se detiene para que podamos depurarlo)
Veamos el modo Diseño:
Al arrancar VB aparecen seis ventanas:
 La Ventana Principal consiste en la barra de título, la barra de menús y la barra
de herramientas. La barra de título indica el nombre del proyecto, el modo actual
de operación de VB y el formulario actual. La barra de menú contiene menús
desde los cuales se controlan las operaciones del entorno de VB. La barra de
herramientas tiene botones para activar algunas opciones del menú. La ventana
principal también muestra la localización del formulario activo en relación con la
esquina superior izquierda de la pantalla (medido en twips) y la




La Ventana del Formulario es fundamental para desarrollar las aplicaciones de
VB. Es donde se dibuja la aplicación


 La Caja de Herramientas permite seleccionar los controles utilizados en
la aplicación.



Puntero
Label (lbl)
Frame (frm)
Check Box (chk)
ComboBox (cbo)
HorizontalScrollBar (hsb)
Timer (tmr)
DirListBox (dir)
Shapes (shp)
Image (img)
OLE (ole)

                                                                                                     PictureBox (pic)
                                                                                                     TextBox (txt)
                                                                                                     CommandButton (cmd)
                                                                                                     OptionButton (opt)
                                                                                                     ListBox (lst)
                                                                                                     VerticalScrollBar (vsb)
                                                                                                     DriveListBox (drv)
                                                                                                     FileListBox (fil)
                                                                                                     Lines (lin)
                                                                                                     DataTool (data)



La Ventana de Propiedades se utiliza para establecer los valores iniciales de las
propiedades de los objetos. La caja que aparece en lo alto de la ventana contiene
todos los objetos del formulario activo. Se puede ver de dos maneras: en orden
Alfabético y por Categorías. Dentro de esta ventana nos encontramos con las
propiedades que podemos utilizar, en tiempo de diseño, del objeto seleccionado.
 La Ventana Posición del Formulario muestra donde se verá el formulario dentro
de la pantalla, en tiempo de ejecución:

 La Ventana del Explorador de Proyectos muestra una lista de todos los
formularios y módulos que componen la aplicación. Desde esta ventana también
se puede elegir entre ver el Código o el Formulario.

 Como ya hemos comentado, la interfaz de usuario se “dibuja” en la ventana del formulario.
Existen dos maneras de colocar controles en un formulario:
1. Doble-click en la herramienta elegida dentro de la caja de herramientas: el objeto se
crea con un tamaño fijo en la form. Posteriormente se puede mover y modificar el
tamaño.
2. Click en la herramienta elegida dentro de la caja de herramientas, a continuación
mover el puntero al formulario. El puntero se convierte en una cruz. Situar la cruz en
la esquina superior izquierda de donde se quiera dibujar, presionar el botón izquierdo
y mantenerlo presionado mientras se dibuja un rectángulo hasta el borde inferior
derecho. Soltar el ratón y el objeto queda en el sitio.
Para mover un control ya dibujado, hacer click en el objeto y arrastrarlo.



Para cambiar de tamaño un control, hacer click en el objeto para que aparezcan los punteros
manejadores de tamaño. Utilizarlos.


QUÉ ES UN PROGRAMA
Un programa es una colección de instrucciones. En Visual Basic las instrucciones se integran
en PROCEDIMIENTOS (aquellos que empiezan son Sub nombreProcedimento y terminan
con End Sub).


DECLARACIÓN DE VARIABLES
Un programa realiza determinadas tareas: procesa eventos, realiza cálculos, ordena grupos de datos … Para ello necesita disponer de una memoria intermedia donde poder guardar valores, cadenas de caracteres y otros elementos, así estarán disponibles cuando el programa deba recurrir a ellos. CON ESTE FIN SE UTILIZAN LAS VARIABLES. Las variables pueden contener números, datos de fecha y hora, textos o imágenes.
Generalmente la vida útil de una variable es limitada, es decir, sólo conserva su valor dentro de un procedimiento (Private Sub …. End Sub).
9.1.- MODOS DE DECLARACIÓN DE VARIABLES
Existen 2 modos:
a) Declaración EXPLÍCITA: en este caso todos los módulos del código de un proyecto nuevo contienen la línea ‘Option Explicit’. Las variables se declaran con Dim nombreVariable
b) Declaración IMPLÍCITA: con este modo no es necesario declarar variables al comienzo del programa mediante Dim nombreVariable. No se declaran las varibles al comienzo de un programa sino que se emplean directamente durante el
programa.





ESTRUCTURA DE CONTROL EN VB


Las estructuras de control le permiten controlar el flujo de ejecución del programa.
Tenemos dos tipos de estructuras de control:
a) ESTRUCTURAS DE DECISIÓN
b) ESTRUCTURAS REPETITIVAS


A) ESTRUCTURAS DE DECISIÓN
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”)
txtCódigo.Enabled = True
End If


b) Select Case:
Selec Case expresión
[Case lista_expresiones1
acción 1
[Case lista_expresiones2
acción 2
.
.
.
[Case Else
acción n
End Select
Ejemplo1:
Select Case TipoUsuario
Case “Supervisor”
‘ Proporciona al usuario privilegios de Supervisor
...
...
Case “Usuario”
‘ Proporciona al usuario privilegios de Usuario
...
...
Case Else
‘ Proporciona al usuario privilegio de invitado
...
...
End Select



B) ESTRUCTURAS DE REPETICIÓN

Existen 3 estructuras distintas:
1. Repetitiva MIENTRAS (0-n veces) While/Loop

Do While condición
Sentencias
[exit Do]
Loop


Cuando Visual Basic ejecuta este bucle Do, primero evalúa condición. Si
condición es False (cero), se salta todas las sentencias. Si es True (distinto de
cero) Visual Basic ejecuta las sentencias, vuelve a la instrucción Do While y
prueba la condición de nuevo.
Por tanto, el bucle se puede ejecutar cualquier número de veces, siempre y cuando
condición sea distinta de cero o True. Nunca se ejecutan las sentencias si
condición 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






Repetitiva FOR..NEXT


Los bucles Do funcionan bien cuando no se sabe cuántas veces se necesitará
ejecutar las sentencias del bucle. Sin embargo, cuando se sabe que se va a ejecutar
las sentencias un número determinado de veces, es mejor elegir el bucle
For...Next. A diferencia del bucle Do, el bucle For utiliza una variable llamada
contador que incrementa o reduce su valor en cada repetición del bucle. La sintaxis
es la siguiente:


For contador = iniciar To finalizar [Step incremento]
Sentencias
Next [contador]


Los argumentos contador, iniciar, finalizar e incremento son todos
numéricos.


Ejemplo1:


Private Sub Form-Click ( )
Dim I As Integer
For i = 0 To Screen.FontCount
Print Screen.Fonts (i)
Next




For Each...Next


El bucle For Each...Next es similar al bucle For...Next, pero repite un grupo de
sentencia por cada elemento de una colección de objetos o de una matriz en vez de
repetir las sentencias un número especificado de veces. Esto resulta especialmente útil
si no se sabe cuántos elementos hay en la colección. He aquí la sintaxis del bucle For
Each...Next:
For Each elemento In grupo
Sentencias
Next elemento


Por ejemplo, el siguiente procedimiento Sub abre la base de datos Biblio.mdb y agrega
el nombre de cada tabla a un cuadro de lista.


Sub ListTableDefs ( )
Dim objDb As Database
Set objDb = OpenDatabase("c:/Archivos de
programa/Devstudio/" & _
"vb/biblio.mdb", True, False)
For Each TableDef In objDb.TableDefs ( )
List1.AddItem TableDef.Name
Next TableDef
End Sub


Modo de Diseño y Modo de Ejecución
La aplicación Visual Basic de Microsoft puede trabajar de dos modos distintos: en modo de diseño y en modo de ejecución. En modo de diseño el usuario construye interactivamente la aplicación, colocando controles en el formulario, definiendo sus propiedades, y desarrollando funciones para gestionar los eventos.
La aplicación se prueba en modo de ejecución. En ese caso el usuario actúa sobre el programa (introduce eventos) y prueba cómo responde el programa. Hay algunas propiedades de los controles que deben establecerse en modo de diseño, pero muchas otras pueden cambiarse en tiempo de ejecución desde el programa escrito en Visual Basic 6.0, en la forma en que más adelante se verá.
También hay propiedades que sólo pueden establecerse en modo de ejecución y que no son visibles en modo de diseño.
Todos estos conceptos –controles, propiedades, eventos, etc.- se explican en los apartados siguientes.


Formularios y Controles
Cada uno de los elementos gráficos que pueden formar parte de una aplicación típica de Windows 95/98/NT es un tipo de control: los botones, las cajas de diálogo y de texto, las cajas de selección desplegables, los botones de opción y de selección, las barras de desplazamiento horizontales y verticales, los gráficos, los menús, y muchos otros tipos de elementos son controles para Visual Basic 6.0. Cada control debe tener un nombre a través del cual se puede hacer referencia a él en el programa. Visual Basic 6.0 proporciona nombres por defecto que el usuario puede modificar. En el Apartado 1.2.4 se exponen algunas reglas para dar nombres a los distintos controles. En la terminología de Visual Basic 6.0 se llama formulario (form) a una ventana. Un formulario puede ser considerado como una especie de contenedor para los controles. Una aplicación puede tener varios formularios, pero un único formulario puede ser suficiente para las aplicaciones más sencillas. Los formularios deben también tener un nombre, que puede crearse siguiendo las mismas reglas que para los controles.


Objetos y Propiedades
Los formularios y los distintos tipos de controles son entidades genéricas de las que puede haber varios ejemplares concretos en cada programa. En programación orientada a objetos (más bien basada en objetos, habría que decir) se llama clase a estas entidades genéricas, mientras que se llama objeto a cada ejemplar de una clase determinada. Por ejemplo, en un programa puede haber varios botones, cada uno de los cuales es un objeto del tipo de control command button, que sería la
clase.
Cada formulario y cada tipo de control tienen un conjunto de propiedades que definen su aspecto gráfico (tamaño, color, posición en la ventana, tipo y tamaño de letra, etc.) y su forma de
responder a las acciones del usuario (si está activo o no, por ejemplo). Cada propiedad tiene un nombre que viene ya definido por el lenguaje.
Por lo general, las propiedades de un objeto son datos que tienen valores lógicos (True, False) o numéricos concretos, propios de ese objeto y distintos de las de otros objetos de su clase. Así pues, cada clase, tipo de objeto o control tiene su conjunto de propiedades, y cada objeto o control concreto tiene unos valores determinados para las propiedades de su clase.
 Casi todas las propiedades de los objetos pueden establecerse en tiempo de diseño y también -casi siempre- en tiempo de ejecución. En este segundo caso se accede a sus valores por medio de las sentencias del programa, en forma análoga a como se accede a cualquier variable en un lenguaje de programación. Para ciertas propiedades ésta es la única forma de acceder a ellas. Por supuesto Visual Basic 6.0 permite crear distintos tipos de variables, como más adelante se verá.
Se puede acceder a una propiedad de un objeto por medio del nombre del objeto a que pertenece, seguido de un punto y el nombre de la propiedad, como por ejemplo optColor.objName.
En el siguiente apartado se estudiarán las reglas para dar nombres a los objetos.

Ejemplos de V.B



Ejemplo 1 Sencillo programa de colores
y posiciones
En la Figura 1.2 se muestra el formulario y los
controles de un ejemplo muy sencillo que permite
mover una caja de texto por la pantalla, permitiendo
a su vez representarla con cuatro colores diferentes.
En la Tabla 1.2 se describen los controles
utilizados, así como algunas de sus propiedades más
importantes (sobre todo las que se separan de los
valores por defecto). Los ficheros de este proyecto
se llamarán Colores0.vbp y Colores0.frm.








Sobre este primer programa en Visual Basic 6.0 se pueden hacer algunos comentarios:


1. El comando Option Explicit sirve para obligar a declarar todas las variables que se utilicen.
Esto impide el cometer errores en los nombres de las variables (confundir masa con mesa, por
ejemplo). En este ejemplo esto no tiene ninguna importancia, pero es conveniente
acostumbrarse a incluir esta opción. Declarar una variable es crearla con un nombre y de un
tipo determinado antes de utilizarla.


2. Cada una de las partes de código que empieza con un Private Sub y termina con un End Sub
es un procedimiento, esto es, una parte de código independiente y reutilizable. El nombre de
uno de estos procedimientos, por ejemplo optAzul_Click(), es típico de Visual Basic. La
primera parte es el nombre de un objeto (control); después va un separador que es el carácter
de subrayado (_); a continuación el nombre de un evento -click, en este caso-, y finalmente
unos paréntesis entre los que irían los argumentos, en caso de que los hubiera.



3. Es también interesante ver cómo se accede desde programa a la propiedad backColor de la
caja de texto que se llama txtCaja: se hace utilizando el punto en la forma txtCaja.BackColor.
Los colores se podrían también introducir con notación hexadecimal (comenzando con &H,
seguidos por dos dígitos entre 00 y FF (es decir, entre 0 y 255 en base 10) para los tres colores
fundamentales, es decir para el Red, Green y Blue (RGB), de derecha a izquierda. Aquí se
han utilizado las constantes simbólicas predefinidas en Visual Basic 6.0: vbRed, vbGreen y
vbBlue (ver Tabla 6.1, en la página 69).


4. Recuérdese que si se desea que el código de todos los eventos aparezca en una misma ventana
hay que activar la opción Default to Full Module View en la solapa Editor del comando
Tools/Options. También puede hacerse directamente en la ventana de código con uno de los
botones que aparecen en la parte inferior izquierda ( ).


5. Es muy importante crear primero el control frame y después, estando seleccionado, colocar
los botones de opción en su interior. No sirve hacerlo a la inversa. Visual Basic supone que
todos los botones de opción que están dentro del mismo frame forman parte del mismo grupo
y sólo permite que uno esté seleccionado.