• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Visual Basic 6.0
 

Visual Basic 6.0

on

  • 100,679 views

 

Statistics

Views

Total Views
100,679
Views on SlideShare
100,657
Embed Views
22

Actions

Likes
51
Downloads
482
Comments
7

3 Embeds 22

http://www.sit-ec.net 15
http://candelariamixe.blogspot.com 6
http://wildfire.gigya.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

17 of 7 previous next Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Soy gay, busco chicos
    Are you sure you want to
    Your message goes here
    Processing…
  • @hackerboys
    acaso no vez arriba del archivo la palabra 'save' , dale click alli y podras descargarlo!
    Are you sure you want to
    Your message goes here
    Processing…
  • exelente doc. me ha sewrvido de mucho. Gracias
    Are you sure you want to
    Your message goes here
    Processing…
  • Para que disquecomparten archivos sino dejan que se pueda realizar una simple descarga...ESA ES MI QUEJA...El conocimiento es libre muchacho.,
    Are you sure you want to
    Your message goes here
    Processing…
  • como hago para descargar este archivo????
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Visual Basic 6.0 Visual Basic 6.0 Document 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) Cuadro de herramientas (5) Ventana de Propiedades (4) Ventana de Posición 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 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 Descripción de la propiedad Propiedades del objeto
    • 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: Cuando damos click en el botón las propiedades son modificadas 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.
    • Visual Basic 6.0 Uso de los Controles estándar de Visual Basic Cuadro de Herramientas 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 Presenta una opción de tipo Verdadero o Casilla de Verificación CheckBox Falso, o Sí o No. Puede activar varias casillas de verificación en un mismo formulario al mismo tiempo Cambia un cuadro de texto y un cuadro de Cuadro Combinado ComboBox lista. Permite que el usuario escriba una selección o seleccione un elemento de una lista desplegable. Ejecuta un comando o una acción cuando un Botón de comando CommandButton usuario hace clic en él Permite conectar con una base de datos Datos Data existente y presentar información de ella en los formularios
    • Visual Basic 6.0 ICONO NOMBRE DEL CONTROL NOMBRE DE CLASE DESCRIPCION Presenta directorios y rutas de acceso, y Cuadro de lista de directorios DirListBox permite que el usuario los seleccione. Presenta unidades de disco validas y permite Cuadro de lista de unidades DriveListBox que el usuario las seleccione Presenta una lista de archivos y permite que Cuadro de lista de archivos FileListBox el usuario los seleccione. Proporciona un contenedor visual y funcional Marco Frame para otros controles Permite que un usuario agregue barras de Barras de desplazamiento HscrollBar y VscrollBar desplazamiento a controles tienen de forma horizontal y vertical automática. (No son las barras de desplazamiento incorporadas que se incluyen en muchos controles.) Presenta mapas de bits, iconos o metarchivos Imagen Imagen de Windows, archivos JPEG o GIF, y actúa como un botón de comando cuando se hace clic en él. Presenta texto con el que el usuario no Etiqueta Label puede interactuar ni modificar. Agrega un segmento de línea recta a un Línea Line formulario Presenta una lista de elementos entre los Cuadro de lista ListBox que el usuario puede elegir. Incrusta datos en una aplicación de Contenedor OLE OLE Visual Basic. El control OptionButton, como parte de Botón de opción OptionButton un grupo de opciones con otros botones de opción, presenta varias opciones entre las que el usuario solo puede elegir una. Presenta mapas de bits, iconos o Cuadro de imagen PictureBox 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 Agrega un rectángulo, un cuadrado, una Forma Shape elipse o un circulo a un formulario, marco o cuadro de imagen Proporciona una arrea para escribir o Cuadro de Texto TexBox presentar texto Ejecuta eventos periódicos a intervalos Cronometro Timer 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 Proporciona un conjunto de cuadros de Dialogo común CommonDialog dialogo estándar para operaciones como abrir y guardar archivos, establecer opciones de impresión y seleccionar colores y fuentes. Proporciona la mayoría de las funciones Cuadro combinado enlazado DBCombo del control. de datos ComboBox estándar, así como macro capacidad de acceso a datos. Control con apariencia de hoja de calculo Cuadricula Apex enlazada a DBGrid y con enlaces de datos que presenta una datos serie de filas y columnas que representa una serie de filas y columnas que representan registros y campos de un objeto RecordSet. Proporciona la mayoría de las Cuadro de lista enlazado a DBList características del control ListBox datos estándar, así como mayor capacidad de acceso a datos. Es similar al control DBGrid, pero tiene FlexGrid de Microsoft MSFlexGrid 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:mixcursoVBgraficosvbasic.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 Comentarios 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 Constantes Numéricas y de Caracteres Una constante es un valor que no cambia durante la ejecución de un programa. Visual Basic admite números y caracteres. Variables 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. 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, 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 Tipos de datos 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 31 ( 1 byte por carácter ) 2 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. Declaración explícita 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 Ambito de las Variables 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. 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 Variables Locales (Dim o Static) (Dim o Static) 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.
    • 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 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. Variables Globales 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 Variables con el mismo nombre 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. Constantes Simbólicas 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: Operadores 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 Utilización 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 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 Conversiones de Tipos de Datos 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 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 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. Sentencias de Control 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 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 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. 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 código y pueden tener una o más dimensiones.
    • Visual Basic 6.0 Arrays estáticos 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 31 31 -2 a 2 . 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 Arrays Dinámicos 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 ) Procedimientos y Funciones 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. Funciones (Function) 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) Procedimientos (Sub) 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 Convenciones de Codificación de Visual Basic 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