You are on page 1of 40

República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Superior Universidad del Zulia Núcleo COL

Integrantes: Yoselin Campos CI. 20.744.168 Patricia Núñez CI.19831861 Elimar Morillo CI. 21.044.286 PROGRAMACION

Cabimas, Julio 2012

ESQUEMA INTRODUCCION 1) Términos:         Eventos Métodos Controles Proyecto Propiedades Objetos Clases Módulos

2) ¿Que es Visual Basic? 3) Características 4) Partes del entorno De Visual Basic 5) Botones de la barra de herramienta de Visual Basic 6) Programa secuencial, interactivo y orientado a eventos 7) Utilización de code editor 8) Utilización de debugger 9) Proyectos y módulos. 10) Ámbito de las variables y los procedimientos 11) Variables y constantes 12) Tipos de datos 13) Sentencias de control 14) Funciones y procedimientos Sub en Visual basic 6.0 15) Arrays estáticos y dinámicos CONCLUSION

INTRODUCCION Visual Basic es uno de los tantos lenguajes de programación que podemos encontrar hoy en día. Dicho lenguaje nace del BASIC (Beginner´s All-purpose Symbolic Instruction Code) que fue creado en su versión original en el Dartmouth College, con el propósito de servir a aquellas personas que estaban interesadas en iniciarse en algún lenguaje de programación. Luego de sufrir varias modificaciones, en el año 1978 se estableció el BASIC estándar. La sencillez del lenguaje ganó el desprecio de los programadores avanzados por considerarlo "un lenguaje para principiantes". Primero fue GW-BASIC, luego se transformó en QuickBASIC y actualmente se lo conoce como Visual Basic y la versión más reciente es la 6 que se incluye en el paquete Visual Studio 6 de Microsoft. Esta versión combina la sencillez del BASIC con un poderoso lenguaje de programación Visual que juntos permiten desarrollar robustos programas de 32 bits para Windows. Esta fusión de sencillez y la estética permitió ampliar mucho más elmonopolio de Microsoft, ya que el lenguaje sólo es compatible con Windows, un sistema operativo de la misma empresa. Visual Basic ya no es más "un lenguaje para principiantes" sino que es una perfecta alternativa para los programadores de cualquier nivel que deseen desarrollar aplicaciones compatibles con Windows. En este informe explicaremos algunos términos y/o características de mismo con la finalidad de aprender más sobre este Programa y manejarlo con facilidad

1) TERMINOS:  Objeto: Un objeto es una entidad que tiene asociado un conjunto de métodos, eventos y propiedades. Los formularios y controladores de Visual Basic son objetos que exponen sus propios métodos, propiedades y eventos. Las propiedades se pueden considerar como atributos de un objeto, los métodos como sus acciones y los eventos como sus respuestas. El siguiente es el ejemplo preferido por Microsoft para explicar estos conceptos y se basa en un objeto de uso diario como el globo de un niño. Propiedades Son los atributos de un objeto, entre las propiedades de un globo se incluyen atributos visibles como el altos, el diámetro y el color, otras propiedades describen su estado (inflado o desinflado) o tributos que no son visibles, como su edad. Por definición, todos los globos tienen estas propiedades; lo que varía de un globo a otro son los valores de estas propiedades.

Método Los métodos son funciones internas de un determinado objeto que permite realizar funciones sobre él o sobre otro objeto. Se le conce com aquello que el objeto puede hacer. Ejemplo: Deseamos poner en la ventana de Windows de nuestra aplicación “Hola mundo”, por lo tanto usaremos el método Print de los formularios pondremos de la siguiente forma Form1.Print “Hola Mundo”. En el ejemplo del globo los métodos que podemos encontrar son Desinflar y HacerRuido, recordemos el método es aquello que el objeto globo puede hacer. Evento Un evento es una acción que sucede en un objeto, decimos también que es un proceso que ocurre en un momento no determinado causando una respuesta por parte de un objeto. Los objetos están atentos a cualquier evento que ocurra en u entorno o dentro de ellos mismos. Un programa Visual Basic es un POE (Programa orientado a eventos). Es decir, cuando se mueve el mouse por la pantalla, se escribe algún texto, etc.; nuestro programa está atento a que algún evento ocurra, en qué objeto ocurre y que acción debe tomar (programa).

