Вы находитесь на странице: 1из 43

Visual Basic 6.

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 opcin que es un Estndar 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)

Cuadro de herramientas (5) Ventana de Propiedades (4)

Ventana de Posicin de formulario

Ventana del formulario inicial (2)

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 aplicacin. Podemos editar, abrir y cerrar la ventana, pero todo esto lo veremos a fondo ms 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 visin 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 ms 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 pertenecern a l ( la propiedad MDIChild habr que fijarla en True)

Propiedades mas comunes:


Nombre Name BackColor BorderStyle Caption ControlBox Descripcin Nombre del formulario (Ej. FrmRegiones) Color de fondo del Formulario Estilo del Borde de la Ventana : Sirve para permitir el Ajuste del tamao de la Ventana o no. Titulo de la Ventana Permite habilitar/Desahabilitar el Menu de Control de la Ventana.

Icon MaxButton MDIChild Minbutton Moveable Picture WindowState

Se espefica el nombre del archivo de Icono de la Ventana. (*.ico) Permite Habilitar/Deshabilitar el Boton para maximizar la ventana Para determinar si esta ventana pertenece a una Ventana MDI. Permite Habilitar/Deshabilitar el Boton para minimizar la ventana Permite Habilitar/Deshabilitar si la ventana se puede mover por el usuario Permite Poner una imagen de fondo de la Ventana (Como un papel Tapiz) Permite vizualizar el formulario de forma Normal, maximinzada o minimizada.

La ventana de propiedades:
Nombre del objeto al cual le modifica las propiedades

Descripcin de la propiedad Propiedades del objeto

Visual Basic 6.0

Para ejecutar el formulario y verlo como se comportar segn las propiedades que le hemos fijado siga las siguientes instrucciones: 1. Seleccione en el menu principal la opcin de Proyecto (Proyect). 2. Luego seleccione la ltima opcin que es Propiedades del Proyecto (Proyect1 Properties). 3. Seleccione el objeto que desea ejecutar y luego presione el botn Aceptar. 4. Presione el botn 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 ejecucin. Para detener la ejecucin : presione el botn de parada o o cierreel formulario como comunmente lo hace con cualquier ventana.

Eventos mas comunes de los formularios:


