visual basic 6.0

43
Visual Basic 6.0 El entorno de Visual Basic Cuando iniciamos Visual Basic, nos mostrará la siguiente Ventana donde podemos seleccionar, que es lo que vamos a desarrollar. En este curso nos centraremos en la primera opción que es un Estándar EXE. Seleccionamos Standard EXE y Seleccionamos Abrir. Luego le aparacerá el entorno inicial de Visual Basic : Barra de menú Barra de Herramientas Explorador de Proyectos (3) Ventana de Propiedades (4) Ventana de Posición de formulario Ventana del formulario inicial (2) Cuadro de herramientas (5)

Upload: laura-velazquez

Post on 13-Jul-2015

872 views

Category:

Education


1 download

TRANSCRIPT

Visual Basic 6.0

El entorno de Visual Basic

Cuando iniciamos Visual Basic, nos mostrará la siguiente Ventana donde podemos seleccionar, que es lo que vamos a desarrollar. En este curso nos centraremos en la primera opción que es un Estándar EXE. Seleccionamos Standard EXE y Seleccionamos Abrir.

Luego le aparacerá el entorno inicial de Visual Basic :

Barra de menú Barra de Herramientas

Explorador de Proyectos

(3)

Ventana de Propiedades

(4)

Ventana de Posición de formulario

Ventana del formulario inicial

(2)

Cuadro de herramientas

(5)

Visual Basic 6.0

En la ventana del programa, podemos hacer todas las funciones normales que nos permite el compilador Visual Basic. Cierre todas las ventanas excepto el programa Visual Basic Pulse "Ctrl+R" (Ver -> Proyecto) y se abrirá el Explorador de Proyectos (3). En esta ventana tenemos todos los ficheros del proyecto Visual Basic en el que vamos a trabajar. Al principio y por defecto, el programa abre un formulario (2) con el nombre Form1 que es la ventana Windows de nuestra aplicación. Podemos editar, abrir y cerrar la ventana, pero todo esto lo veremos a fondo más tarde. De momento es fundamental que se familiarice con estas ventanas que aparecen al iniciar Visual Basic. Pulsando la tecla "F4", aparecerá la ventana de propiedades (4). Esta ventana es fundamental, ya que contiene todas las propiedades de cada objeto que insertaremos en nuestro formulario, asi como las propiedades del formulario en sí. Por último, la ventana caja de herramientas (5), no es menos importante, ya que contiene todos los objetos que podemos incluir en nuestro formulario. Esta ventana se puede abrir en el menú principal (Ver -> Caja de herramientas). Esta es la visión general del compilador Visual Basic, pero hay como bien se imaginará usted, muchas otras cuestiones que son importantes tener en cuenta. El Proyecto Cada vez que creamos un Sistema, crearemos un Proyecto (Proyect) al cual lo salvaremos con las siglas del sistema que estamos desarrollando (Ej. SCI). Un proyecto es un organizador de nuestro Sistema, en él podemos agregar Formularios, Reportes, Modulos (codigo), entre otros.

Para agregar objetos a nuesto proyecto, nos ubicamos en la ventana del proyecto, presionamos el click derecho del mouse, seleccionamos Agregar (Add) y luego nos sale una lista de todo lo que podemos agregar : - Formularios (Form) - Formularios MDI (MDI Form) - Modulos (Module) - Reportes (Data Report) - Entre otros.

Visual Basic 6.0

El Objeto formulario (form) Antes de comenzar con los formularios es necesario comprender la Interfaz de Desarrollo de Sistemas en Visual Basic: SDI : Interfaz de un Solo Documento (Formularios Independientes) MDI : Interfaz de varios Documentos, MDI quiere decir que todas las ventanas forman parte de una más grande. Esta interfaz es la que utilizaremos en el curso, Donde el formulario principal será un Formulario MDI (MDIform) y los demas formularios formaran parte de él (MDIChild) En nuestro proyecto tendremos un solo formulario MDI y todos los demas formularios pertenecerán a él ( la propiedad MDIChild habrá que fijarla en True) Propiedades mas comunes:

Nombre Descripción

Name Nombre del formulario (Ej. FrmRegiones)

BackColor Color de fondo del Formulario

BorderStyle Estilo del Borde de la Ventana : Sirve para permitir el Ajuste del tamaño de la Ventana o no.

Caption Titulo de la Ventana

ControlBox Permite habilitar/Desahabilitar el Menu de Control de la Ventana.

Icon Se espefica el nombre del archivo de Icono de la Ventana. (*.ico)

MaxButton Permite Habilitar/Deshabilitar el Boton para maximizar la ventana

MDIChild Para determinar si esta ventana pertenece a una Ventana MDI.

Minbutton Permite Habilitar/Deshabilitar el Boton para minimizar la ventana

Moveable Permite Habilitar/Deshabilitar si la ventana se puede mover por el usuario

Picture Permite Poner una imagen de fondo de la Ventana (Como un papel Tapiz)

WindowState Permite vizualizar el formulario de forma Normal, maximinzada o minimizada.

La ventana de propiedades:

Nombre del objeto al cual le modifica las propiedades

Propiedades del objeto

Descripción de la propiedad

Visual Basic 6.0

Para ejecutar el formulario y verlo como se comportará según las propiedades que le hemos fijado siga las siguientes instrucciones:

1. Seleccione en el menu principal la opción de Proyecto (Proyect). 2. Luego seleccione la última opción que es Propiedades del Proyecto (Proyect1 Properties). 3. Seleccione el objeto que desea ejecutar y luego presione el botón Aceptar. 4. Presione el botón de la barra de herramientas Iniciar (Start) 5. Si quiere ejecutar un objeto diferente repita los pasos del 1 al 4.

Al ejecutar el formulario usted podrá observar como se comporta en modo ejecución. Para detener la ejecución : presione el botón de parada o o cierreel formulario como comunmente lo hace con cualquier ventana.

Eventos mas comunes de los formularios:

Nombre Descripción

Click Sucede cuando presionamos una vez el botón izquierdo del mouse sobre el formulario.

Load Ocurre cuando se inicia el formulario

UnLoad Ocurre cuando finaliza el formulario

Error Sucede cuando a ocurrido un error en la ejecucion del codigo dentro del formulario

Visual Basic 6.0

Eventos del Formulario

Para ver los eventos de un objeto (en este caso del formulario): presione click derecho encima del objeto (formulario) y luego seleccionamos Ver Código (View Code).

La siguiente ventana aparacerá donde se muestran el objeto (Lista izquierda superior) y la lista de los eventos (derecha superior). Podremos observar que tambien en la lista de la derecha superior se encuentra la sección General, donde se declaran todas las variables que se ocuparán en el formulario. También podemos configurar el modo en que vizualizaran los eventos, en lo particular yo utilizó Vista de Procedimiento (Procedure View), para vizualizar cada evento independientemente. Podemos escribir el siguiente codigo en el evento Click del Formulario: MsgBox "Hice click en el Formulario"

Cuando ejecutemos el formulario y le demos un click encima del formulario veremos el siguiente mensaje:

Visual Basic 6.0

Modificación de las propiedades en modo Ejecución Existen propiedades que podemos modificar en modo diseño (con la ventana de propiedades) y en modo ejecución (con código). Sin embargo hay otras propiedades que solo se puede modificar en modo diseño. Ejemplo:

En el formulario agregremos un boton de comando (CommandButton) del Cuadro de Herramientas (ToolBox). Luego fijaremos la propiedad Caption del boton a "Cambiar Propiedades del Formulario"

En el evento click del Boton digitaremos las siguientes instrucciones: Form1.BackColor = vbBlue

Form1.Caption = "Cambiar Caption"

Nota: vbBlue es una Constante predefinida de