Generación del código asociado a los eventos que ocurran a estos controles. Formulario Un formulario es una ventana del sistema operativo Windows.) le llamamos Procedimiento y deberá generarse de acuerdo a las necesidades del programa. etc.       Proyecto Es una colección de archivos relacionados o programas. Un programa puede hacerse solamente con la programación de los distintos procedimientos que acompañan a cada control u objeto. funciones y Procedimientos. Los controles que están a nuestra disposición en esta caja son los denominados estándares. El proyecto genera el programa final.Creación de programas La creación de un programa bajo Visual Basic lleva los siguientes pasos: Creación de una interfase de usuario (Graphics Interface User). Sin embargo. Estos Procedimientos no responden a un evento lanzado por un control. doble click. VB ofrece la posibilidad de establecer un código de programa separado de estos eventos. A la respuesta a estos eventos (click. Por defecto la ventana que se abre en un proyecto Visual Basic tiene el nombre de Form1. Estas propiedades determinarán la forma estática de los controles. Ejemplo: Color de fondo del formulario. es decir. Este formulario es la interfase gráfica de su aplicación. una tecla pulsada. sino que responden a un evento producido durante la ejecución del programa. A continuación explicaremos en forma breve algunos de los términos necesarios para poder entender el entorno de programación en Visual Basic. sin embargo. Definición de las propiedades de los controles (objetos) que hayamos colocados en ese formulario. como son los controles y para qué sirven. que se integran para crear en su conjunto una aplicación completa. Este código puede introducirse en 3 tipos de bloques de instrucciones llamados: Módulos. . La caja de Controles La caja de controles contiene los controles que usted puede colocar en el formulario. Propiedades Son los datos que hacen referencia a un objeto o formulario. Módulo Un módulo es un archivo de Visual Basic donde escribimos la parte del código de nuestro programa que deseamos que se comparta entre todos los formularios. Podemos abrir tantas ventanas como queramos en nuestro proyecto. el mismo que el usuario puede ejecutar desde Windows haciendo doble clic en su icono o accediéndolo mediante el menú Inicio. los mismos que serán explicados en detalle en la siguiente sección. pero el nombre de cada una de ellas debe ser distinto. Será necesario partir de una ventada conocida como Formulario a la que le iremos añadiendo los controles necesarios. sobre el que podrá añadir los controles que necesite su programa. tanto para salida de datos como para entrada. Generación del código del programa. Esta interfase será la principal vía de comunicación entre el usuario y el programa (hombre-máquina). Fuente de texto de un TextBox.

NET Framework. Visual Basic (Visual Studio) contiene un entorno de desarrollo integrado o IDE que integra un editor de textos para edición del código fuente. independiente de la versión del sistema operativo. Remote Data Objects. o ActiveX Data Objects. con importantes agregados. con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y. desarrollado por Alan Cooper para Microsoft.DLL ("Visual . La última versión fue la 6. En 2001 Microsoft propuso abandonar el desarrollo basado en la API Win32 y pasar a un framework o marco común de librerías. Su primera versión fue presentada en 1991. liberada en 1998. 3) CARACTERÍSTICAS Los compiladores de Visual Basic generan código que requieren una o más librerías de enlace dinámico para que funcione. Compilador Es un sistema que convierte el programa que usted escribió en una aplicación que la computadora pueda ejecutar. fue el sucesor de Visual Basic 6. en algunos residente en el archivo llamado MSVBVMxy. Asistentes Son cuadros de diálogo que automatizan tareas basándose en preguntas y respuestas. Aunque Visual Basic es de propósito general. para la que Microsoft extendió el soporte hasta marzo de 2008. también provee facilidades para el desarrollo de aplicaciones de bases de datosusando Data Access Objects. donde x. en cierta medida.y es la versión) y en otros en VBRUNXXX.y". un compilador (y enlazador) y un editor de interfaces gráficas o GUI. también la programación misma. Este lenguaje de programación es un dialecto de BASIC.DLL (siglas de "MicroSoft Visual Basic Virtual Machine x. 2) ¿QUE ES VISUAL BASIC? Es un lenguaje de programación dirigido por eventos. conocidas comúnmente como DLL (sigla en inglés de dynamic-link library). a través de Visual Basic . un depurador.  podemos incluir y quitar tantos controles como queremos o creamos conveniente. .NET (y otros lenguajes como C Sharp(C#) de fácil transición de código entre ellos).

conectividad entre controles y datos mediante la acción de arrastrar y colocar sobre formularios o informes. y hasta para otorgar mayor funcionalidad a mismo entorno de programación (IDE). Estas DLL proveen las funciones básicas implementadas en el lenguaje. incluyendo algunas para empaquetado y distribución. hay numerosas aplicaciones desarrolladas por terceros que permiten disponer de variadas y numerosas funciones y mejoras para Visual Basic.XX"). En el Entorno de desarrollo integrado (IDE) de Visual Basic se puede ejecutar el programa que esté desarrollándose. Los Objetos Actives son una nueva tecnología de acceso a datos mediante la acción de arrastrar y colocar sobre formularios o informes. por ejemplo las que facilitan el acceso a la mayoría de las funciones del sistema operativo o también las que proveen funciones para la integración con otras aplicaciones.Basic Runtime X. donde el usuario . es decir. aunque será necesario que las librerías DLL requeridas se encuentren instaladas en el sistema para posibilitar su ejecución. Desde ese entorno también se puede generar el programa en código ejecutable (exe). permite generar un módulo instalador que contiene el programa ejecutable y las bibliotecas DLL necesarias para su ejecución. de manera automática. Además existe un gran número de bibliotecas del tipo DLL. Asistente para formularios: Sirve para generar de manera automática formularios que administran registros de tablas o consultas pertenecientes a una base de datos. Diseñador de entorno de datos: Es posible generar. Con ese módulo la aplicación desarrollada se distribuye y puede ser instalada en cualquier equipo (que tenga un sistema operativo compatible). es decir en modo intérprete (en realidad pseudo-compila el programa muy rápidamente y luego lo ejecuta. hoja de calculo u objeto (ADO-ACTIVE DATA OBJECT) Asistente para barras de herramientas es factible incluir barras de herramientas es factible incluir barra de herramientas personalizada. Visual Basic provee soporte para empaquetado y distribución. Así como bibliotecas DLL. conteniendo rutinas en código ejecutable que son cargadas bajo demanda en tiempo de ejecución. simulando la función de un intérprete puro). Ese programa así generado en disco puede luego ser ejecutado fuera del ambiente de programación (incluso en modo stand alone).

a necesidad. Ventana de formulario: Es el área donde se diseñar la interfaz grafica. desarrollado por Microsoft: Microsoft Visual Basic x. edición.1/95/NT) hasta la 6. Barra de herramientas estándar: Contiene los botones que se utilizan con mayor frecuencia cuando se trabaja con un proyecto. Su entorno de desarrollo es muy similar al de otros lenguajes e IDE's. Se pueden personalizar con prácticamente la totalidad de los comandos del IDE. Desde esta también acceso al Diseñador de Consultas y diseñador de Base de datos para administrar y registros 4) PARTES DEL ENTORNO DE VISUAL BASIC Existe un único entorno de desarrollo para Visual Basic.0 (16/32 bits.0 (MS-DOS/Windows 3.0 (32 bits.selecciona los botones que desea visualizar durante la ejecución. La Ventana de Vista de datos proporciona acceso a la estructura de una base de datos.0 hasta la 6. imágenes. las vistas del código de los módulos y objetos.1/95) y las de la 4. Barra de menús: Agrupa los menús desplegables que contiene todas las operaciones que pueden llevarse a cabo con Visual Basic. ver y ejecutar. Windows 3.0. Windows 3. y los controles con los que se compondrán las ventanas de la aplicación. Se compone de los siguientes elementos:   Barra titulo: Muestra el nombre del proyecto y del formulario que se esta diseñando actualmente. En las aplicaciones HTML: Se combinan instrucciones de Visual Basic con código HTML para controlar los eventos que se realizan con frecuencia en una pagina web. etc. Simplifica la lección de opciones de los menús archivo. cuadro de listas. casillas de verificación. (con las diferencias entre las versiones desde la 1. Por defecto se dispone los siguientes controles:    (PictureBox) Caja de Imágenes .1) hasta la 3. es decir. El espacio de trabajo: incluye y muestra todas las ventanas del proyecto.0 para versiones desde la 1. es donde se inserta electo gráficos como botones. Windows 9x/Me/NT/2000/XP/2003 server).0 (16 bits.

y hay una gran cantidad de ellos que se proveen con la instalación de Visual Basic 6.0.  El panel lateral derecho contiene dos vistas principales: . vienen embebidos dentro de archivos de extensión OCX.(Label) Etiqueta (TextBox) Caja de texto (Frame) Marco (CommandButton) Botón de comando (CheckBox) Casilla de verificación (OptionButton) Botón de opción (ComboBox) Lista desplegable (ListBox) Lista (HScrollBar) Barra de desplazamiento horizontal (VScrollBar) Barra de desplazamiento vertical (Timer) Temporizador (DriveListBox) Lista de unidades de disco (DirListBox) Lista de directorios (FileListBox) Lista de archivos (Shape) Figura (Line) Línea (Image) Imagen (Data) Conexión a origen de datos (OLE) Contenedor de documentos embebidos compatibles con ObjectLinking and Embedding Se pueden agregar todo tipo de controles de terceros.

que muestra todos los elementos que componen el proyecto o grupos de proyectos (formularios. donde se muestran todos los atributos de los controles de los formularios o la información de módulos clase y formularios. entre muchos otros. desde código de la propia aplicación. utilizar Ctrl+G para mostrar la ventana. por ejemplo probando sentencias como: ?2+2 Al ejecutarlo devolvería el resultado de la operación. aunque puede no estar visible. interfaz de controles. módulos de código. Esta ventana resulta una herramienta muy útil a la hora de depurar el programa o incluso de realizar pruebas rápidas. El Explorador de Proyectos. por defecto se encuentra en la parte inferior. También se puede ejecutar código "al vuelo". vbCritical. etc. en una sola línea). Se puede usar variables del código de la aplicación. módulos de clase. Por ejemplo. o sentencias de código como: Msgbox"Prueba de cuadro de mensaje de error. "Titulo del mensaje" A la hora de depuración puede ser útil para consultar un código de error: ?Err.". se puede consultar el valor de una variable o llamar a un método declarado en el módulo que se está depurando.)  El Panel de propiedades.Number 5) BOTONES DE LA BARRA DE HERRAMIENTA DE VISUAL BASIC Barra de herramientas . ya que permite imprimir mensajes de texto desde el código y ejecutar sentencias y comandos simples (solo sentencias que se puedan representar.  La Ventana inmediato.

dado que pueden haber más o menos controles en la barra y por lo tanto puede ser mucho más grande o con más columnas de controles o de diferente tipo de controles. permite que el usuario pueda escribir directamente. TextBox: caja de texto. Picture: permite incluir gráficos. cada uno de estos controles realiza la siguiente función: Cursor del ratón: sirve para quitar la selección del que hayamos pulsado por error.Para saber cual es el control. Este cuadro de herramientas puede ser diferente. permite que el usuario pueda pulsar botones y que realicen determinadas acciones . Frame: es un contenedor para los demás controles. La imagen de la barra de herramientas anterior. tiene lo que se denomina barra estándar de herramientas. simplemente ponga el cursor del ratón sobre el control que desea ver y espere dos o tres segundo y aparecerá una indicación sobre cual es el control en cuestión. pero no son editables por el usuario. CommandButton: Botón de comando. Label (Etiqueta): sirve para poder poner mensajes o textos en la pantalla. es parecido al image pero con variantes.

Timer: es un controlador de tiempo. ComboBox: caja combinada. permite tener una barra vertical para desplazamientos. permite tener opciones sobre las que el usuario confirma o niega. VScroll: barra vertical de Scroll.CheckBox: caja de chequeo. permite indicar que unidades de . DriveBox: caja de unidades. permite tener varias opciones de las cuales seleccionar una. OptionButton: botón de opción. presenta una lista de opciones y permite seleccionar una o varias de dichas opciones HScroll: (Barra Horizontal de Scroll) se puede crear un barra de desplazamiento horizontal. permite tener varias opciones de las cuales seleccionar y ver una. ListBox: caja de lista. almacenamiento tiene el ordenador.

dibujos. como un cuadrado. Data: permite la conexión con una base de datos y poder añadir.DirBox: caja de directorios. Line: permite incluir una línea en el formulario.. A este tipo de programas se les llama también programas basados u orientados a procedimientos o a algoritmos (procedural languages).. De ordinario. Shape: permite incluir formas gráficas en el formulario. indica los directorios y subdirectorios de una ruta en concreto. mientras un programa secuencial está ejecutándose no necesita ninguna intervención del usuario. modificar. un círculo. borrar. lee los datos que necesita. etc. Un programa secuencial es un programa que se arranca. etc. Este tipo de programas siguen utilizándose ampliamente en la actualidad. INTERACTIVO Y ORIENTADO A EVENTOS Existen distintos tipos de programas. 6) PROGRAMA SECUENCIAL. etc. realiza los cálculos e imprime o guarda en el disco los resultados. consultar. Image: permite incluir imágenes como fotografías. En los primeros tiempos de los ordenadores los programas eran de tipo secuencial (también llamados tipo batch). . FileList: indica una lista de los ficheros que se encuentran en un determinado directorio o subdirectorio. pero la difusión de los PCs ha puesto de actualidad otros tipos de programación.