Nombre Click Load UnLoad Error Descripcin Sucede cuando presionamos una vez el botn izquierdo del mouse sobre el formulario. Ocurre cuando se inicia el formulario Ocurre cuando finaliza el formulario 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 Cdigo (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 seccin General, donde se declaran todas las variables que se ocuparn en el formulario. Tambin 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

Modificacin de las propiedades en modo Ejecucin

Existen propiedades que podemos modificar en modo diseo (con la ventana de propiedades) y en modo ejecucin (con cdigo). Sin embargo hay otras propiedades que solo se puede modificar en modo diseo.

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:

Cuando damos click en el botn las propiedades son modificadas

Esta sintaxis de Programacin 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 diseo o en modo ejecucin.

Visual Basic 6.0

Uso de los Controles estndar de Visual Basic

Cuadro de Herramientas de Visual Basic.

Categoras de Controles: Controles intrnsecos: 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 extensin .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 Intrnsecos

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

ICONO

NOMBRE DEL CONTROL


Casilla de Verificacin

NOMBRE DE CLASE
CheckBox

DESCRIPCION
Presenta una opcin de tipo Verdadero o Falso, o S o No. Puede activar varias casillas de verificacin en un mismo formulario al mismo tiempo Cambia un cuadro de texto y un cuadro de lista. Permite que el usuario escriba una seleccin o seleccione un elemento de una lista desplegable. Ejecuta un comando o una accin cuando un usuario hace clic en l

Cuadro Combinado

ComboBox

Botn de comando

CommandButton

Datos

Data

Permite conectar con una base de datos existente y presentar informacin de ella en los formularios

Visual Basic 6.0

ICONO

NOMBRE DEL CONTROL


Cuadro de lista de directorios

NOMBRE DE CLASE
DirListBox

DESCRIPCION
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

Imagen

Imagen

Permite que un usuario agregue barras de desplazamiento a controles tienen de forma automtica. (No son las barras de desplazamiento incorporadas que se incluyen en muchos controles.) Presenta mapas de bits, iconos o metarchivos de Windows, archivos JPEG o GIF, y acta como un botn de comando cuando se hace clic en l.

Etiqueta

Label

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

Lnea

Line

Agrega un segmento de lnea 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 aplicacin de Visual Basic.

Botn de opcin

OptionButton

Cuadro de imagen

PictureBox

El control OptionButton, como parte de un grupo de opciones con otros botones de opcin, presenta varias opciones entre las que el usuario solo puede elegir una. Presenta mapas de bits, iconos o metarchivos de Windows, archivos JPEG o Gif. Tambin presenta texto o acta como contenedor visual para otros controles.

Visual Basic 6.0

ICONO

NOMBRE DEL CONTROL Forma

NOMBRE DE CLASE Shape

DESCRIPCION Agrega un rectngulo, un cuadrado, una elipse o un circulo a un formulario, marco o cuadro de imagen Proporciona una arrea para escribir o presentar texto

Cuadro de Texto

TexBox

Cronometro

Timer

Ejecuta eventos peridicos a intervalos de tiempo especificados

Nota: La herramienta puntero (la primera herramienta del cuadro de herramientas) proporciona una forma de mover y cambiar el tamao de los formularios y los controles. No es un control.

Controles Active X estndar Visual Basic contiene varios controles ActiveX (llamados controles ActiveX estndar) que permiten agregar caractersticas avanzadas a las aplicaciones. Los controles ActiveX tiene la extensin nombre de archivo.ocx y puede utilizarlos en un proyecto si los agrega manualmente al cuadro de herramientas.

Los controles ActiveX estndar agregados al cuadro de herramientas

Para agregar estos ActiveX estndar al cuadro de herramientas :

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

2. Luego le aparecer la sig. Ventana con la una lista de componetes que puede insertar Seleccin 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 estndar disponibles en Visual Basic.

ICONO

NOMBRE DEL CONTROL Dialogo comn

NOMBRE DE CLASE CommonDialog

Cuadro combinado enlazado DBCombo de datos

DESCRIPCION Proporciona un conjunto de cuadros de dialogo estndar para operaciones como abrir y guardar archivos, establecer opciones de impresin y seleccionar colores y fuentes. Proporciona la mayora de las funciones del control. ComboBox estndar, as como macro capacidad de acceso a datos. 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. Proporciona la mayora de las caractersticas del control ListBox estndar, as como mayor capacidad de acceso a datos. Es similar al control DBGrid, pero tiene caractersticas adicionales de formato, agrupacin y enlace de datos, adems de opciones de personalizacin.

Cuadricula Apex enlazada a DBGrid datos

Cuadro de lista enlazado a DBList datos

FlexGrid de Microsoft

MSFlexGrid

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 botn 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 ms lgico modificar las propiedades Name para que sean algo ms descriptivas. Como puede ser difcil distinguir entre el botn Commnad1 de MiForm y el botn Command1 de SuForm, la convencin de nomenclatura es recomendable, especialmente cuando una aplicacin se compone de varios mdulos de formulario, mdulos estndar y mdulos de clase. Puede utilizar un prefijo para describir la clase, seguido de un nombre descriptivo del control. El uso de eta convencin de nombre hace que el cdigo sea mas autodescriptivo y agrupa objetos similares alfabticamente en el cuadro de lista Objeto. Los nombres de los formularios y los controles: Deben empezar por una letra Solo deben contener letras, nmeros y carcter de subrayado (_); no se permiten signos de puntuacin 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 ms importante o la mas frecuentemente utilizada del control. En la tabla siguientes enumeran las propiedades consideradas como valor de cada control.

Control Casilla de verificacin Cuadro combinado Botn de comando Dialogo comn Datos Cuadro combinado enlazado a datos Caudricula enlazada a datos Cuadro de lista enlazado a datos

Propiedad Value Text Value Action Caption Text Text Text

Visual Basic 6.0

Control Cuadro de lista de directorios Cuadro de lista de unidades Cuadro de lista de archivos Marco Barra de desplazamiento horizontal Imagen Etiqueta Linea Cuadro de lista Botn de opcin Cuadro de imagen Forma Cuadro de texto Cronometro Barra de desplazamiento vertical

Propiedad Path Drive FileName Caption Value Picture Caption Visible Text Value Picture Shpe Text Enabled Value

El siguiente ejemplo muestra como se puede utilizar el valor de un control:

Me: se refiere al formulario.

Visual Basic 6.0

Controles Estndar 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 comn para este control es Picture, que puede ser modificada en modo diseo o en modo ejecucin.

La asignacin de una imagen en modo ejecucin se hace con la funcin LoadPicture. Para ejemplificar sto insertaremos un botn en el formulario y luego le asignaremos el siguiente cdigo al evento click:
Me.Picture1.Picture = LoadPicture("c:\mix\cursoVB\graficos\vbasic.jpg")

Cuando Ejecutamos el formulario y presionamos el botn 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 ms comunes:
Nombre Name Pattern Path FileName Descripcin Nombre del Control. Indica los archivos que sern desplegados por el control (Ej: *.*, *.bmp, *.jpg, etc) Ruta de acceso de donde se desplegarn los archivos (disponible solo en modo ejecucin) Nombre del archivo seleccionado

Evento ms comn:
Nombre Click Descripcin Cuando presionamos el botn izquierdo del Mouse sobre el control

Ejemplo: Modificaremos la propiedad Pattern y la fijaremos con *.bmp, para que despliegue todos archivos con extensin 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 cdigo siguiente:

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

Ahora cuando ejecute el formulario, mostrar las imgenes 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 ms comunes:
Nombre Name Path Descripcin Nombre del Control. Ruta de acceso de donde se desplegarn los archivos (disponible solo en modo ejecucin)

Evento ms comn:
Nombre Change Descripcin Ocurre cuando el usuario selecciona un directorio diferente.

Ejemplo:

En el evento Load del formulario modificaremos el cdigo 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 ms comunes:
Nombre Name Drive Descripcin Nombre del Control. Contiene la unidad de disco seleccionada

Evento ms comn:
Nombre Change Descripcin 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 opcin, presenta varias opciones entre las que el usuario solo puede elegir una. Propiedades ms comunes:
Nombre Name Value Caption Descripcin Nombre del Control. True: Cuando esta seleccionado False: Cuando esta sin seleccin Contiene la Etiqueta que se mostrar al usuario

Evento ms comn:
Nombre Click Descripcin 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 opcin copie y pegue el mismo control. Los controles tomaran los nombres que aparecen en la figura. El nmero que esta entre parentesis es el Index (nmero indice).

Siguiendo con el ejemplo, pondremos a True la propiedad value del Option1(0). Luego en el Evento Click del control pondremos el siguiente cdigo: 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:

Funcin Str (nmero) Val(cadena numrica) Left (cadena, n)

Descripcin Convierte un nmero a una cadena en numeracin decimal. Obtiene el valor (el nmero) correspondiente a esa cadena. Extrae los n primeros caracteres de una cadena, comenzando por la izquierda.
Si cadena = Curso de Visual Basic Resultado = Left (cadena, 10) ----> (Para todos los ejemplos) Resultado = Curso de V

Right (cadena, n) Mid (cadena, m, n)

Extrae lo n ltimos caracteres de la cadena


Resultado = Right (cadena, 10) ----> Resultado = sual Basic

Extrae n caracteres de la cadena, siendo el primer carcter extrado el que ocupa el lugar m.
Resultado = Mid (cadena, 3, 10) Resultado = Mid (cadena, 3, 10) ----> ----> Resultado = rso de Vis Resultado = rso de Vis

LCase (cadena)

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

UCase (cadena)

Devuelve otra cadena igual, pero con todos los caracteres en maysculas. (UCase = Upper Case)
Resultado = UCase (cadena) VISUAL BASIC ----> Resultado = CURSO DE

Len (cadena)

Devuelve la longitud de la cadena


Resultado = Len (cadena) ----> Resultado = 21

LenB (Cadena) String (n, carcter)

Devuelve el nmero de Bytes empleados para almacenar la cadena. Sorprndase, es el doble que Len (Cadena) Devuelve una cadena de n caracteres como el indicado
Resultado = String (8, "a") Resultado = String (8, Chr(65)) Resultado = String (8, 65) ----> ----> ----> Resultado = aaaaaaaa Resultado = AAAAAAAA Resultado = AAAAAAAA

Space (n)

Devuelve una cadena formada por n espacios.


Resultado = "A" + Space (6)+ "B" ----> Resultado = A B

Visual Basic 6.0

Funcin Ltrim Rtrim

Descripcin Elimina los posibles espacios que tenga una cadena por su izquierda. Elimina los posibles espacios que tenga una cadena por su derecha. Elimina los espacios que tenga una cadena, tanto por su izquierda como por su derecha. (No elimina los espacios centrales de la cadena) Busca la cadena1 dentro de cadena y devuelve el nmero de orden dentro de cadena donde se encuentra la primera letra de cadena1
Resultado = InStr (cadena, "sua") ----> Resultado = 12

Trim

InStr (cadena, cadena1)

StrConv

Convierte una cadena de caracteres en otra, segn las instrucciones que le sigan. Puede sustituir a UCase o LCase si la instruccin es UpperCase o LowerCase respectivamente, o poner la primera letra de todas las palabras de la cadena en maysculas, si la instruccin 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 Nmeros:

Funcin Cint Abs Sgn Sqr Exp Log Sin Cos Tan Atn Timer Randomize (Numero)

Descripcin Parte entera, Devuelve la parte entera de un nmero con decimales Valor Absoluto, Devuelve el valor absoluto de un nmero Signo, Devuelve el signo de un nmero Raz cuadrada, Devuelve la raz cuadrada de un nmero Exponenciacin, Devuelve el nmero elevado al exponente indicado Logaritmo, Devuelve el logaritmo natural de ese nmero Seno, Devuelve el valor del seno de un ngulo (Expresado en radianes) Coseno, Devuelve el coseno de un ngulo (En radianes) Tangente, Devuelve la tangente de un ngulo Arco Tang. Devuelve un arco cuya tangente sea el nmero (Angulo en radianes) Tiempo acumulado, Devuelve el tiempo (en segundos) que ha pasado desde las 12 de la noche. Generacin de nmeros aleatorios, Inicia el generador aleatorio tomando como dato de partida el Numero. Devuelve el resultado en una variable llamada Rnd.

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

Visual Basic 6.0

deber generar un nmero comprendido entre el 1 y el 49. En el procedimiento click de Command1 pondremos el siguiente cdigo:

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 pequeo programa, con la instruccin Randomize Timer y sin ella.

Visual Basic 6.0

Funciones con fechas:

Las fechas son cadenas especiales. Visual Basic sabe obtener y tratar la informacin relativa a la fecha y la hora. Dispone para ello de una declaracin de variable: Date. Una variable declarada como date puede contener una fecha, una fecha y una hora o una hora solamente. Funcin Date Time Now WeekDay Day Month Year Hour Minute Second DateAdd DateDiff DatePart DateSerial TimeSerial DateValue Descripcin 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

Mediante estas instrucciones podemos obtener el dato necesario de una fecha u hora. Por ejemplo, para obtener el da de hoy solamente: Da = Day (Now) Da ser un nmero

El da de la semana lo obtendramos Diasemana = WeekDay (Now) Diasemana ser un nmero

DateValue, una instruccin que le sacar mucho provecho Fecha = DateValue (120796) Fecha = DateValue (12 07 96)

Fecha =12/07/96

Visual Basic 6.0

Funcin FORMAT
Esta funcin permite presentar cadenas de numricas o fechas de una determinada forma. Permite establecer el Formato de esa cadena. Si recurre a la ayuda de VB acerca de esta funcin se va a enterar muy poco de lo que puede dar de s. La sintaxis que presenta es : Format(expresin[, formato[, primerdadesemana[, primerasemanadelao]]]) Lo mejor que puede hacer con esta definicin de la sintaxis de Format es olvidarla. No le aclara mucho lo que se puede hacer con Format. La funcin Format se usa para poner una fecha en un determinado formato. Con la expresin : FechadeHoy = Format (Now, yyyy-mm-dd) la variable FechadeHoy tendr el valor 1998-05-21, que se refiere al da 21 de mayo de 1998, segn el formato recomendado por la norma ISO-8601 para la presentacin de fechas. Si hubisemos puesto la expresin FechadeHoy = Format (Now, dd/mm/yy) , la variable FechadeHoy contendra el valor 21/05/98 referido al da citado. Las posibilidades de Format llegan tambin al campo de las cadenas numricas. Por ejemplo la cifra 123456 se transformar en las siguientes expresiones, segn como empleemos la funcin Format Variable = Format(123456, "Currency") Variable = Format(123456, "Standard") Variable = 123.456 Pts Variable = 123.456,00

Veamos ahora con un poco mas de conocimiento la sintaxis de Format Variable = Format (expresin[, formato[, firstdayofweek[, firstweekofyear]]]) Donde expresin es una cadena o fecha vlida formato es uno de los formatos predefinidos (Standard, Currency, etc. Vea mas abajo) firstdayofweek. Especifica el primer da de la semana. Puede tomar uno de estos valores o constantes :
Constante Valor Descripcin

vbUseSystem 0 VbSunday 1 vbMonday 2 vbTuesday 3 vbWednesday 4 vbThursday 5 vbFriday 6 vbSaturday 7

El especificado en el sistema operativo. Domingo (valor por defecto) Lunes Martes Mircoles Jueves Viernes Sbado

firstweekofyear Especifica cual es la primera semana del ao. Puede tomar uno de los siguientes valores o constantes :

Visual Basic 6.0

Constante

Valor

Descripcin

vbUseSystem vbFirstJan1 Enero(Valor vbFirstFourDays ese vbFirstFullWeek ao

0 1

Usa el valor del sistema operativo La primera semana es la que contiene al da 1 de por defecto La primera semana es la que contiene al menos, 4 das de ao (Rec. ISO - 8601) La primera semana es la que tiene todos sus das en ese

No se complique la vida con el tema del primer da de la semana ni la primera semana del ao. No lo usar con frecuencia. Centrmonos mas en el parmetro Formato. Puede tomar muchos valores. Veamos los principales. Primero para nmeros Observe que usamos la expresin Variable =Format (1234567,Formato) para todos los ejemplos de nmeros. Para poner los nmeros separados por millares : Variable = Format(1234567, "##,###,###") Variable = 1.234.567 (Cada carcter # indica que ah va un nmero. 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 Currency Fixed Standard Percent Scientific . Para fechas 21/07/98 Muestra el nmero tal como lo tecle En formato de la moneda de su sistema operativo Sin separador de millar y dos decimales (1234567,00) Con separador de millares y dos decimales (1.234.567,00) Multiplica el nmero por cien y lo presenta cono porcentaje(123456700,00%) Usa notacin cientfica (1,23E+06) (Observe que usamos el ejemplo Format(Now, Formato) y Now = a las 22:16:00 y pico) General Date Long Date Medium Date Short Date yyyy-mm-dd yy-mm-dd Long Time Medium Time Short Time hh :mm :ss hh :mm 21/07/98 22:16:00 martes 21 de julio de 1998 21-jul-98 21/07/98 1998-05-21 98-07-21 22:19:53 10:20 PM 22:20 22 :21 :29 22 :21

Visual Basic 6.0

Carctersticas del Lenguaje Visual Basic


Comentarios Cuando una frese va precedida de una comilla simple ( ' ), Visual Basic interpreta que esa frase es un comentario y no ejecuta accin alguna sobre ella. Por ejemplo: 'Calculo de la velocidad media suma = 0 ' Se inicializa la variable suma al valor 0

Constantes Numricas y de Caracteres Una constante es un valor que no cambia durante la ejecucin de un programa. Visual Basic admite nmeros y caracteres.

Variables Una variable contiene un valor que puede modificarse a lo largo de la ejecucin de la aplicacin. Cada variable tiene atributos propios como: Nombre : Es el nombre que utilizamos para referirnos a la variable en la aplicacin. Tipo : El tipo determina qu clase de valores puede almacenar ( numrico, carcter, fecha, etc) Ambito : El mbito de una variable especifica en qu parte de la aplicacin la variable es conocida y por lo tanto puede utilizarse.

Nombres de Variables 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, dgitos y el carcter de su subrayado. No se puede utilizar el punto ni otros caracteres que tienen un significado especial para Visual Basic; por ejemplo, los parntesis. Una palabra reservada tiene un significado especial para Visual Basic. Son palabras reservadas las sentencias predefinidas (For), los nombres de las funciones(Val), mtodos 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

Tipos de datos Una variable puede ser de alguno de los tipos de datos siguientes: Tipo Integer Descripcin Entero ( 2 bytes ) Entero largo (4 bytes) Real simple precisin (4bytes) Real Doble precisin (4bytes) Nmerico con punto Decimal fijo (8bytes) Cadena de caracteres ( 1 byte por carcter ) Carcter (1 byte) Boolean (2 bytes) Fecha/hora (8 bytes) Referencia a un objeto Con nmeros 16 bytes Rango -32768 a 32767 -2147483648 a 2147483648 -3.40E+38 a -3.40E+38 -1.79D+308 a 1.79D+308 -922337203685477.58 a 922337203685477.58 64K cars. en 16-bits 31 2 cars. en 32-bits 0 a 255 True o False 1/Enero/100 a 31/Dic/9999 Cualquier referencia a un objeto Cualquier valor numrico hasta el intervalo de Un tipo Double

Long

Single

Double

Currency

String

Byte Boolean Date Object Variant

Antes de utilizar una variable, es un buen hbito declarar su tipo. Una forma de hacer esto es utilizando la sentencia Dim ( o una de la palabras Public, Private o Static). Cualquier declaracin de stas inicializa las variables numricas con el valor cero y las variables alfanumricas con el carcter nulo. Por ejemplo: Dim Dim Dim Dim Dim Dim I As Integer R As Double Nombre As String Etiqueta As String * 10 F As Currency L As Long, X AS Currency

Las sentencias anteriores declaran I como una variable entera, R como una variable real de precisin 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 ms de una declaracin. 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 explcitamente, las sentencias anteriores declaran L como una variable Variant que ha cambiado su tipo para comportarse como una cadena de caracteres, y continuacin vuelve a cambiar su tipo para comportarse como una variable real de doble precisin.

Declaracin explcita 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 explcitamente. 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 definicin 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 explcitamente. Para ello, escribiremos la sentencia siguiente en la seccin de Declaraciones del formulario, del mdulo o de la clase: Option Explicit Esta sentencia opera slo en el formulario o en el mdulo donde se haya puesto. Para tener esa opcin activa para todo el cdigo de una aplicacin, ejecute la orden Opciones del men Herramientas, elija elija el dialogo Entorno (Edition v6.0) y Seleccione la opcin Declaracin de Variables Requerida. Seleccionada esta opcion agrega la sentencia Option Explicit en cualquier nuevo modulo que creemos.

Visual Basic 6.0

Ambito de las Variables

Se entiende por mbito de una variable el espacio de la aplicacin donde la variable es visible y por lo tanto se puede utilizar. La figura siguiente indica los lugares donde se puede declarar una variable.

Variables utilizadas por todos los mdulos (declaracin Public en cualquier mdulo) Modulo (formulario, mod. Estandar o clase) Variables Utilizadas dentro del mdulo (declaracin Dim o Private en el mdulo)

Procedimientos Variables Locales (Dim o Static) Variables Locales (Dim o Static)

Aplicacin

La tabla siguiente resume cmo debe declararse una variable en funcin del espacio donde deseamos Ambito Local Mdulo Global Declaracin Dim, Static, o ReDim (Dentro de un procedimiento) Dim o Private (seccin de declaraciones del mdulo) Public (seccin de delclaraciones de un mdulo)

A nivel del mdulo, no hay diferencias entre Dim y private, pero se aconseja utilizar private en contraste con Public Recuerde que un formulario (.frm) incluye controles mas cdigo y que en mdulo (. bas) o una clase (.cls) incluye solo cdigo.

Visual Basic 6.0

Variables locales Una Variable Local se reconoce solamente en el procedimiento en el que est definida. Fuera de ese procedimiento, la variable o es conocida. Su utilizacin ms comn es intervenir en clculos 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 esttica. Visual Basic reinicializa una variable esttica solamente la primera vez que se llama al procedimiento. Para declarar una variable esttica, 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 estticas, declare el procedimiento esttico. Por ejemplo: Public Static Sub Test() '... End Sub Si una variable aparace en un procedimiento y no est explcitamente declarada, es por defecto local. En cualquier caso, se aconseja declarar todas las variables explicitamente.

Variables Globales Una variable global es una variable declarada a nivel del mdulo pero que puede ser accesida desde cualquier otro modulo. Para hacer que una variable sea global o pblica, hay que declararla Public en la seccin 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 mdulo 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

Variables con el mismo nombre Una variable local y otra a nivel del mdulo 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 ms cercano ( local, mdulo y global ). En otro caso, debe de calificar la variable. Por ejemplo: Public Tem As Integer Public Sub Test() Dim Temp As Integer Temp = 10 MsgBox Form1.Temp End Sub 'declaracin en Form1 'procedimiento en Modulo1 'referencia a la variable local 'referencia a la variable global

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

Es una buena prctica en programacin que los nombres de las variables sean diferentes entre s, de los nombres de las propiedades y de los mdulos.

Constantes Simblicas A menudo utilizamos valores contantes una y otra vez en el cdigo, o bien el cdigo depende de ciertos nmeros dificiles de recordar. En estos casos, la mejor solucin es definir estos valores como constantes simblicas y utilizar en lo suvesivo los nombres que identifican estas constantes. Para definir una constante simblica, 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 expresin puede ser numrica, alfanumrica 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 prctica definir todas las constantes globales en un nico mdulo. 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 continuacin:

Operadores La tabla que se muestra a continuacin presenta el conjunto de operadores que soporta Visual Basic colocados de mayor a menor prioridad ( entre ellos y entre categoras ). Los operadores que aparecen sobre una misma lnea tienen igual prioridad. Las operaciones entre parntesis se evalan primero, ejecutandose primero los parntesis ms internos. Tipo Aritmtico Operacin Exponenciacin Cambio de Signo Multiplicacin y divisin Divisin Entera Residuo de una Divisin Entera Suma y Resta Concatenar o enlazar Igual, distinto, menor, mayor, ... Comparar dos expresiones de cars. Comparar dos referencias a objetos Negacin And Or inclusiva Or exclusiva Equivalencia (Opuesto a Xor) Implicacin (falso si primer operando verdadero y segundo operando falso) Operador ^ *,/ \ Mod +,& =,<>,<,>,<=,>= Like Is Not And Or Xor Eqv Imp

Concatenacin Relacional Otros

Lgico

Visual Basic 6.0

Utilizacin del Tipo Variant 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 genrico. Cuando Visual Basic opera con datos de tipo Variant, ejecuta automticamente las conversiones necesarias. No obstante, hay que tener en cuenta las siguientes consideraciones: Cuando se ejecutan operaciones aritmticas con variables de tipo Variant, su contenido tiene que poder ser convertido a un valor numrico. Cuando se ejecutan operaciones aritmticas 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 ambigedades, utilizaremos el operador &, en lugar del operador +. El operador & ejecuta la concatenacin sin tener en consideracin qu contiene las variables. Si intenta ejecutar una operacin o funcin matemtica sobre una variable Variant que no contenga un valor que pueda ser interpretado como un nmero, ocurrir un error. Para evitar eso, utilice la funcin IsNumeric para interrogar si dicha variable contiene un valor que pueda ser utilizado como un nmero. 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 funcin VarType. Por Ejemplo: Sub TipoDato (Dato As Variant) Dim tipo As Integer Tipo = VarType(Dato) Select Case Tipo Case 0 MsgBox "Vaco" 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 Case 8 MsgBox Case 11 MsgBox Case 17 MsgBox End Select End Sub

"Fecha/Hora: " & dato "String: " & dato "Boolean: " & dato "Byte: " & dato

Conversiones de Tipos de Datos Visual Basic proporciona las funciones de conversin siguientes: CBol(expresin) CByte(expresin) CCur(expresin) CDate(expresin) CDbl(expresin) CInt(expresin) CLng(expresin) CSng(expresin) CStr(expresin) CVar(expresin) CErr(expresin) conversin a un valor tipo Boolean conversin a un valor tipo Byte conversin a un valor tipo Currency conversin a un valor tipo Date conversin a un valor tipo Double conversin a un valor tipo Integer conversin a un valor tipo Long conversin a un valor tipo Single conversin a un valor tipo String conversin a un valor tipo Variant conversin a un valor tipo Error

Las variables Variant tambin 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 funcin IsDate. Para saber si una variable Variant ho ha sido incializada, es decir que contiene "" Vaco (Carcter) o Cero (para los numericos), utilice la Funcin Empty(). Para saber si contiene un valor Null utilice IsNull()

Visual Basic 6.0

El tipo String 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 continuacin: 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.

Sentencias de Control Las sentencias de control, denominadas tambin 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 condicin Then sentencia(s) [Else sentencia(s)] If condicin 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 condicin, la estructura adecuada es la siguiente: If condicin Then Sentencia-1 [ElseIf condicin Then sentencias-2]... [Else sentencia-n ] End If Ejemplo: If C > Resu ElseIf Resu ElseIf Resu Else Resu End If 100 Then = C * P * 0.6 C >= 25 Then = C * P * 0.8 C >= 10 Then = C * P * 0.9 = C * P

Select Case Esta sentencia permite ejecutar una de varias acciones en funcin del valor de una expresin. Es una alternativa a If ... Then ... ElseIf cuando se compara la misma expresin 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 ejecucin de un conjunto de sentencias mientras una condicin dada sea cierta, o hasta que una condicin dada sea cierta. La condicin puede ser verificada antes o despus de ejecutarse el conjunto de sentencias. Formato 1: Do [ { While | Until } condicin ] [sentencias] [Exit Do] [sentencias] Loop

Formato 2: Do [sentencias] [Exit Do] [sentencias] Loop [ { While | Until } condicin ] Donde condicin es cualquier expresin que se evale a True o a False. Esta sentencia nos permite realizar varias estructuras diferentes. Permite, como se aprecia en los formatos, crear bucles con la condicin de terminacin 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 nmeros impares entre 1 y 99. El mismo resultado se obtiene con el ejemplo que se presenta a continuacin: 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 nmero de veces.

For variable = expresin 1 To expresin 2 [Step expresin 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 nmeros impares entre 1 y 99. Si el valor de la expresin 3 es negativo, se comprueba si la variable es menor que la expresin 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 expresin 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 coleccin de objetos o de un array. Esto es especialmente util cuando no conocemos cuntos elementos hay en la coleccin 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 coleccin 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

Arrays

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 ms 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 mens, para crear nuevos controles en tiempo de ejecucin o para hacer que una serie de controles tengan asociado un mismo procedimiento para cada tipo de suceso.

Arrays de variables 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 cdigo y pueden tener una o ms dimensiones.

Visual Basic 6.0

Arrays estticos Para declarar un array esttico (array con un nmero fijo de elementos), Visual Basic hace tres consideraciones importantes: Para declarar un array global, hgalo en la seccin de declaraciones de un mdulo utilizando la sentencia Public. Para declarar un array a nivel de un mdulo, hgalo en la seccin 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 explcitamente, y los ndices del mismo deben estar en el rango 31 31 -2 a 2 . A continuacin se muestran algunos ejemplos: Dim Array_A(19) As String Dim ArrayB(5,7) As Integer 'Arreglo de 19 posiciones tipo carcter 'Declara un arreglo de 5 columnas y 7 filas

Arrays Dinmicos 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 dinmico. El espacio necesario para un array esttico se asigna al iniciarse el programa y permanecer fijo. El espacio para un array dinmico ser asignado durante la ejecucin del programa. Un array dinmico, puede ser redimensionado en cualquier momento durante la ejecucin. Para crear un array dinmico: Declare el array en la seccin 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 vaca. Por ejemplo: Dim Array_A() Asine el nmero actual de elementos con la sentencia ReDim: ReDim Array_A( N + 1 )

Procedimientos y Funciones En Visual Basic, el cdigo es almacenado en mdulos, que pueden estar en un formulario, mdulos estndar y clases. Cada mdulo puede contener: Declaraciones (variables, constantes...) Procedimientos conducidos por eventos Procemientos y funciones estndar Procedimientos Property Un procedimiento conducido por eventos es el cdigo 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 cdigo comn en un Procedimiento Estndar, perteneciente a un mdulo estandar, que ser invocado desde cada procedimiento conducido por un suceso que necesite ejecutar dicho cdigo. De esta forma se elimina la necesidad de duplicar cdigo. Un procedimiento estndar es invocado cuando se hace una llamada explcita al mismo. Un procedimiento estndar puede escribirse como procedimiento Sub o como funcin Function. Un procedimiento Property permite crear propiedades para una clase y manipularlas. Los mdulos de clase son la base de la programacin orientada a objetos en Visual Basic. Los objetos de estas clases pueden incluir sus propias propiedades y mtodos, pero no sus propios eventos. Tanto las clases como los procedimientos Property sern estudiados en otro capitulo dedicado a objetos de clases. Funciones (Function) Una funcin est diseada para retornar un valor determindado. Sintaxis: Function nombre [ ( parametros) ] [ As tipo ] [sentencias] [nombre = expresin] [ Exit Function ] End Function nombre : es el nombre de la funcin; su tipo determiona el tipo de datos que devuelve la funcin. Para especificar el tipo, la clausula As tipo ( Integer, Long, Single, Double, Currency, String, Variant, etc.) son una lista de variables, que se corresponden con los argumentos que son pasados cuando es invocada la funcin. define el valor devuelto por la funcin. Este valor es almacenado en el propio nombre de la funcin, que actua como variable dentro del cuerpo de la misma. Si no se efectua esta asignacin, el resultado devuelto ser ) si sta es nmerica, nulo ("") si la funcin es de caracteres, o vaco si la funcin es Var iant.

parametros

expresin

Exit Function permite salir de una funcin. Exit Function no es necesaria a no ser que se necesite retornar a la sentencia inmediamente a contiuacin de la que efectu la llamada antes de que la funcin finalice. End Function Fin de la funcin

La llamada a una funcin es de la forma: variable = nombre [(argumentos)]

Visual Basic 6.0

El siguiente ejemplo muestra una funcin 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 funcin se har de la forma siguiente: v_valor = f_Suma(10, 20)

Procedimientos (Sub) Un procedimiento funciona casi igual que una funcin 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

Convenciones de Codificacin de Visual Basic

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

Вам также может понравиться