VB. Ejecutamos el formulario: Esta sintaxis de Programación Orientada a Objetos es la que utilizaremos cuando programamos con Visual Basic. Practicamente solo es conocer las propiedades de cada objeto y luego modicarlas ya sea en modo diseño o en modo ejecución.

Cuando damos click en el botón las

propiedades son modificadas

Visual Basic 6.0

Uso de los Controles estándar de Visual Basic

Categorías de Controles:

Controles intrínsecos: Estos controles se encuentran dentro del archivo .exe de Visual Basic. Los controles intrinsecos siempre estan incluidos en el cuadro de herramientas, no como los controles ActiveX y los objetos insertables, que se pueden quitar o agregar al cuadro de herramientas.

Controles ActiveX: Existen como archivos independientes con extensión .ocx.

Objetos Insertables : Objetos OLE, uno puede insertar un objeto Worksheet (Hoja de Calculo) de Microsoft Excel o un Documento de Word o alguna imagen incrustada.

Controles Intrínsecos El cuadro de herramientas de Visual Basic contiene las herramientas que puede utilizar para dibujar controles en los formularios.

ICONO NOMBRE DEL CONTROL NOMBRE DE CLASE DESCRIPCION

Casilla de Verificación CheckBox

Presenta una opción de tipo Verdadero o Falso, o Sí o No. Puede activar varias casillas de verificación en un mismo formulario al mismo tiempo

Cuadro Combinado

ComboBox

Cambia un cuadro de texto y un cuadro de lista. Permite que el usuario escriba una selección o seleccione un elemento de una lista desplegable.

Botón de comando

CommandButton

Ejecuta un comando o una acción cuando un usuario hace clic en él

Datos

Data

Permite conectar con una base de datos existente y presentar información de ella en los formularios

Cuadro de Herramientas de

Visual Basic.

Visual Basic 6.0

ICONO NOMBRE DEL CONTROL NOMBRE DE CLASE DESCRIPCION

Cuadro de lista de directorios

DirListBox

Presenta directorios y rutas de acceso, y permite que el usuario los seleccione.

Cuadro de lista de unidades

DriveListBox

Presenta unidades de disco validas y permite que el usuario las seleccione

Cuadro de lista de archivos

FileListBox

Presenta una lista de archivos y permite que el usuario los seleccione.

Marco

Frame

Proporciona un contenedor visual y funcional para otros controles

Barras de desplazamiento horizontal y vertical

HscrollBar y VscrollBar

Permite que un usuario agregue barras de desplazamiento a controles tienen de forma automática. (No son las barras de desplazamiento incorporadas que se incluyen en muchos controles.)

Imagen

Imagen

Presenta mapas de bits, iconos o metarchivos de Windows, archivos JPEG o GIF, y actúa como un botón de comando cuando se hace clic en él.

Etiqueta

Label

Presenta texto con el que el usuario no puede interactuar ni modificar.

Línea

Line

Agrega un segmento de línea recta a un formulario

Cuadro de lista

ListBox

Presenta una lista de elementos entre los que el usuario puede elegir.

Contenedor OLE

OLE

Incrusta datos en una aplicación de Visual Basic.

Botón de opción

OptionButton

El control OptionButton, como parte de un grupo de opciones con otros botones de opción, presenta varias opciones entre las que el usuario solo puede elegir una.

Cuadro de imagen

PictureBox

Presenta mapas de bits, iconos o metarchivos de Windows, archivos JPEG o Gif. También presenta texto o actúa como contenedor visual para otros controles.

Visual Basic 6.0

ICONO NOMBRE DEL CONTROL NOMBRE DE CLASE DESCRIPCION

Forma

Shape

Agrega un rectángulo, un cuadrado, una elipse o un circulo a un formulario, marco o cuadro de imagen

Cuadro de Texto

TexBox

Proporciona una arrea para escribir o presentar texto

Cronometro

Timer

Ejecuta eventos periódicos a intervalos de tiempo especificados

Nota: La herramienta puntero (la primera herramienta del cuadro de herramientas) proporciona una forma de mover y cambiar el tamaño de los formularios y los controles. No es un control. Controles Active X estándar Visual Basic contiene varios controles ActiveX (llamados controles ActiveX estándar) que permiten agregar características avanzadas a las aplicaciones. Los controles ActiveX tiene la extensión nombre de archivo.ocx y puede utilizarlos en un proyecto si los agrega manualmente al cuadro de herramientas.

Los controles ActiveX estándar agregados al cuadro de herramientas

Para agregar estos ActiveX estándar al cuadro de herramientas :

1. En el cuadro de Herramientas presione el botón derecho del mouse y seleccione Componetes (Components...)

2. Luego le aparecerá la sig. Ventana con la una

lista de componetes que puede insertar Selección solamente los Controles ActiveX Estandar, como son:

- Microsoft Common Dialog Control - Microsoft Data Bound Grid Control - Microsoft Data Bound List Control - Microsoft FlexGrid Control 3. Presione el boton de Acepar.

Visual Basic 6.0

En la tabla siguiente se enumeran los controles ActiveX estándar disponibles en Visual Basic.

ICONO NOMBRE DEL CONTROL NOMBRE DE CLASE DESCRIPCION

Dialogo común

CommonDialog

Proporciona un conjunto de cuadros de dialogo estándar para operaciones como abrir y guardar archivos, establecer opciones de impresión y seleccionar colores y fuentes.

Cuadro combinado enlazado de datos

DBCombo

Proporciona la mayoría de las funciones del control. ComboBox estándar, así como macro capacidad de acceso a datos.

Cuadricula Apex enlazada a datos

DBGrid

Control con apariencia de hoja de calculo y con enlaces de datos que presenta una serie de filas y columnas que representa una serie de filas y columnas que representan registros y campos de un objeto RecordSet.

Cuadro de lista enlazado a datos

DBList

Proporciona la mayoría de las características del control ListBox estándar, así como mayor capacidad de acceso a datos.

FlexGrid de Microsoft

MSFlexGrid

Es similar al control DBGrid, pero tiene características adicionales de formato, agrupación y enlace de datos, además de opciones de personalización.

Visual Basic 6.0

Convenciones de nomenclatura de los objetos Cuando crea u objeto (un formulario o un control) por primera vez, Visual Basic establece su propiedad Name a un valor predeterminado. Por ejemplo, todo los botones de comando tienen la propiedad Name establecida inicialmente a Commandn, donde n es 1, 2, 3 y así sucesivamente. Visual Basic llama al primer botón de comando de un formulario Command1, al segundo Command2 y al tercero Command3. Puede mantener los nombres predeterminados, sin embargo cuanto tiene varios controles del mismo tipo, es más lógico modificar las propiedades Name para que sean algo más descriptivas. Como puede ser difícil distinguir entre el botón Commnad1 de MiForm y el botón Command1 de SuForm, la convención de nomenclatura es recomendable, especialmente cuando una aplicación se compone de varios módulos de formulario, módulos estándar y módulos de clase. Puede utilizar un prefijo para describir la clase, seguido de un nombre descriptivo del control. El uso de eta convención de nombre hace que el código sea mas autodescriptivo y agrupa objetos similares alfabéticamente en el cuadro de lista Objeto. Los nombres de los formularios y los controles:

Deben empezar por una letra

Solo deben contener letras, números y carácter de subrayado (_); no se permiten signos de puntuación ni espacios en blanco.

No pueden tener una longitud mayor de 40 caracteres. Uso del valor de un control Todos los controles tienen una propiedad que se puede utilizar para almacenar u obtener valores mediante una referencia al control, sin mencionar el nombre de la propiedad. Esto se denomina valor del control y normalmente es la propiedad más importante o la mas frecuentemente utilizada del control. En la tabla siguientes enumeran las propiedades consideradas como valor de cada control. Control Propiedad

Casilla de verificación Value Cuadro combinado Text Botón de comando Value Dialogo común Action Datos Caption Cuadro combinado enlazado a datos Text Caudricula enlazada a datos Text Cuadro de lista enlazado a datos Text