el Code Editor utiliza un código de colores (accesible y modificable enTools/Options/Editor Format) para destacar cada elemento del en verde. cada módulo de clase y cada módulo estándar tienen su propia ventana de código. Para abrir la ventana del editor de código se elige Code en el menú View. Esta ventana presenta algunas características muy interesantes que conviene conocer para sacar el máximo partido a la aplicación. Excel y PowerPoint. bien para indicar al programa lo que debe hacer por medio de menús. En primer lugar. . Cada formulario. Los programas interactivos limitan y orientan la acción del usuario. que en este caso son llamadas eventos.Los programas interactivos exigen la intervención del usuario en tiempo de ejecución. Las acciones que el usuario puede realizar en un momento determinado son variadísimas. o bien comenzar a crear un fichero desde el principio. Cuando uno de estos programas ha arrancado.0 la hace especialmente sencilla y agradable. el Code Editor de Visual Basic 6. etc. Word. También se abre clicando en el botón View Code de la Project Window. tales como Netscape. pero Visual Basic 6. o clicando dos veces en el formulario o en cualquiera de sus controles. La Figura muestra un aspecto típico de la ventana de código. Un ejemplo de programa interactivo podría ser Matlab.0 es la ventana en la cual se escriben las sentencias del programa. Estos programas pasan la mayor parte de su tiempo esperando las acciones del usuario (eventos) y respondiendo a ellas. Por su parte los programas orientados a eventos son los programas típicos de Windows.0 ofrece muchas ayudas al usuario que requieren una explicación más detenida. los errores en rojo. Aunque el aspecto de dicha ventana no tiene nada de particular. lo único que hace es quedarse a la espera de las acciones del usuario. El usuario dice si quiere abrir y modificar un fichero existente. bien para suministrar datos. Este tipo de programación es sensiblemente más complicada que la secuencial y la interactiva. y exigen un tipo especial de programación: la programación orientada a eventos. 7) UTILIZACION DE CODE EDITOR El editor de código o Code Editor de Visual Basic 6.

En esta parte también se pueden definir funciones y procedimientos Sub no relacionados con ningún evento o control en particular. En la parte superior de esta ventana aparecen dos listas desplegables. A continuación aparecen dos procedimientos Sub (el segundo de ellos incompleto) que se corresponden con el evento Click del botón cmdSalir y con el evento Load del formulario. Estos procedimientos están separados por una línea.Esta simple ayuda visual permite detectar y corregir problemas con más facilidad. que es común a todo el formulario. La de la izquierda corresponde a los distintos elementos del formulario (la parte General. Estas dos listas permiten localizar fácilmente el código que se desee programar o modificar. Así. el código escrito por el usuario aparece en negro. el propio formulario y los distintos controles que están incluidos en él). que se activa con ProcedureSeparator en Tools/Options/Editor. Para ver todos los procedimientos del formulario y de sus controles simultáneamente en la misma ventana (con o sin separador) o ver sólo un procedimiento (el seleccionado en las listas desplegables) se pueden utilizar los dos pequeños botones que aparecen en la parte inferior izquierda de la ventana. si en la izquierda está seleccionado un botón de comando. El código mostrado en la Figura contiene en la parte superior una serie de declaraciones de variables y la opción de no permitir utilizar variables no declaradas (OptionExplicit). . La lista desplegable de la derecha muestra los distintos procedimientos que se corresponden con el programa. Ésta es la parte General de código del formulario. en la lista de la derecha aparecerá la lista de todos los posibles procedimientos Sub que pueden generar sus posibles eventos. Por ejemplo. las palabras clave de Basic en azul. comentarios elemento seleccionado en la lista de la izquierda.