Visual Basic 6.0

Control Propiedad

Cuadro de lista de directorios Path Cuadro de lista de unidades Drive Cuadro de lista de archivos FileName Marco Caption Barra de desplazamiento horizontal Value Imagen Picture Etiqueta Caption Linea Visible Cuadro de lista Text Botón de opción Value Cuadro de imagen Picture Forma Shpe Cuadro de texto Text Cronometro Enabled Barra de desplazamiento vertical Value El siguiente ejemplo muestra como se puede utilizar el valor de un control:

Me: se refiere al formulario.

Visual Basic 6.0

Controles Estándar de Visual Basic

Uso del Control PictureBox

El Control PictureBox presenta mapas de bits, iconos o metarchivos de Windows, archivos JPEG o Gif.

Cuando inserta el Control PictureBox observará lo siguiente. La propiedad mas común para este control es Picture, que puede ser modificada en modo diseño o en modo ejecución.

La asignación de una imagen en modo ejecución se hace con la función LoadPicture. Para ejemplificar ésto insertaremos un botón en el formulario y luego le asignaremos el siguiente código al evento click: Me.Picture1.Picture = LoadPicture("c:\mix\cursoVB\graficos\vbasic.jpg")

Cuando Ejecutamos el formulario y presionamos el botón Fijar Imagen, la imagen es mostrada en el control.

Visual Basic 6.0

Uso del Control FileListBox

El control FileLisBox Presenta una lista de archivos y permite que el usuario los seleccione.

Propiedades más comunes:

Nombre Descripción

Name Nombre del Control.

Pattern Indica los archivos que serán desplegados por el control (Ej: *.*, *.bmp, *.jpg, etc)

Path Ruta de acceso de donde se desplegarán los archivos (disponible solo en modo ejecución)

FileName Nombre del archivo seleccionado

Evento más común:

Nombre Descripción

Click Cuando presionamos el botón izquierdo del Mouse sobre el control

Ejemplo: Modificaremos la propiedad Pattern y la fijaremos con *.bmp, para que despliegue todos archivos con extensión BMP.

En el evento Load del formulario configuraremos el objeto file1, para que despliegue los archivos del directorio Windows: Me.File1.Path = "c:\windows"

Luego en evento Click del Control FileListBox, Introduciremos el código siguiente:

Me.Picture1.Picture = LoadPicture(“c:\windows\” & Me.File1.FileName)

Ahora cuando ejecute el formulario, mostrará las imágenes del directorio Windows y cuando usted le dé click en algun archivo, la imagen se mostrará en el control PictureBox.

Visual Basic 6.0

Uso del Control DirListBox

Presenta directorios y rutas de acceso, y permite que el usuario los seleccione

El Control DirListBox en el Formulario.

Propiedades más comunes:

Nombre Descripción

Name Nombre del Control.

Path Ruta de acceso de donde se desplegarán los archivos (disponible solo en modo ejecución)

Evento más común:

Nombre Descripción

Change Ocurre cuando el usuario selecciona un directorio diferente.

Ejemplo:

En el evento Load del formulario modificaremos el código de la siguiente manera: Me.File1.Path = "c:\" Me.Dir1.Path = "c:\"

En el evento Change del Control de Directorios (Dir1) pondremos el siguiente codigo: Me.File1.Path = Me.Dir1.Path

Visual Basic 6.0

En el evento Click del Control de Archivos (File1) modificaremos el codigo siguiente: Me.Picture1.Picture = LoadPicture(Me.Dir1.Path & "\" & Me.File1.FileName)

Ejecutamos el formulario y ahora podemos seleccionar el directorio y cuando lo seleccionamos nos muestra los archivos *.bmp de ese directorio.

Uso del Control DriveListBox

El control DriveListBox presenta unidades de disco validas y permite que el usuario las seleccione. En el evento Change podremos el siguiente codigo: Me.Dir1.Path = Me.Drive1.Drive

Propiedades más comunes:

Nombre Descripción

Name Nombre del Control.

Drive Contiene la unidad de disco seleccionada

Evento más común:

Nombre Descripción

Change Ocurre cuando el usuario selecciona una unidad diferente.

Visual Basic 6.0

Uso del Control OptionButton

El control OptionButton, como parte de un grupo de opciones con otros botones de opción, presenta varias opciones entre las que el usuario solo puede elegir una. Propiedades más comunes:

Nombre Descripción

Name Nombre del Control.

Value True: Cuando esta seleccionado False: Cuando esta sin selección

Caption Contiene la Etiqueta que se mostrará al usuario

Evento más común:

Nombre Descripción

Click Ocurre cuando el usuario selecciona una unidad diferente.

Ejemplo: Crearemos la siguiente lista de opciones para mostrar los tipos de archivos.

Para ello veremos que tendremos que crear una matriz de controles. Matriz de Controles: Conjunto de controles del mismo tipo.

Para crear la matriz de controles de OptionButton realizamos lo siguiente: 1. Ponemos el Primer OpctionButton en el formulario 2. Luego lo copiamos y pegamos( y ) 3. Inmediatamente le aparecerá el mensaje de que si desea crear un Arreglo de Controles (Control Array), entoces respondemos que si. 4. Para crear la siguiente opción copie y pegue el mismo control.

Los controles tomaran los nombres que aparecen en la figura. El número que esta entre parentesis es el Index (número indice).

Siguiendo con el ejemplo, pondremos a True la propiedad value del Option1(0). Luego en el Evento Click del control pondremos el siguiente código:

Private Sub Option1_Click(Index As Integer)

If Index = 0 Then

Me.File1.Pattern = "*.bmp"

End If

If Index = 1 Then

Me.File1.Pattern = "*.gif"

End If

If Index = 2 Then

Me.File1.Pattern = "*.jpg"

End If

End Sub

Visual Basic 6.0

Algunas Funciones Utiles Funciones de Cadena:

Función Descripción

Str (número) Convierte un número a una cadena en numeración decimal.

Val(cadena numérica) Obtiene el valor (el número) correspondiente a esa cadena.

Left (cadena, n) Extrae los n primeros caracteres de una cadena, comenzando por la izquierda. Si cadena = “Curso de Visual Basic” (Para todos los ejemplos)

Resultado = Left (cadena, 10) ----> Resultado = “Curso de V”

Right (cadena, n) Extrae lo n últimos caracteres de la cadena Resultado = Right (cadena, 10) ----> Resultado = “sual Basic”

Mid (cadena, m, n) Extrae n caracteres de la cadena, siendo el primer carácter extraído el que ocupa el lugar m. Resultado = Mid (cadena, 3, 10) ----> Resultado = “rso de Vis”

Resultado = Mid (cadena, 3, 10) ----> Resultado = “rso de Vis”

LCase (cadena) Devuelve otra cadena igual, pero con todos los caracteres en minúsculas. (LCase = Lower Case) Resultado = Lcase (cadena) ----> Resultado = “curso de visual

basic”

UCase (cadena) Devuelve otra cadena igual, pero con todos los caracteres en mayúsculas. (UCase = Upper Case) Resultado = UCase (cadena) ----> Resultado = “CURSO DE

VISUAL BASIC”

Len (cadena) Devuelve la longitud de la cadena Resultado = Len (cadena) ----> Resultado = 21

LenB (Cadena) Devuelve el número de Bytes empleados para almacenar la cadena. Sorpréndase, es el doble que Len (Cadena)

String (n, carácter) Devuelve una cadena de n caracteres como el indicado Resultado = String (8, "a") ----> Resultado = “aaaaaaaa”

Resultado = String (8, Chr(65)) ----> Resultado = “AAAAAAAA”

Resultado = String (8, 65) ----> Resultado = “AAAAAAAA”

Space (n) Devuelve una cadena formada por n espacios. Resultado = "A" + Space (6)+ "B" ----> Resultado = “A B”

Visual Basic 6.0

Función Descripción

Ltrim Elimina los posibles espacios que tenga una cadena por su izquierda.

Rtrim Elimina los posibles espacios que tenga una cadena por su derecha.

Trim Elimina los espacios que tenga una cadena, tanto por su izquierda como por su derecha. (No elimina los espacios centrales de la cadena)

InStr (cadena, cadena1) Busca la cadena1 dentro de cadena y devuelve el número de orden dentro de cadena donde se encuentra la primera letra de cadena1 Resultado = InStr (cadena, "sua") ----> Resultado = 12

StrConv Convierte una cadena de caracteres en otra, según las instrucciones que le sigan. Puede sustituir a UCase o LCase si la instrucción es UpperCase o LowerCase respectivamente, o poner la primera letra de todas las palabras de la cadena en mayúsculas, si la instrucción es ProperCase. Resultado = StrConv (cadena, UpperCase) ----> Resultado = “CURSO

DE VISUAL BASIC”

Resultado = StrConv (cadena, LowerCase) ----> Resultado = “curso de

visual basic”

Resultado = StrConv (cadena, ProperCase) ----> Resultado = “Curso De

Visual Basic”

Visual Basic 6.0

Funciones con Números:

Función Descripción

Cint Parte entera, Devuelve la parte entera de un número con decimales

Abs Valor Absoluto, Devuelve el valor absoluto de un número

Sgn Signo, Devuelve el signo de un número

Sqr Raíz cuadrada, Devuelve la raíz cuadrada de un número

Exp Exponenciación, Devuelve el número elevado al exponente indicado

Log Logaritmo, Devuelve el logaritmo natural de ese número

Sin Seno, Devuelve el valor del seno de un ángulo (Expresado en radianes)

Cos Coseno, Devuelve el coseno de un ángulo (En radianes)

Tan Tangente, Devuelve la tangente de un ángulo

Atn Arco Tang. Devuelve un arco cuya tangente sea el número (Angulo en radianes)

Timer Tiempo acumulado, Devuelve el tiempo (en segundos) que ha pasado desde las 12 de la noche.

Randomize (Numero) Generación de números aleatorios, Inicia el generador aleatorio tomando como dato de partida el Numero. Devuelve el resultado en una variable llamada Rnd.

NOTA MUY IMPORTANTE.- Los números aleatorios generados de esta forma son siempre iguales, eso sí, dependiendo del número que se le introduzca como parámetro. Esta generación de números no produce números aleatorios pues como se dijo, dependen del numero que se meta como parámetro, y si este se repite, se repite la sucesión de números que nos crea el generador aleatorio. La forma de obtener números realmente aleatorios es introducir como parámetro un número que sea variable con el tiempo. Ese número no puede ser otro que el número timer visto antes. Y siempre con la precaución de que medie mas de un segundo entre dos instrucciones Randomize. La función toma entonces la forma: Randomize Timer La función Randomize devuelve una variable Rnd con un número comprendido entre 0 y 1 (Nunca será 0 ni 1) Leyendo el valor de la variable sucesivas veces, se puede obtener una sucesión de números aleatorios. No es necesario ejecutar la instrucción Randomize Timer cada vez que se quiera obtener un dato de la variable Rnd. Un ejemplo. Generador de números para la Lotería Primitiva Supongamos que tenemos un formulario con una etiqueta de nombre Label1, un botón de comando de nombre Command1. Cuando hagamos click sobre el botón de comando

Visual Basic 6.0

deberá generar un número comprendido entre el 1 y el 49. En el procedimiento click de Command1 pondremos el siguiente código:

Visual Basic 6.0

Private Sub Command1.click

Randomize Timer

A = Rnd

A = Rnd * 100

A = CInt(A)

Do While A > 49

A = A - 49

Loop

Do While A < 1

A = A + 49

Loop

Label1.caption = A

End Sub

Realice este pequeño programa, con la instrucción Randomize Timer y sin ella.

Visual Basic 6.0

Funciones con fechas:

Las fechas son cadenas especiales. Visual Basic sabe obtener y tratar la información relativa a la fecha y la hora. Dispone para ello de una declaración de variable: Date. Una variable declarada como date puede contener una fecha, una fecha y una hora o una hora solamente.

Función Descripción

Date Devuelve la fecha de hoy. Esta fecha la toma del reloj del ordenador.

Time Devuelve la hora actual.

Now Devuelve la fecha y hora actual.

WeekDay Devuelve el día de la semana (En número, 1=Domingo, 2=Lunes,...)

Day Obtiene el día, a partir de una fecha

Month Obtiene el mes a partir de una fecha.

Year Obtiene el año a partir de una fecha.

Hour Obtiene la hora a partir de una hora

Minute Obtiene el minuto a partir de una hora.

Second Obtiene el segundo a partir de una hora.

DateAdd Añade un intervalo de tiempo a una fecha

DateDiff Obtiene el intervalo de tiempo entre dos fechas

DatePart Devuelve una parte de una fecha (semana, trimestre, etc.)

DateSerial Compone una fecha a partir de parámetros relativos

TimeSerial Compone una hora a partir de parámetros relativos.

DateValue Devuelve una fecha a partir de un dato que se le parezca y VB pueda obtener de él una fecha válida

Mediante estas instrucciones podemos obtener el dato necesario de una fecha u hora. Por ejemplo, para obtener el día de hoy solamente: Día = Day (Now) Día será un número El día de la semana lo obtendríamos Diasemana = WeekDay (Now) Diasemana será un número DateValue, una instrucción que le sacará mucho provecho Fecha = DateValue (120796) Fecha = DateValue (12 07 96) Fecha =12/07/96

Visual Basic 6.0

Función FORMAT Esta función permite presentar cadenas de numéricas o fechas de una determinada forma. Permite establecer el Formato de esa cadena. Si recurre a la ayuda de VB acerca de esta función se va a enterar muy poco de lo que puede dar de sí. La sintaxis que presenta es :

Format(expresión[, formato[, primerdíadesemana[, primerasemanadelaño]]]) Lo mejor que puede hacer con esta definición de la sintaxis de Format es olvidarla. No le aclara mucho lo que se puede hacer con Format. La función Format se usa para poner una fecha en un determinado formato. Con la expresión : FechadeHoy = Format (Now, “yyyy-mm-dd”) la variable FechadeHoy tendrá el valor 1998-05-21, que se refiere al día 21 de mayo de 1998, según el formato recomendado por la norma ISO-8601 para la presentación de fechas. Si hubiésemos puesto la expresión FechadeHoy = Format (Now, “dd/mm/yy”) , la variable FechadeHoy contendría el valor 21/05/98 referido al día citado. Las posibilidades de Format llegan también al campo de las cadenas numéricas. Por ejemplo la cifra 123456 se transformará en las siguientes expresiones, según como empleemos la función Format Variable = Format(123456, "Currency") Variable = 123.456 Pts Variable = Format(123456, "Standard") Variable = 123.456,00 Veamos ahora con un poco mas de conocimiento la sintaxis de Format

Variable = Format (expresión[, formato[, firstdayofweek[, firstweekofyear]]]) Donde expresión es una cadena o fecha válida formato es uno de los formatos predefinidos (Standard, Currency, etc. Vea mas abajo) firstdayofweek. Especifica el primer día de la semana. Puede tomar uno de estos valores o constantes : Constante Valor Descripción

vbUseSystem 0 El especificado en el sistema operativo. VbSunday 1 Domingo (valor por defecto) vbMonday 2 Lunes vbTuesday 3 Martes vbWednesday 4 Miércoles vbThursday 5 Jueves vbFriday 6 Viernes vbSaturday 7 Sábado firstweekofyear Especifica cual es la primera semana del año. Puede tomar uno de los siguientes valores o constantes :

Visual Basic 6.0

Constante Valor Descripción

vbUseSystem 0 Usa el valor del sistema operativo vbFirstJan1 1 La primera semana es la que contiene al día 1 de Enero(Valor

por defecto vbFirstFourDays 2 La primera semana es la que contiene al menos, 4 días de ese

año (Rec. ISO - 8601) vbFirstFullWeek 3 La primera semana es la que tiene todos sus días en ese año No se complique la vida con el tema del primer día de la semana ni la primera semana del año. No lo usará con frecuencia. Centrémonos mas en el parámetro Formato. Puede tomar muchos valores. Veamos los principales. Primero para números Observe que usamos la expresión Variable =Format (1234567,”Formato”) para todos los ejemplos de números. Para poner los números separados por millares : Variable = Format(1234567, "##,###,###") Variable = 1.234.567 (Cada carácter # indica que ahí va un número. El separador debe ser una coma, no un punto, aunque esto depende del idioma que esté usando) Puede poner una de estas expresiones, eso si, siempre entre comillas dobles : General Number Muestra el número tal como lo tecleó Currency En formato de la moneda de su sistema operativo Fixed Sin separador de millar y dos decimales (1234567,00) Standard Con separador de millares y dos decimales (1.234.567,00) Percent Multiplica el número por cien y lo presenta cono

porcentaje(123456700,00%) Scientific Usa notación científica (1,23E+06) . Para fechas (Observe que usamos el ejemplo Format(Now, “Formato”) y Now = 21/07/98

a las 22:16:00 y pico) General Date 21/07/98 22:16:00 Long Date martes 21 de julio de 1998 Medium Date 21-jul-98 Short Date 21/07/98 yyyy-mm-dd 1998-05-21 yy-mm-dd 98-07-21 Long Time 22:19:53 Medium Time 10:20 PM Short Time 22:20 hh :mm :ss 22 :21 :29 hh :mm 22 :21

Visual Basic 6.0

Carácterísticas del Lenguaje Visual Basic

CCoommeennttaarriiooss Cuando una frese va precedida de una comilla simple ( ' ), Visual Basic interpreta que esa frase es un comentario y no ejecuta acción alguna sobre ella. Por ejemplo: 'Calculo de la velocidad media

suma = 0 ' Se inicializa la variable suma al valor 0

CCoonnssttaanntteess NNuumméérriiccaass yy ddee CCaarraacctteerreess Una constante es un valor que no cambia durante la ejecución de un programa. Visual Basic admite números y caracteres.

VVaarriiaabblleess Una variable contiene un valor que puede modificarse a lo largo de la ejecución de la aplicación. Cada variable tiene atributos propios como:

Nombre : Es el nombre que utilizamos para referirnos a la variable en la aplicación.

Tipo : El tipo determina qué clase de valores puede almacenar ( numérico, carácter, fecha, etc)

Ambito : El ámbito de una variable especifica en qué parte de la aplicación la variable es conocida y por lo tanto puede utilizarse.

NNoommbbrreess ddee VVaarriiaabblleess El nombre de una variable tiene que comenzar por una letra, puede tener hasta 255 caracteres de longitud y debe ser único dentro de su ámbito. Los caracteres pueden ser letras, dígitos y el carácter de su subrayado. No se puede utilizar el punto ni otros caracteres que tienen un significado especial para Visual Basic; por ejemplo, los paréntesis. Una palabra reservada tiene un significado especial para Visual Basic. Son palabras reservadas las sentencias predefinidas (For), los nombres de las funciones(Val), métodos o eventos (Click), propiedades (Caption), tipos (Integer) y operadores and). El nombre de una variable no puede ser una palabra reservada.

Visual Basic 6.0

TTiippooss ddee ddaattooss Una variable puede ser de alguno de los tipos de datos siguientes: Tipo Descripción Rango Integer Entero -32768 a ( 2 bytes ) 32767 Long Entero largo -2147483648 a (4 bytes) 2147483648 Single Real simple -3.40E+38 a precisión (4bytes) -3.40E+38 Double Real Doble -1.79D+308 a precisión (4bytes) 1.79D+308 Currency Númerico con punto -922337203685477.58 a Decimal fijo (8bytes) 922337203685477.58 String Cadena de caracteres 64K cars. en 16-bits ( 1 byte por carácter ) 2

31 cars. en 32-bits

Byte Carácter (1 byte) 0 a 255 Boolean Boolean (2 bytes) True o False Date Fecha/hora (8 bytes) 1/Enero/100 a 31/Dic/9999 Object Referencia a un objeto Cualquier referencia a un objeto Variant Con números Cualquier valor numérico 16 bytes hasta el intervalo de Un tipo Double Antes de utilizar una variable, es un buen hábito declarar su tipo. Una forma de hacer esto es utilizando la sentencia Dim ( o una de la palabras Public, Private o Static). Cualquier declaración de éstas inicializa las variables numéricas con el valor cero y las variables alfanuméricas con el carácter nulo. Por ejemplo: Dim I As Integer

Dim R As Double

Dim Nombre As String

Dim Etiqueta As String * 10

Dim F As Currency

Dim L As Long, X AS Currency

Las sentencias anteriores declaran I como una variable entera, R como una variable real de

precisión doble, Nombre como una variable para contener una cadena de caracteres de longitud

variable, Etiqueta como una cadena de caracteres de longitud fija (10 caracteres), F como una

variable entera larga y X como una variable fraccionaria. Observe que en una sentencia Dim puede

realizar más de una declaración. Cuando se declara una variable y no se especifica su tipo, se asume que es de tipo Variant. Por ejemplo:

Visual Basic 6.0

Dim A, B As Integer

La sentencia anterior le puede inducir a pensar que A y B son de tipo entero, lo cual no es cierto; A es de tipo Variant (por defecto) y B es de tipo Interger. Si una variable se utiliza y se declara, se asume que es de tipo Variant. Por ejemplo: L = "Dato:"

L = 3.2567

Suponiendo que L no ha sido declarada explícitamente, las sentencias anteriores declaran L como una variable Variant que ha cambiado su tipo para comportarse como una cadena de caracteres, y continuación vuelve a cambiar su tipo para comportarse como una variable real de doble precisión.

DDeeccllaarraacciióónn eexxppllíícciittaa En Visual Basic no es necesario declarar una variable antes de utilizarla. Sin embargo, esta forma de trabajar puede ser una fuente de errores. Por ejemplo: Dim M As Integer, N As Integer

VarTEmp = M

' ...

N = VaTemp

En este ejemplo, VarTEmp no se ha declarado explícitamente. Esto no supone un Error, ya que Visual Basic se encarga de crear dicha variable. Ahora observe que, por error, el nombre de esa variable se ha escrito mal en la última sentencia. Cando Visual Basic encuentra un nuevo nombre no puede determinar si es debido a un error o a la definición de una nueva variable. Para evitar este tipo de errores, podemos indicar a Visual Basic que genere un mensaje de error siempre que encuentre una variable no declarada explícitamente. Para ello, escribiremos la sentencia siguiente en la sección de Declaraciones del formulario, del módulo o de la clase: Option Explicit

Esta sentencia opera sólo en el formulario o en el módulo donde se haya puesto. Para tener esa opción activa para todo el código de una aplicación, ejecute la orden Opciones del menú Herramientas, elija elija el dialogo Entorno (Edition v6.0) y Seleccione la opción Declaración de

Variables Requerida. Seleccionada esta opcion agrega la sentencia Option Explicit en

cualquier nuevo modulo que creemos.

Visual Basic 6.0

AAmmbbiittoo ddee llaass VVaarriiaabblleess Se entiende por ámbito de una variable el espacio de la aplicación donde la variable es visible y por lo tanto se puede utilizar. La figura siguiente indica los lugares donde se puede declarar una variable.

Aplicación

La tabla siguiente resume cómo debe declararse una variable en función del espacio donde deseamos Ambito Declaración Local Dim, Static, o ReDim (Dentro de un procedimiento) Módulo Dim o Private (sección de declaraciones del módulo) Global Public (sección de delclaraciones de un módulo) A nivel del módulo, no hay diferencias entre Dim y private, pero se aconseja utilizar private en contraste con Public Recuerde que un formulario (.frm) incluye controles mas código y que en módulo (.bas) o una clase (.cls) incluye solo código.

Variables utilizadas por todos los módulos (declaración Public en cualquier módulo)

Modulo (formulario, mod. Estandar o clase)

Variables Utilizadas dentro del módulo (declaración Dim o Private en el módulo)

Procedimientos

Variables Locales

(Dim o Static)

Variables Locales

(Dim o Static)

Visual Basic 6.0

VVaarriiaabblleess llooccaalleess Una Variable Local se reconoce solamente en el procedimiento en el que está definida. Fuera de ese procedimiento, la variable o es conocida. Su utilización más común es intervenir en cálculos intermedios. Para declarar una variable local a un procedimiento, coloque la sentencia Dim correspondiente dentro del mismo. Por ejemplo: Private Sub Grados_C_KeyPress(KeyAscii As Integer)

Dim GradosFahr As Double

If (KeyAscii = 13) Then

GradosFahr = Val(Grados_C.Text) * 9 / 5 + 32

Grados_F.Text = Format$(GradosFahr)

End If

End Sub

Una variable local es reinicializada cada vez que se entra en el procedimiento. En otras palabras, una variable local no conserva su valor entre una llamada al procedimiento y la siguiente. Para hacer que esto suceda, hay que declarar la variable estática. Visual Basic reinicializa una variable estática solamente la primera vez que se llama al procedimiento. Para declarar una variable estática, utilice la palabra Static, en lugar de Dim. Por Ejemplo: Static var_ent As Integer

Para hacer que todas las variables de un procedimiento sean estáticas, declare el procedimiento estático. Por ejemplo: Public Static Sub Test()

'...

End Sub

Si una variable aparace en un procedimiento y no está explícitamente declarada, es por defecto local. En cualquier caso, se aconseja declarar todas las variables explicitamente.

VVaarriiaabblleess GGlloobbaalleess Una variable global es una variable declarada a nivel del módulo pero que puede ser accesida desde cualquier otro modulo. Para hacer que una variable sea global o pública, hay que declararla Public en la sección de declaraciones del modulo. Por Ejemplo: Public var1_global As Double, var2_global As String

Cuando una variable Public, por Ejemplo Conta, se declara en un formulario, por ejemplo Form1, para acceder a ella desde otro módulo es necesario especificar su pertenencia; esto es, de qué objeto es dato miembro dicha variable: MsgBox Form1.Conta 'Visualiza el Valor de conta

No se pueden declarar varaibles globales en un procedimiento

Visual Basic 6.0

VVaarriiaabblleess ccoonn eell mmiissmmoo nnoommbbrree Una variable local y otra a nivel del módulo pueden tener el mismo nombre, pero no son la misma varaible. La regla para estos casis es que el procedimiento siempre pre utiliza la variable de nivel más cercano ( local, módulo y global ). En otro caso, debe de calificar la variable. Por ejemplo: Public Tem As Integer 'declaración en Form1

Public Sub Test() 'procedimiento en Modulo1

Dim Temp As Integer

Temp = 10 'referencia a la variable local

MsgBox Form1.Temp 'referencia a la variable global

End Sub

Si varias variables públicas comparten el mismo nombre en diferentes módulos, para diferenciarlas en el momento de referenciarlas es necesario especificar su pertenencia. Por ejemplo, si hay una variable entera X declarada en los módulos Form1 y Modulo1, nos podemos referir a ellas así: MsgBox Form1.X 'vizualiza el valor de la X en Form1

MsgBox Modulo1.X 'visualiza el valor de la X de Modulo1

Es una buena práctica en programación que los nombres de las variables sean diferentes entre sí, de los nombres de las propiedades y de los módulos.

CCoonnssttaanntteess SSiimmbbóólliiccaass A menudo utilizamos valores contantes una y otra vez en el código, o bien el código depende de ciertos números dificiles de recordar. En estos casos, la mejor solución es definir estos valores como constantes simbólicas y utilizar en lo suvesivo los nombres que identifican estas constantes. Para definir una constante simbólica, utilice la sigueinte sintanxis: [Public | Private] Const constante [ As Tipo ] = expresion

Para nombrar una constante, se utilizan las mismas reglas que se aplican para crear variables. La expresión puede ser numérica, alfanumérica o de tipo fehca y hora. Por ejemplo: Public Const MAX_ELEMS = 99

Public Const VERSION = "ver. 4.05"

Const PI = 3.1415926, DOS_PI = 2 * PI

Const FECHA_POR_DEFECTO = #14/09/99#

Es una buena práctica definir todas las constantes globales en un único módulo. El ámbito de una constante se define por las mismas reglas que las variables.

Visual Basic 6.0

Utilizando el examinador de objetos (object browser) incluido en Visual Basic puede ver y utilizar, sin necesidad de declarar, muchas de las constantes que usted pueda necesitar. Para ello pulse la tecla F2 o ejecute la orden Examinador de Objetos del menú Ver. La ventana que se visuliza se muestra a continuación:

OOppeerraaddoorreess La tabla que se muestra a continuación presenta el conjunto de operadores que soporta Visual Basic colocados de mayor a menor prioridad ( entre ellos y entre categorías ). Los operadores que aparecen sobre una misma línea tienen igual prioridad. Las operaciones entre paréntesis se evalúan primero, ejecutandose primero los paréntesis más internos. Tipo Operación Operador Aritmético Exponenciación ^ Cambio de Signo - Multiplicación y división * , / División Entera \ Residuo de una División Entera Mod Suma y Resta + , - Concatenación Concatenar o enlazar & Relacional Igual, distinto, menor, mayor, ... =,<>,<,>,<=,>= Otros Comparar dos expresiones de cars. Like Comparar dos referencias a objetos Is Lógico Negación Not And And Or inclusiva Or Or exclusiva Xor Equivalencia (Opuesto a Xor) Eqv Implicación Imp (falso si primer operando verdadero

y segundo operando falso)

Visual Basic 6.0

UUttiilliizzaacciióónn ddeell TTiippoo VVaarriiaanntt El tipo de dato Variant permite almacenar todos los tipos de datos definidos, como por ejemplo, datos enteros, reales, cadenas de caracteres, o datos relativos a la fecha y a la hora, lo que lo define como un tipo genérico. Cuando Visual Basic opera con datos de tipo Variant, ejecuta automáticamente las conversiones necesarias. No obstante, hay que tener en cuenta las siguientes consideraciones:

Cuando se ejecutan operaciones aritméticas con variables de tipo Variant, su contenido tiene que poder ser convertido a un valor numérico.

Cuando se ejecutan operaciones aritméticas sobre una variable Variant que contiene un Byte, un Integer, un Long o un Single y el resultado exede del rango del tipo original, el tipo de la variable pasa a ser el necesario para contener el resultado.

Como el operador + puede ser utilizado para sumar valores y concatenar cadenas de caracteres, dependiendo del contenido de las variables, los resultados pueden ser inesperados. Por ello, para concatenar variables de tipo Variant, y en general para evitar ambigüedades, utilizaremos el operador &, en lugar del operador +. El operador & ejecuta la concatenación sin tener en consideración qué contiene las variables.

Si intenta ejecutar una operación o función matemática sobre una variable Variant que no contenga un valor que pueda ser interpretado como un número, ocurrirá un error. Para evitar eso, utilice la función IsNumeric para interrogar si dicha variable contiene un valor que pueda ser utilizado como un número. Por ejemplo: Dim Dato 'Variant por defecto

Dato = "123A" 'cadena de caracteres "123A"

If IsNumeric(Dato) Then

Dato = Dato + 1111

Else

Dato = Dato & "5" 'cadena de caracteres "123A5"

End If

Cuando usted quiera conocer el tipo de dato que almacena una variable Variant, utilice la función VarType. Por Ejemplo: Sub TipoDato (Dato As Variant)

Dim tipo As Integer

Tipo = VarType(Dato)

Select Case Tipo

Case 0

MsgBox "Vacío" Case 1

MsgBox "Null" Case 2

MsgBox "Integer: " & dato

Case 3

MsgBox "Long: " & dato Case 4

MsgBox "Single: " & dato Case 5

MsgBox "Double: " & dato Case 6

MsgBox "Currency: " & dato

Visual Basic 6.0

Case 7

MsgBox "Fecha/Hora: " & dato Case 8

MsgBox "String: " & dato Case 11

MsgBox "Boolean: " & dato Case 17

MsgBox "Byte: " & dato

End Select

End Sub

CCoonnvveerrssiioonneess ddee TTiippooss ddee DDaattooss Visual Basic proporciona las funciones de conversión siguientes: CBol(expresión) conversión a un valor tipo Boolean CByte(expresión) conversión a un valor tipo Byte CCur(expresión) conversión a un valor tipo Currency CDate(expresión) conversión a un valor tipo Date CDbl(expresión) conversión a un valor tipo Double CInt(expresión) conversión a un valor tipo Integer CLng(expresión) conversión a un valor tipo Long CSng(expresión) conversión a un valor tipo Single CStr(expresión) conversión a un valor tipo String CVar(expresión) conversión a un valor tipo Variant CErr(expresión) conversión a un valor tipo Error Las variables Variant también pueden contener calores de tipo Date y con ellas, puede ejecutar operaciones aritmeticas y comparaciones. Por ejemplo: Dim Dato 'Variant por defecto

Dato = Now 'Now Devuelve la Fecha y Hora Actual (dd/mm/aa hh:mm:ss)

Dato = Dato - 1 'menos 1 dia

If Dato > #24/10/95 3:00:00# Then

Dato = Dato - 1/24 'menos 1 hora

End If

Dato = Dato - (10/24/60) 'menos 10 minutos

Para verificar si un determinado valor puede sonsiderase comouno del tipo Date (fecha/hora), utilice la función IsDate. Para saber si una variable Variant ho ha sido incializada, es decir que contiene "" Vacío (Carácter) o Cero (para los numericos), utilice la Función Empty(). Para saber si contiene un valor Null utilice IsNull()

Visual Basic 6.0

EEll ttiippoo SSttrriinngg Una variable de tipo String permite almacenar una cadena de caracteres y manipularla utilizando las funciones proporcionadas por Visual Basic. Por Ejemplo: Private Sub Command1_Click()

Dim Nombre As String

Nombre = “Marvin Cardoza”

Nombre = Left(Nombre,4)

End Sub

Despues de ejecutarse este procedimiento, el contenido de Nombre es “Marv”. La varaible Nombre está definida como una cadena de caracteres de longitud variable. Para declarar Nombre como una cadena de caracteres de longitud fija, por ejemplo, de 60 caraceres, proceda como se indica a continuación: Dim Nombre As String * 60

Nombre = “Marvin Cardoza”

En el ejemplo anterior, si asignamos a Nombre menos de 60 caracteres, se completa con espacios en blanco hasta 60 caracteres. Em estos casos pueden ser útiles las funciones Ltrim, Rtrim, Trim, que devuelven la cadena de caracteres sin espacios a la izquierda, sin espacios a la derecha o sin espacios a la izquierda y a la derecha, respectivamente.

SSeenntteenncciiaass ddee CCoonnttrrooll Las sentencias de control, denominadas también estructuras de control, permiten tomar decisiones y realizar un procesos repetidas veces. Visual Basic dispone de las siguientes estructuras:

If ... Then ... Else

Select Case

Do ... Loop

For ... Next

For Each ... Next

If ... Then ... Else If condición Then sentencia(s) [Else sentencia(s)] If condición Then sentencias(s) [Else sentencia(s) ] End If If KeyAscii = 13 then

GradosFahr = Val(Grados_C.Text) * 9 / 5 + 32

Grados_F.Text = Format$(GradosFahr)

End If

Visual Basic 6.0

Para indicar que se quiere ejecutar uno de varios bloques de sentencias dependientes cada uno de ellos de una condición, la estructura adecuada es la siguiente:

If condición Then Sentencia-1 [ElseIf condición Then sentencias-2]... [Else sentencia-n ] End If

Ejemplo: If C > 100 Then

Resu = C * P * 0.6

ElseIf C >= 25 Then

Resu = C * P * 0.8

ElseIf C >= 10 Then

Resu = C * P * 0.9

Else

Resu = C * P

End If

Select Case Esta sentencia permite ejecutar una de varias acciones en función del valor de una expresión. Es una alternativa a If ... Then ... ElseIf cuando se compara la misma expresión con diferentes valores. Select Case expr-test Case lista-1 [sentencias-1] [ Case lista-2 ]] ... [sentencias-2] [ Case lista-n ]] [sentencias-n]]