ocx). además de todo . 8) UTILIZACIÓN DE DEBUGGER Cualquier programador con un mínimo de experiencia sabe que una parte muy importante (muchas veces la mayor parte) del tiempo destinado a la elaboración de un programa se destina a la detección y corrección de errores. La información referente a esos ficheros se almacena en un fichero del tipo ProjectName. los controles utilizados (ficheros con extensión . La característica principal del Debugger es que permite ejecutar parcialmente el programa.0 es el conjunto de todos los ficheros o módulos necesarios para que un programa funcione.frm).vbp del fichero hace referencia a Visual Basic Project.cls).vbp) y el que define el formulario (*. deteniendo la ejecución en el punto deseado y estudiando en cada momento el valor de cada una de las variables.El primero de ellos es el Procedure View y el segundo el Full Module View. Esta opción está también accesible en Tools/Options/Editor. La herramienta más utilizada para ello es el Depurador o Debugger.frm está constituido por un formulario y toda la información referente a los controles (y a sus propiedades) en él contenidos. etc. Un módulo *.frm). Si se edita este fichero con cualquier editor de texto se comprueba que la información que almacena es la localización en los discos de los módulos que conforman ese proyecto. Casi todos los entornos de desarrollo disponen hoy en día de potentes herramientas que facilitan la depuración de los programas realizados. Otra opción muy interesante es la de completar automáticamente el código (Automatic CompletionCode). Un proyecto realizado en Visual Basic 6. llamados módulos de clase. 9) PROYECTOS Y MÓDULOS.vbp. De esta manera se facilita enormemente el descubrimiento de las fuentes de errores. los que contienen únicamente líneas de código Basic (*.bas) llamados módulos estándar y los que definen agrupaciones de código y datos denominadas clases (*. Los módulos que forman parte de un proyecto pueden ser de varios tipos: aquellos que están asociados a un formulario (*. En el caso más simple un proyecto está formado por un único formulario y constará de dos ficheros: el que define el proyecto (*. La extensión *.

for (int i = 0. las funciones y procedimientos propios de ese formulario. en el caso de que existan.bas contendrá una o varias funciones y/o procedimientos. // Variable Local a metodo.i<numeroEntero. como en todos los procedimientos y funciones de la misma. /* Variable Global a todos los Métodos */ public Integer metodo() { int num = 1. En general se llama función a una porción de código independiente que realiza una determinada actividad. 10) ÁMBITO DE LAS VARIABLES Y LOS PROCEDIMIENTOS Respecto al ámbito de una variable. que de una forma básica. Si bien es cierto. y los procedimientos o procedures. llegando al caso de la superglobalidad. Puede accederse dentro de este método en cualquier parte. Un módulo de código estándar *. num *= i. } . pero no fuera del mismo. pudiendo ser accesibles desde unos puntos u otros. etc de tal modo que sólo pueda accederse a ellas en el propio bloque. no pudiendo ser leída o modificada desde otro procedimiento hermano o desde el propio procedimiento padre. sólo puede ser accedida dentro del mismo. además de las variables que se desee. existen grados de globalidad de las mismas.intValue(). En Visual Basic existen dos tipos de funciones: las llamadas function. que no lo tienen.el código programado en los eventos de esos controles y. las function realizan los dos papeles. que se caracterizan por tener valor de retorno. Global: Cuando la misma es accesible tanto desde rutinas o macros de la aplicación. bucles.i++) { // i es local al bucle for. En otros lenguajes. Es posible declarar variables en bloques de condición. Ejemplo del ámbito de una variable en el lenguaje de programación Java. a los que se podrá acceder desde cualquiera de los módulos que forman el proyecto. éste puede ser:   Local: Cuando la misma sólo es accesible desde un único procedimiento hijo. public class A { public Integer numeroEntero = new Integer(). como C/C++/Java. o incluso pudiendo ser accesibles entre aplicaciones distintas. se puede definir el ámbito de las variables de la forma expuesta más arriba.

Por ejemplo. i fue definida localmente al bucle for. Cada variable x es independiente del otro--sólo se reconoce la variable dentro de su procedimiento respectivo. Hay que tener en cuenta que en Java el caso de las variables globales a todos los métodos que se encuentran en una clase. La próxima vez que se ejecuta el procedimiento. return Integer. mientras que una variable sirve de apoyo a los procedimientos y no define conceptualmente objetos. Ámbito de procedimiento (local) Una variable local con el ámbito de un procedimiento se reconoce únicamente dentro del procedimiento en el que se declara. "Example1" y "Example2".valueOf(num).// i = 2. } public void otroMetodo() { int num = 1. // Variable local a otroMetodo. la variable sigue existiendo sólo mientras se ejecuta el procedimiento en el que se declara.println("Variable local num: " + num). ya que estas realmente son atributos que definen un objeto de una clase determinada. not the same as X in Example2. la variable x se declara en cada uno de los módulos.out. Normalmente. Esta línea provocaría error al no haber declarado la variable i. no se conservan los valores de las variables locales del procedimiento y se libera la memoria asignada a esas variables. se reinicializan todas sus variables locales. en este caso la clase A tiene un atributo llamado numeroEntero. num aquí es una variable distinta a la variable num de metodo System. X = 100 . en las siguientes macros de ejemplo. cuando termina el procedimiento de ejecución. Puede declararse una variable local con una instrucción Dim o Static. Sub Example1() Dim X As Integer ' Local variable. es algo peculiar. Dim Cuando se declara una variable local con la instrucción Dim. El atributo es un concepto que define a un objeto de una clase determinada.

 Sale de Microsoft Excel. la variable Accumulate conserva su valor cada vez que se ejecuta. Type:=1) Accumulate = Accumulate + num MsgBox "The running total is " & Accumulate End Sub  Ámbito del módulo Variable que se reconoce entre todos los procedimientos en una hoja de módulo se denomina una variable de "nivel de módulo".  Cambiar el módulo.InputBox(prompt:="Enter a number: ". Una variable de nivel de módulo sigue existiendo mientras Visual Basic se ejecuta hasta que se edita el módulo en el que se declara. si introduce el número 2 . Una variable de nivel de módulo está disponible para todos los procedimientos de ese módulo. encima de la primera definición de procedimiento. . se pueden declarar variables de nivel de módulo.La variable se restablece cuando se produzca cualquiera de las acciones siguientes: La macro genera un error de tiempo de ejecución no interceptado. el cuadro de mensaje mostrará el valor "2". en el ejemplo RunningTotal. pero no está disponible para los procedimientos de otros módulos. X = "Yes" MsgBox "The answer is " &X End Sub Estática: Una variable local declarada con la instrucción Static sigue existiendo en todo el tiempo que se está ejecutando Visual Basic.  Visual Basic se detiene.MsgBox "The value of X is " & X End Sub Sub Example2() Dim X As String ' Local variable. not the same as X in Example1. el cuadro de mensaje mostrará el valor total es de 5. Sub RunningTotal() Static Accumulate ' Local variable that will retain its value after the module ' has finished executing. num = Application. Con una instrucción Dim o privado en la parte superior del módulo. Por ejemplo. La próxima vez que se ejecuta el módulo. si se introduce el valor 3. La primera vez que se ejecuta el módulo.

Tenga en cuenta que no se pueden declarar variables de nivel de módulo dentro de un procedimiento. su código sea más fácil de leer (es decir. el ámbito de una determinada variable será más claro). C = A + B MsgBox "The value of C is " & C End Sub Sub Example4() MsgBox A ' The message box displays the value of A. End Sub ' Module-level variable. cuando la macro que intenta utilizar la variable C. si utiliza para las variables de nivel de módulo Dim solamente para variables locales y privado. mientras que las variables a y b son. MsgBox C ' The message box displays nothing because C was a local variable. Nota Si utiliza privado en lugar de Dim para las variables de nivel de módulo. no hay ninguna diferencia entre Dim y privado. que se declara en la macro de ejemplo 3. En el ejemplo siguiente. ' Module-level variable. se declaran dos variables. ya que c es una variable local y no está disponible en Example4. MsgBox B ' The message box displays the value of B. . Dim A As Integer Private B As Integer Sub Example1() A = 100 B = A + 1 End Sub Sub Example2() MsgBox "The value of A is " & A MsgBox "The value of B is " & B End Sub Sub Example3() Dim C As Integer ' Local variable. el cuadro de mensaje está vacío. es una variable local y sólo está disponible para ese procedimiento. C. en el nivel de módulo. Observe que en Example4. El cuadro de mensaje está vacío. A y B.En el nivel de módulo. La tercera variable. Estas dos variables están disponibles para cualquiera de los procedimientos en la hoja de módulo.

Nombre de la hoja de módulo CDSales. Es posible que varias hojas de módulo para que las variables públicas con el mismo nombre. presione ALT+F11 para abrir el Editor de visual Basic. escriba el código siguiente: Public SalesPrice As Integer Public UnitsSold As Integer Public CostPerUnit As Integer . encima de la primera definición de procedimiento. En el libro de CDSales. siga estos pasos: 1.Ámbito público Las variables públicas tienen el ámbito más amplio de todas las variables. El nombre de archivo será CDSales. c. escriba un nuevo nombre de módulo y. es una buena idea utilizar nombres únicos o que preceda a cada nombre de variable con un calificador de módulo (por ejemplo. Una variable pública es reconocida por todos los módulos del libro activo. No puede declararse una variable pública dentro de un procedimiento. Para evitar confusiones y posibles errores. siga estos pasos para insertar una nueva hoja de módulo y nombre de la hoja de módulo: a. guarde el archivo como un libro de Excel habilitado para macros. 2. puede cambiar el nombre de un módulo activando el módulo. En Microsoft Excel 97 y en versiones posteriores de Excel. a continuación. Para crear las macros. en un módulo denominado "Feb_Sales" debe preceder a todas las variables públicas con las letras "FS"). en la parte superior del módulo. Se puede declarar una variable pública en cualquier hoja de módulo. desde un libro nuevo. haga clic en referencias en el menú Herramientas ). inserte una hoja de módulo. al hacer clic a la derecha de "(nombre)" en la ventana de Propiedades del Editor de Visual Basic. En el menú Insertar . En la hoja de módulo de CDSales. Siempre se declara una variable pública con una instrucción "Public". como una variable de nivel de módulo. b. Crear un nuevo libro y asígnele el nombre CDSales. Para que una variable pública disponible para otros libros. En Microsoft Excel para Windows (versión 97 y versiones posterior). Nota En Excel 2007. En el libro de CDSales.xlsm. seleccione el libro que contiene la variable pública en el cuadro Referencias disponibles del cuadro de diálogo Referencias (desde una hoja de módulo.xls. presione ENTRAR. Se declara una variable pública. haga clic en módulo.

En Microsoft Excel para Windows (versión 97 y versiones posterior).05 UnitsSold = CDSales.xlsm. haga clic en módulo.456 CostPerUnit = CDSales. El nombre de archivo será VideoSales. puede cambiar el nombre de un módulo activando el módulo. presione ALT+F11 para abrir el Editor de Visual Basic. presione ENTRAR. End Sub 11) VARIABLES Y CONSTANTES .05 X = "yes" MsgBox "The Gross Profit for CD Sales is $" & (SalesPrice _ * UnitsSold) -(UnitsSold * CostPerUnit * Markup) ' Displays the value of 7000 as the gross profit. escriba un nuevo nombre de módulo y. En Microsoft Excel 97 o posterior.xls. al hacer clic a la derecha de "(nombre)" en la ventana de Propiedades del Editor de Visual Basic.(UnitsSold * CostPerUnit) ' Displays the value of 5824 as the projected gross profit. Nombre de la hoja de módulo VideoSales.SalesPrice * 1. a. siga estos pasos para insertar una nueva hoja de módulo y el nombre de la hoja de módulo: . En el libro de VideoSales . Nota En Excel 2007.UnitsSold * 1. b.CostPerUnit * 1. En el menú Insertar . escriba el código siguiente: Public SalesPrice As Integer Public UnitsSold As Integer Public CostPerUnit As Integer Sub VideoSales() SalesPrice = CDSales.75 MsgBox "The Projected Gross Profit for video sales is $" & _ (SalesPrice * UnitsSold) . End Sub Crear un nuevo libro y asígnele el nombre VideoSales. En el libro de CDSales. inserte una hoja de módulo.Private Markup As Long Sub CDSales() Dim X as String SalesPrice = 12 UnitsSold = 1000 CostPerUnit = 5 Markup = 1. En la hoja de módulo de VideoSales . guarde el archivo como un libro de Excel habilitado para macros. a continuación.

b. Tal y como su nombre indica. En general estas constantes empiezan por . No tener espacios. Visual Basic 6. Declaración de variables: Dim nombre as tipo Dim contador as tipo Dim a. ConstStr = "Hi". Algunas ya se han visto al hablar de los colores. c as long Para declarar un dato como constante únicamente es necesario utilizar la palabra Const en la declaración de la variable.Una variable es un nombre que designa a una zona de memoria (se trata por tanto de un identificador). Completando a las variables existe lo que se denomina constantes las cuales son identificadores pero con la particularidad de que el valor que se encuentra en ese lugar de la memoria sólo puede ser asignado una única vez. PI As Double = 3. PublicConstMyString = "HELP" ' Declaración de una constante pública. Si durante la ejecución se intenta variar su valor se producirá un error. muy útiles por cierto. Su longitud no debe superar los 245 caracteres. que contiene un valor de un tipo de información. PrivateConstMyInt As Integer = 5 ' Declaración de un entero constante. Existen 3 tipos de variables: Variables de objeto Variables de entorno Variables declaradas Características y condiciones :     Iniciar con una letra. Poseer un nombre único dentro de su alcance. Ejemplos: ConstMyVar = 459 ’ Las constantes son privadas por defecto. El tratamiento y tipos de datos es igual al de las variables.0 tiene sus propias constantes.14 ' Múltiples constantes en una línea. las variables pueden cambiar su valor a lo largo de la ejecución de un programa.

fechas. Para ver las constantes disponibles se puede utilizar el comando View/Object Browser. No tener espacios.1416 12) TIPOS DE DATOS Al igual que C y otros lenguajes de programación. Son elementos. . ellas mantienen un valor fijo durante la ejecución del programa. Declaración de constantes: conts nombre as tipo = valor const pi as Double = 3. cadenas de caracteres y espreciones que contienen operadores lógicos o aritméticos.ciertos caracteres como vb (u otros similares que indican a que grupo pertenecen) y van seguidas de una o más palabras que indican su significado. No tener más de 255 caracteres de longitud. La Tabla muestra los tipos de datos disponibles en Visual Basic. Características:     Comenzar con una letra. números. Poseer un mismo nombre único. aplicables tanto para constantes como para variables. Visual Basic dispone de distintos tipos de datos.

Es preferible utilizar la notación donde se escribe directamente el tipo de dato. X As Currency Es importante evitar declaraciones del tipo: Dim i. el tipo de las variables del ejemplo anterior se puede declarar al utilizarlas en las distintas expresiones. que agrupan datos de tipo homogéneo. La segunda son las estructuras. La primera de ellas son los arrays (vectores y matrices). En Visual Basic 6. Se mantiene en las sucesivas versiones de Visual Basic por la compatibilidad con códigos anteriores.0 existen dos formas de agrupar varios valores bajo un mismo nombre. que agrupan información heterogénea o de distinto tipo. en la forma: Radio# doble precisión Nombre$ cadena de caracteres Francos@ unidades monetarias Longitud& entero largo Esta forma de indicar el tipo de dato no es la más conveniente. . j As Integer pues contra lo que podría parecer a simple vista no se crean dos variables Integer. Superficie as Single Dim NombreAs String Dim EtiquetaAs String * 10 Dim FrancosAs Currency Dim LongitudAs Long. utilizando los caracteres especiales vistosanteriormente.0 no es estrictamente necesario declarar todas las variables que se van a utilizar (a no ser que se elija la opción OptionExplicit que hace obligatorio el declararlas). y hay otra forma de declarar las variables anteriores. Así por ejemplo. sino una Integer (j) y otra Variant (i). Para declarar las variables se utiliza la sentencia siguiente: DimNombreVariable As TipoVariable cuyo empleo se muestra en los ejemplos siguientes: Dim Radio As Double.0 las estructuras son verdaderos tipos de datos definibles por el usuario. poniéndoles a continuación el carácter que ya se indicó en laTabla . En Visual Basic 6.En el lenguaje Visual Basic 6.

y si condicion es False (falsa). Loop While … Wend ForEach …Next Sentencia IF.. La primera ocupa sólo una línea y tiene la forma siguiente: If condición Then sentencia1 [Else sentencia2] La segunda es más general y se muestra a continuación: If condicion Then sentencia(s) [Else sentencia(s)] End If Si condición es True (verdadera).... Este tipo de estructuras son comunes en cuanto a concepto en la mayoría de los lenguajes de programación. denominadas también estructuras de control. ELSE. se ejecutan las sentencias que están a continuación de Then..0 dispone de las siguientes estructuras de control: If ..... Then .. Se trata de unas estructuras muy importantes ya que son las encargadas de controlar el flujo de un programa según los requerimientos del mismo. THEN.. aunque su sintaxis puede variar de un lenguaje de programación a otro.13) SENTENCIAS DE CONTROL Las sentencias de control. permiten tomar decisiones y realizar un proceso repetidas veces. Visual Basic 6. Next Do . Esta estructura permite ejecutar condicionalmente una o más sentencias y puede escribirse de dos formas.. Else Select Case For . Son los denominados bifurcaciones y bucles.. se ejecutan las sentencias ..

Para indicar que se quiere ejecutar uno devarios bloques de sentencias dependientes cada uno de ellos de una condición. ejecutándose las sentencias correspondientes al primer ElseIf cuya condición se cumpla. se ejecutan las sentencias-n correspondientes a Else. se examinan secuencialmente las condiciones siguientes hasta Else. si esta cláusula ha sido especificada (pues es opcional).que están a continuación de Else. Numero = 53 ' Se inicializa la variable. Digitos = 2 Else 'En el caso en que no se cumplan los dos anteriores se asigna 3 . la estructuraadecuada es la siguiente: If condicion1 Then sentencias1 ElseIf condicion2 Then sentencias2 Else sentencia-n End If Si se cumple la condicion1 se ejecutan las sentencias1. If Numero < 10 Then Digitos = 1 ElseIf Numero < 100 Then ' En este caso la condición se cumple (True) luego se ejecuta lo siguiente. Si todas las condiciones son falsas. y si no se cumple. que es la opción por defecto. La Figura presenta esquemáticamente ambas formas de representar estas sentencias: Por ejemplo.

.Then . . expresiónToexpresión 3.Digitos = 3 End If Sentencia SELECT CASE Esta sentencia permite ejecutar una de entre varias acciones en función del valor de una expresión. Es una alternativa a If . combinación de las anteriores separadas por comas Por ejemplo. 8 ' Numero es uno de los tres valores.. pueden adoptar las formas siguientes: 1.. Resultado = "Se encuentra entre 6 y 8" . etiq2. Is operador-de-relación expresión 4. Su forma general es la siguiente: Select Case expresion Case etiq1 [sentencias1] Case etiq2 [sentencias2] Case Else Sentencias n End Select Donde expresión es una expresión numérica o alfanumérica. Resultado = "Se encuentra entre 1 y 5" ' Lo siguiente se ejecuta si es True la expresión. Case 1 To 5 ' Numero está entre 1 y 5. Case 6.. expresión 2. 7... ElseIf cuando se compara la misma expresión con diferentes valores. y etiq1. Select Case Numero ' Se va a evaluar la variable Numero. Numero = 8 ' Se inicializan las variable.

. Todo esto sucede en caso de ser la expresion3 positiva. La sentencia ExitFor es opcional y permite salir de un bucleFor . MyString="Informática " For Words = 3 To 1 Step -1 ' 3 veces decrementando de 1 en 1. o en 1 si Stepno se especifica. primero se asigna el valor de la expresion1 a la variable y se comprueba si su valor es mayor o menor que la expresion2.Case Is = 9 . Resultado = "El valor es 9 o 10" Case Else ' Resto de valores. y así sucesivamente. Si no existe un valor igual a la expresion entonces se ejecutan las sentencias a continuación de Case Else. Is = 10 ' Numero es 9 ó 10. y en caso de ser mayor el control del programa salta a las líneas a continuación de Next. . For Chars = Words To Words+4 '5 veces. En caso contrario se ejecutarán las sentencias cuando la variable sea mayor que expresion2. Sentencia FOR . el valor más pequeño debe aparecer en primer lugar. En caso de ser menor se ejecutan las sentencias. la variable se incrementa en el valor de la expresion3. Cuando se ejecuta una sentencia Select Case. Una vez ejecutadas las sentencias. Resultado = "El número no se encuentra entre 1 y 10" End Select Cuando se utiliza la forma expresionToexpresion. ejecutando a continuación el correspondiente bloque de sentencias.. Visual Basic evalúa la expresion y el control del programa se transfiere a la sentencia cuya etiqueta tenga el mismo valor que la expresión evaluada.. y permite ejecutar un conjunto de sentencias cierto número de veces.Next antes de que éste finalice. Por ejemplo. volviéndose a efectuar la comparación entre la variable y la expresion2. MyString = MyString & Chars ' Se añade el número Chars al string. NEXT La sentencia For da lugar a un lazo o bucle. Su forma general es: For variable = expresion1 To expresion2 [Step expresion3] [sentencias] Exit For [sentencias] Next [variable] Cuando se ejecuta una sentencia For..

. End If Loop ... Check = False ' Se asigna a Check el valor False. Next Words 'El valor de MyString es: Informática 34567 23456 12345 Sentencia DO .Next Chars ' Se incrementa el contador MyString = MyString & " " ' Se añade un espacio. Exit Do ' Se acaba el segundo Do.Loop antes de que finalice éste. o hasta que una condición dada sea cierta. Sus posibles formas son las siguientes: Formato 1: Do [{While/Until} condicion] [sentencias] [Exit Do] [sentencias] Loop Formato 2: Do [sentencias] [Exit Do] [sentencias] Loop [{While/Until}condicion] La sentencia opcional Exit Do permite salir de una bucle Do . LOOP Un Loop (bucle) repite la ejecución de un conjunto de sentencias mientras una condición dada sea cierta. Do While Counts < 20 ' Bucle que acaba si Counts>=20 o con Exit Do. Counts = 0 Do ' Empieza sin comprobar ninguna condición. Counts = Counts + 1 ' Se incrementa Counts. Por ejemplo. La condición puede ser verificada antes o después de ejecutarse el conjunto de sentencias.. If Counts = 10 Then ' Si Counts es 10. Check = True ' Se inicializan las variables.

Sentencia FOR EACH . bloqueándose el programa y a veces el ordenador). En el ejemplo mostrado. NEXT Esta construcción es similar al bucle For. se sale de los bucles siempre con Counts = 10.Loop Until Check = False ' Salir del "loop" si Check es False. con la diferencia de que la variable que controla la repetición del bucle no toma valores entre un mínimo y un máximo. Wend ’ Se acaba el bucle cuando Counts> 19. WhileCounts< 20 ’ Se comprueba el valor de Counts. Su estructura es la siguiente: Whilecondicion [sentencias] Wend Por ejemplo. Esta construcción es muy útil cuando no se sabe el número de elementos que tiene el array o la colección de objetos. La forma general es la siguiente: For Each variable Ingrupo [sentencias] Next variable Con arrays variable tiene que ser de tipo Variant. Con colecciones variable puede ser Varianto una variable de tipo Object. En cualquier caso se recuerda que la mejor forma de mirar y aprender el funcionamiento de todas estas sentencias es mediante el uso del Help de Visual Basic. .. sino a partir de los elementosde un array (o de una colección de objetos).. Counts = 0 ’ Se inicializa la variable. Ofrece una explicación de cada comando con ejemplos de utilización. Es necesario fijarse que si se inicializa Counts con un número mayor o igual a 10 se entraría en un bucle infinito (el primer bucle acabaría con Counts = 20 pero el segundo no finalizaría nunca. Counts = Counts + 1 ’ Se incrementa el valor de Counts. Sentencia WHILE … WEND Esta sentencia es otra forma de generar bucles que se recorren mientras se cumpla la condición inicial.

ejecuta un número determinado de instrucciones. y por tanto no pueden ser utilizadas en expresiones. Los nombres de los procedimientos tienen reglas de visibilidad parecidas a las de las variables. si se desea llamar a un procedimiento definido en un módulo estándar (*. Para llamar desde un formulario a un procedimiento Public definido en otro formulario es necesario preceder su nombre por el del formulario en que está definido. Si no se indica un tipo determinado los argumentos son Variant por defecto. Visual Basic asigna el valor de cada argumento en la llamada al parámetro que ocupa su misma posición.Para especificar el tipo se utiliza la cláusula As Tipo (Integer. Double. sin necesidad de devolver ningún valor al mismo (puede dar resultados modificando los argumentos). si en una expresión aparece sin(x) se calcula el seno de la variable x y el resultado es el valor de retorno que sustituye a sin(x) en la expresión en la que aparecía. mientras que una función siempre tendrá un valor de retorno. Como se verá en un apartado posterior. String o Variant). Currency. Por ejemplo. Single. Sin embargo. Será de un tipo u otro dependiendo del dato que devuelva. Parámetros son los argumentos que son pasados cuando se llama a la función. Long.0 se distingue entre funciones y procedimientos Sub. que una vez llamado por el programa. Por tanto. a diferencia de los procedimientos que no devuelven ningún valor. los . Un procedimiento Sub es un segmento de código independiente del resto. En ocasiones se utiliza la palabra genérica procedimiento para ambos. La fundamental diferencia entre un procedimiento Sub y una función es que ésta última puede ser utilizada en una expresión porque tiene un valor de retorno. El valor de retorno ocupa el lugar de la llamada a la función donde esta aparece.bas) no es necesario precederlo del nombre del módulo más que si hay coincidencia de nombre con otro procedimiento de otro módulo estándar. La sintaxis correspondiente a una función es la siguiente: [Static] [Private] Function nombre ([parámetros]) [As tipo] [sentencias] [nombre = expresion] [Exit Function] [sentencias] [nombre = expresion] End Function Donde nombre es el nombre de la función.14) FUNCIONES Y PROCEDIMIENTOS SUB EN VISUAL BASIC En Visual Basic 6. las funciones devuelven valores.