End Select Select Case X

Case 1

Text.Text = “1”

Case 2,3

Text.Text = “2 o 3”

Case 4 To 9

Text.Text = “4 a 9”

Case Else

Text.Text = “X<1 o X>9 ”

End Select

Visual Basic 6.0

Do ... Loop Un Loop (bucle) repite la ejecución de un conjunto de sentencias mientras una condición dada sea cierta, o hasta que una condición dada sea cierta. La condición puede ser verificada antes o después de ejecutarse el conjunto de sentencias. Formato 1: Do [ { While | Until } condición ] [sentencias] [Exit Do] [sentencias] Loop Formato 2: Do [sentencias] [Exit Do] [sentencias] Loop [ { While | Until } condición ] Donde condición es cualquier expresión que se evalúe a True o a False. Esta sentencia nos permite realizar varias estructuras diferentes. Permite, como se aprecia en los formatos, crear bucles con la condición de terminación al final o al principio del bloque de sentencias. Por ejemplo; Sub Form_Click()

Dim I As Integer, Suma As Integer

I = 1

Do While I <= 99 „Hacer mientras I <= 99

Suma = Suma + I

I = I + 2

Loop

End Suma

En este ejemplo indica que cuando hagamos clic sobre el formulario se visualizará sobre el mismo la suma de los números impares entre 1 y 99. El mismo resultado se obtiene con el ejemplo que se presenta a continuación: Sub Form_Click()