El siguiente ejemplo corresponde a una función que devuelve como resultado la raíz cuadrada de un número N: Function Raiz (N As Double) As Double If N < 0 Then Exit Function Else Raiz = Sqr(N) End Function La llamada a esta función se hace de la forma siguiente: Cuadrada = Raiz(Num) A diferencia de C y C++ en Visual Basic 6. pero lógicamente una vez finalizada la función. que es el valor de retorno. Los tipos de los argumentos deben coincidir con los tipos de sus correspondientes parámetros. pues el nombre de la función ya contiene el valor que se desea devolver. La sintaxis que define un procedimiento Sub es la siguiente: .argumentos pueden ser pasados por referencia o por valor. La sentencia End Function marca el final del código de la función y. Si no se efectúa esta asignación. o Empty si la función es Variant. Tampoco es necesario declarar las funciones antes de llamarlas. En principio. devuelve el control del programa a la sentencia siguiente a la que efectuó la llamada.0 no es necesario devolver explícitamente el valor de retorno. Exit Function permite salir de una función antes de que ésta finalice y devolver así el control del programa a la sentencia inmediatamente a continuación de la que efectuó la llamada a la función. La llamada a una función se hace de diversas formas. aunque ésta no tenga argumentos. variables o expresiones separadas por comas que son pasadas a la función. El valor de la variable expresion es almacenado en el propio nombre de la función. En cada llamada a una función hay que incluir los paréntesis. el número de argumentos debe ser igual al número de parámetros de la función. El nombre de la función. el resultado devuelto será 0 si la función es numérica. Esta regla no rige si los argumentos se pasan por valor (concepto que se verá más adelante). de lo contrario puede haber fallos importantes en la ejecución del programa. actúa como una variable dentro del cuerpo de la función. al igual que la Exit Function. nulo ("") si la función es de caracteres. Por ejemplo. una de las más usuales es la siguiente: variable = nombre([argumentos]) donde argumentos son un lista de constantes.