Dim I As Integer, Suma As Integer

I = 1

Do „Hacer hasta que I < 1

Suma = Suma + I

I = I - 2

Loop Until i < 1

End Suma

La sentencia Exit Do permite salir de un bucle Do ... Loop antes de que finalice éste.

Visual Basic 6.0

For ... Next La sentencia For da lugara un lazo o bucle, y permite ejecutar un conjunto de sentencias cierto número de veces. For variable = expresión 1 To expresión 2 [Step expresión 3] [sentencias] [Exit For] [sentencias] Next [variable[,variable]...] La sentencia Exit For permite salir de un bucle For ... Next antes de que éste finalice. Ejemplo: Sub Form_Click()

Dim I As Integer, Suma As Integer

For I = 1 To 99 Step 2 „Para I=1,3,5.... hasta 99

Suma = Suma + 1

Next I

End Sub

Este ejemplo indica que cuando hagamos clic sobre el formulario se visualizará sobre el mismo la suma de los números impares entre 1 y 99. Si el valor de la expresión 3 es negativo, se comprueba si la variable es menor que la expresión 2, encuyo caso se pasa a ejecutar la siguiente sentencia Next. En otro caso, se ejecuta el bucle y se decrementa la variable. Este proceso se repite hasta que la variable sea menor que la expresión 2. Por ejemplo: Sub Form_Click()

Dim I As Integer, Suma As Integer

For I = 99 To 1 Step -2 „Para I=99,97.... hasta 1

Suma = Suma + 1

Next I

End Sub

Visual Basic 6.0

For Each ... Next La sentencia For Each ... Next es similar a la sentencia For, con la diferencia de que ahora se repite un grupo de sentencias por cada elemento de una colección de objetos o de un array. Esto es especialmente util cuando no conocemos cuántos elementos hay en la colección o en el array. Su sintaxis es la siguiente: For Each elemento In grupo [sentencias] [Exit For] [sentencias] Next elemento Donde elemento es una variable de tipo Variant que representa a cada uno de los elementos de la colección o del array representado por grupo. Por ejemplo, el procedimiento que se muestra suma los elementos de un array pasado como argumento: Sub Form_Click()

Dim X, Suma

For Each X In Array

Suma = Suma + X

Next I

MsgBox Suma

End Sub

La sentencia For de este ejemplo indica que por cada valor X en el array ArrayX se ejecute la sentencia: Suma = Suma + X

AArrrraayyss Un array permite referirse a una serie de elementos del mismo tipo por un mismo nombre y referenciar un único elemento de la serie utilizando un índice. Visual Basic, permite definir arrays de variables de una o más dimensiones y de cualquier tipo de datos (tipos fundamentales y tipos definidos por el usuario), e introduce una nueva clase de arrays, arrays de controles, necesarios para escribir menús, para crear nuevos controles en tiempo de ejecución o para hacer que una serie de controles tengan asociado un mismo procedimiento para cada tipo de suceso.