sin pasar los argumentos entre paréntesis. de este modo. La llamada a un procedimiento Sub puede ser de alguna de las dos formas siguientes: Call nombre[(argumentos)] o bien. debido a que como se ha mencionado anteriormente. el resultado obtenido al extraer la raíz cuadrada al número N se devuelve en la variable F pasada como argumento. cualquier cambio de valor que sufra un parámetro dentro de la función o del procedimiento Sub también se produce en el argumento correspondiente de la llamada a la función o al procedimiento Sub. F As Double) If N < 0 Then Exit Sub 'Se mandaría un mensaje de error Else F = Sqr(N) End If End Sub La llamada a este procedimiento Sub puede ser de cualquiera de las dos formas siguientes: Raiz N. F) En el ejemplo anterior. sino poniéndolos a continuación del nombre simplemente separados por comas: nombre [argumentos] A diferencia de una función. un procedimiento Sub no puede ser utilizado en una expresión. Por supuesto una función puede ser llamada al modo de un procedimiento Sub. pero en este caso no se hace nada con el valor devuelto por la función. En las funciones (Function) y en los procedimientos Sub de Visual Basic. se podrá especificar que el valor de un argumento no sea cambiado por la función o por el . El siguiente ejemplo corresponde a un procedimiento Sub que devuelve una variable F que es la raíz cuadrada de un número N. Sub Raiz (N As Double. Cuando se llama a una función o a un procedimiento Sub. por defecto los 2 argumentos se pasan por referencia.[Static] [Private] Sub nombre [(parámetros)] [sentencias] [Exit Sub] [sentencias] End Sub La explicación es análoga a la dada para funciones. F Call Raiz(N. un procedimiento Sub no puede ser utilizado en una expresión pues no devuelve ningún valor.