AArrrraayyss ddee vvaarriiaabblleess Los arrays discutidos en este apartado permiten referirse a una serie de variables por un mismo nombre y acceder individualmente a cada una de ellas utilizando un índice (variables subindicadas). Este tipo de arrays tiene que declarse en el código y pueden tener una o más dimensiones.

Visual Basic 6.0

AArrrraayyss eessttááttiiccooss Para declarar un array estático (array con un número fijo de elementos), Visual Basic hace tres consideraciones importantes:

Para declarar un array global, hágalo en la sección de declaraciones de un módulo utilizando la sentencia Public.

Para declarar un array a nivel de un módulo, hágalo en la sección de declaraciones del modulo utilizando la sentencia Private o Dim.

Para declarar un array local a un procedimiento, utilice la sentencia Dim o Static dentro del propio procedimiento.

Un array tiene que ser declarado explícitamente, y los índices del mismo deben estar en el rango -2

31 a 2

31. A continuación se muestran algunos ejemplos:

Dim Array_A(19) As String 'Arreglo de 19 posiciones tipo carácter

Dim ArrayB(5,7) As Integer 'Declara un arreglo de 5 columnas y 7 filas

AArrrraayyss DDiinnáámmiiccooss Cuando las dimensiones de un array no son siempre las mismas, la mejor forma de especificarlas es mediante variables. Un array declarado de esta forma es un array dinámico. El espacio necesario para un array estático se asigna al iniciarse el programa y permanecerá fijo. El espacio para un array dinámico será asignado durante la ejecución del programa. Un array dinámico, puede ser redimensionado en cualquier momento durante la ejecución. Para crear un array dinámico:

Declare el array en la sección de declaraciones de un modulo con una sentencia Public si lo quiere global o con Private o Dim si lo quiere a nivel del modulo, o en un procedimiento con Static o Dim si lo quiere local. Para especificar que el array va a ser dinamico deje la lista de dimensiones vacía. Por ejemplo:

Dim Array_A()

Asine el número actual de elementos con la sentencia ReDim:

ReDim Array_A( N + 1 )

PPrroocceeddiimmiieennttooss yy FFuunncciioonneess En Visual Basic, el código es almacenado en módulos, que pueden estar en un formulario, módulos estándar y clases. Cada módulo puede contener:

Declaraciones (variables, constantes...)

Procedimientos conducidos por eventos

Procemientos y funciones estándar

Procedimientos Property Un procedimiento conducido por eventos es el código que es invocado cuando un objeto reconoce que ha ocurrido un determinado suceso o evento ( Por ejemplo el click ).

Visual Basic 6.0

Cuando varios procedimientos conducidos por eventos necesitan ejecutar un mismo proceso, la mejor forma de proceder es colocar el código común en un Procedimiento Estándar, perteneciente a un módulo estandar, que será invocado desde cada procedimiento conducido por un suceso que necesite ejecutar dicho código. De esta forma se elimina la necesidad de duplicar código. Un procedimiento estándar es invocado cuando se hace una llamada explícita al mismo. Un procedimiento estándar puede escribirse como procedimiento Sub o como función Function. Un procedimiento Property permite crear propiedades para una clase y manipularlas. Los módulos de clase son la base de la programación orientada a objetos en Visual Basic. Los objetos de estas clases pueden incluir sus propias propiedades y métodos, pero no sus propios eventos. Tanto las clases como los procedimientos Property serán estudiados en otro capitulo dedicado a objetos de clases.

FFuunncciioonneess ((FFuunnccttiioonn)) Una función está diseñada para retornar un valor determindado. Sintaxis: Function nombre [ ( parametros) ] [ As tipo ] [sentencias] [nombre = expresión] [ Exit Function ] End Function nombre : es el nombre de la función; su tipo determiona el tipo de datos que devuelve la

función. Para especificar el tipo, la clausula As tipo ( Integer, Long, Single, Double, Currency, String, Variant, etc.)

parametros son una lista de variables, que se corresponden con los argumentos que son

pasados cuando es invocada la función. expresión define el valor devuelto por la función. Este valor es almacenado en el propio nombre de la función, que actua como variable dentro del cuerpo de la misma. Si no se efectua esta asignación, el resultado devuelto será ) si ésta es númerica,

nulo ("") si la función es de caracteres, o vacío si la función es Variant.

Exit Function permite salir de una función. Exit Function no es necesaria a no ser que se

necesite retornar a la sentencia inmediamente a contiuación de la que efectuó la llamada antes de que la función finalice.

End Function Fin de la función La llamada a una función es de la forma: variable = nombre [(argumentos)]

Visual Basic 6.0

El siguiente ejemplo muestra una función que realiza una suma de dos numeros Enteros y devuelve el resultado de la suma: Function f_Suma ( p_valor1 As Integer, p_valor2 As Integer) As Long

Dim v_resultado As Long

v_resultado = p_valor1 + p_valor2

f_Suma = v_resultado

End Function

La llamada a esta función se hará de la forma siguiente:

v_valor = f_Suma(10, 20)

PPrroocceeddiimmiieennttooss ((SSuubb)) Un procedimiento funciona casi igual que una función la direfencia radica en que los procedimientos no retornan ningun valor. La sintaxis que define un procedimiento es la siguiente: Sub nombre [(parametros)] [sentencias] [Exit Sub] [sentencias] End Sub Llamada a un procedimiento: nombre [(argumentos)]

Visual Basic 6.0

CCoonnvveenncciioonneess ddee CCooddiiffiiccaacciióónn ddee VViissuuaall BBaassiicc Prefijos Sugeridos para controles: Tipo de Control Prefijo Ejemplo Formulario frm frmRegiones Etiqueda lbl lblMsjAyuda Cuadro de Texto txt txtApellidos Marco (frame) fra fraLenguaje Botón de Comando cmd cmdSalir Casilla de Verificación chk chkSoloLectura Grupo de Opciones opt optSexo Cuadro Combinado cbo cboRegiones Cuadro de Lista lst lstDeptos Control Numerico (timer) tmr tmrAlarma Control de Datos dat datEmpleados