Raiz ((Num)) ' En el caso de la función Raiz (Num). como sucede con vectores. pero variando el argumento a (N-1). si la variable N que se le pasa a la función vale 0. Otra forma de especificar que un argumento será siempre pasado por valor es anteponiendo la palabra ByVal a la declaración del parámetro en la cabecera del procedimiento (Sub o Function). Function Factorial (N As Integer) As Long If N = 0 Then Factorial = 1 'Condición de final Else Factorial = N * Factorial (N . Un argumento entre paréntesis en la llamada es un argumento pasado por valor. el cambio afecta sólo a la copia y no a la propia variable Num. A continuación se presenta un ejemplo de una función que calcula la factorial de un número programada de forma recursiva. Se dice que una función (Function) es recursiva o que un procedimiento Sub es recursivo si se llaman a sí mismos. Si es distinto de 0.procedimiento. Significa que lo que se pasa es una copia de Num. pero tiene un coste en tiempo y memoria que puede ser significativo cuando se pasan grandes volúmenes de información. hasta llegar al punto en el que N-1=0. F ' En el caso del procedimiento El argumento Num es pasado por valor.1) End If End Function En este ejemplo. significará que se ha llegado al final del proceso. matrices y estructuras. Si el procedimiento cambia ese valor. y por tanto se le asigna el valor 1 al valor del factorial (recordar que 0! = 1). Function Raiz (ByVal N As Double) Sub Raiz (ByVal N As Double. . poniendo dicho argumento entre paréntesis en la llamada. Por ejemplo. Por ejemplo. finalizándose el proceso. la función se llama a ella misma. F As Double) Pasar argumentos por valor evita modificaciones accidentales.

como por ejemplo: Private Sub miProc(x as Double. Esto se consigue incluyendo el nombre de los argumentos en la llamada y asignándoles un valor por medio de una construcción del tipo miArgumento:=unValor. especificándolo con la palabra ParamArray en la definición del procedimiento. Optional n=3 As Integer) sentencias End Sub Este caso es similar pero diferente del anterior. Si un argumento es opcional. el valor que se le pasa es un Variant con valor Empty. En este caso no es que haya argumentos opcionales que puedan omitirse en la llamada. de forma que el programador pueda o no incluirlos en la llamada de dichos procedimientos. destinatario As String) sentencias End Sub . sino que realmente no se sabe con cuántos argumentos va a llamarse la función.0 ofrece también la posibilidad de llamar a las funciones y procedimientos Sub de una forma más libre y menos formal. pasando los argumentos en la llamada al procedimiento con un orden arbitrario.Puede haber procedimientos en los que algunos de los argumentos incluidos en su definición sean opcionales. En este caso los argumentos se pasan al procedimiento por medio de un array. Unos argumentos se separan de otros por medio de comas (. como por ejemplo: Public Function maximo(ParamArray numeros()) For Each x in numeros sentencias maximo = x Next x End Function Visual Basic 6.). otras con 3 y otras con 8. A los argumentos opcionales se les puede dar en la definición del procedimiento un valor por defecto para el caso en que sean omitidos en la llamada. unas veces se llamará con 2. La forma de incluir un argumento opcional es incluir la palabra Optional antes de dicho argumento en la definición del procedimiento. Cuando un argumento es opcional y en la llamada es omitido. todos los argumentos que vienen a continuación deben también ser opcionales. Considérese el siguiente ejemplo: Public Sub EnviarCarta(direccion As String.

llamado vector.0 admiten argumentos con nombre. caract(1). los índices se empiezan a contar en cero. con 4x6 . . cada uno de los cuáles permite almacenar una cadena de caracteres.Que se puede llamar en la forma: EnviarCarta destinatario:="Mike Tyson". Salvo que se indique otra cosa. Publiccadena(1 To 12) As String El ejemplo anterior declara un array de una dimensión.1). matriz.. Para declarar un array local a un procedimiento.. Private o Static dentro del propio procedimiento. vector(1). con doce elementos. direccion:="Las Vegas" No todas las funciones que se pueden llamar en Visual Basic 6. . . .. con veinte elementos. matriz(0. La declaración de un array a nivel del módulo o del formulario se hace en la sección de declaraciones del módulo o del formulario utilizando la sentencia Dim o Private...   A continuación se presentan algunos ejemplos: Dimvector(19) As Double Este ejemplo declara un array de una dimensión. vector(19).La declaración de un array público se hace en la sección de declaraciones de un módulo utilizando la sentencia Public. 1 To 6) As Integer Este ejemplo declara un array de dos dimensiones. Dimmatriz(3. . de tipo entero. Con AutoQuickInfo puede obtenerse más información al respecto. vector(0). llamado elementos. cadena. se utiliza la sentencia Dim. matriz(3. 15) ARRAYS ESTÁTICOS Y DINÁMICOS Arrays estáticos  La declaración de un array estático dependerá de su ámbito.. cada uno de los cuales permite almacenar un Double. caract(12).6).

Para asignar el número actual de elementos del array se utiliza la sentencia ReDim.. Esto se hace con la sentencia Public si se quiere que sea global. El espacio para un array dinámico se asigna durante la ejecución del programa. Para crear un array dinámico primero hay que declararlo como si fuera una array estático. Si se declara el array Matriz a nivel del formulario. La sentencia. con Dim o Private si se quiere a nivel de módulo o con Static. A continuación se presenta un ejemplo de cómo se declaran arrays dinámicos en Visual Basic. no se puede trasformar un vector en una matriz. Para solucionar este problema se utilizan los arrays dinámicos. pero no el número de dimensiones. Cuando interese cambiar el tamaño del array conservando los valores del array. Sin embargo tienen el inconveniente que en la mayoría de los casos están sobredimensionados y utilizan más memoria de la que realmente necesitan. Se declaran una vez. supóngase un array A de dos dimensiones..La declaración de los arrays estáticos es bastante cómoda. hay que ejecutar ReDim con la palabra clave Preserve. un procedimiento Calculo puede asignar espacio para el array. como se indica a continuación: Sub Calculo ( ). Arrays dinámicos El espacio necesario para un array estático se asigna al iniciarse el programa y permanece fijo durante su ejecución. C) . todos los valores almacenados en el array se pierden (si son Variant se ponen a Empty. Por ejemplo. Es decir. se deja la lista -entre paréntesisvacía sin ponerle ningún número. Un array dinámico.. Esto implica que se está malgastando memoria. por ejemplo. La forma mejor de redimensionar los arrays es mediante variables que contienen los valores adecuados. ReDimMatriz(F. End Sub Cada vez que se ejecuta la sentencia ReDim. si son numéricos a cero y si son cadenas de caracteres a la cadena vacía). Dim o Private si se quiere que sea local. Esto quiere decir que. . La sentencia ReDim puede aparecer solamente en un procedimiento y permite cambiar el número de elementos del array y sus límites inferior y superior. puede ser redimensionado en cualquier momento de la ejecución. pero sin darle dimensión.. DimMatriz( ) As Integer y más tarde.

2) + 2) incrementa el tamaño del array en dos columnas más. UBound(A. . La función UBound utilizada en este ejemplo es una función que devuelve el valor más alto de la segunda dimensión de la matriz (ver el Help para más información). Cuando se utiliza la palabra Preserve no puede cambiarse el índice inferior del array (sí el superior).ReDim Preserve A(D1.

Es un idioma hibrido. Se compone de los siguientes elementos: barra titulo. ventana de formulario. es un idioma muy completo para uso de formularios y manejo con bases de datos. es decir se expresa en un dialogo semejante al que usan las personas. es muy claro y tiene muy buena ayuda en castellano. el panel de propiedades y la ventana inmediato.CONCLUSIONES Visual Basic. Maneja todo el entorno de Windows con gran facilidad. el espacio de trabajo. . barra de menús. lo hacen ser uno de los mejores en esa materia. Sus usos para fines administrativos y contables para pequeñas y medianas administraciones. el explorador de proyectos. es decir formado por código y objetos insertables en los formularios. barra de herramientas estándar. y es de alto nivel.