Issuu on Google+

“FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACIÓN” VISUAL BASIC 6.0 Mayra Criollo Norma Pulluquitin Isaías Tusa ESTUDIANTE V INFORMÁTICA Y COMPUTACIÓN “U”. SEPTIEMBRE – FEBRERO


VISUAL BASIC 6.0 Creación de formularios: Abre Visual Basic y selecciona Crear un nuevo proyecto EXE estándar.

 Para cambiar el tamaño del formulario arrastra el ratón tirando de las esquinas.  Para poder introducir código debes insertar un botón haciendo click en la barra de controles y arrastrando sobre el formulario.  Para entrar en ventana de código haz doble click sobre el botón y escribe Print "hola" entre las lineas Private Sub Command1_Click() y End Sub.  Para poner en funcionamiento el programa pulsa sobre el botón Iniciar y verás aparecer la ventana de Windows con el programa. Pulsa el botón


del formulario y verás ejecutarse el código, apareciendo en el formulario la palabra "hola"

 Añade nuevas instrucciones Print al código del programa y se ejecutarán al ponerlo en marcha y pulsar sobre el botón Command1.

 Para cerrar el programa pulsa sobre el botón Cerrar.


 Añade varias órdenes print que muestren números en formato exponencial como Print 3E12 o Print 4E-9 y verás como Visual Basic los convierte automáticamente.  También puedes usar variables de texto (terminadas en $) o numéricas, asi como pedir un valor mediante la instrucción Inputbox() que muestra una ventana de entrada de datos.


Observa que al escribir el paréntesis de la instrucción InputBox, Visual Basic muestra el formato de la instrucción el cual puede llevar un mensaje, un título para la ventana, un valor por defecto, la posición en pantalla, etc. En el ejemplo escribe simplemente: Apellido$ = INPUTBOX("DIME TU APELLIDO") para guardar la respuesta en una variable tipo String.

Añade al programa las lineas: Print "Hola.." + Nombre$+" "+Apellido$ El espacio entre las dos variables evita que queden pegados los textos correspondientes. Tambien puedes definir el tipo de las variables con la instrucción DIM en lugar de utilizar el caracter $ Dim Nombre,Apellido As String


La orden PRINT envia al formulario los mensajes o los cálculos realizados linea a linea. Pero una forma más practica es enviarlos a posiciones fijas del formulario, insertando objetos tipo Label (etiquetas de texto). Haz click sobre el objeto correspondiente e insértalo en el formulario. Su nombre será: Label1 y la forma de enviarle un texto es : Label1.Caption="hola.."+Nombre$+" "+Apellido$

La orden PRINT envia al formulario los mensajes o los cálculos realizados linea a linea. Pero una forma más practica es enviarlos a posiciones fijas del formulario, insertando objetos tipo Label (etiquetas de texto). Haz click sobre el objeto correspondiente e insértalo en el formulario. Su nombre será: Label1 y la forma de enviarle un texto es : Label1.Caption="hola.."+Nombre$+" "+Apellido$ Este es ahora el contenido del código correspondiente al botón insertado en el formulario: Private Sub Command1_Click()


Print "HOLA" Print "EL CUBO DE 5 ES.."; 5 * 5 * 5 Print 3000000000000# Print 0.000000004 Nombre$ = "ANA" Print "MI NOMBRE ES.."; Nombre$ Apellido$ = InputBox("DIME TU APELLIDO ") Print "HOLA.."; Nombre$ + " " + Apellido$ Label1.Caption = "hola.." + Nombre$ + " " + Apellido$ End Sub Inserta un nuevo botón y haz doble click sobre él para introducir el código siguiente: Private Sub Adivina_Click() Dim X, n As Integer X = CInt(Rnd * 10) Print "DAME UN NUMERO DEL 0 AL 10 " n = InputBox("Número:") If X = n Then Print "ACERTASTE" Else Print "FALLASTE" End Sub En esta subrutina se definen dos variables numéricas enteras X y N. Se calcula un valor al azar para X y se pide otro mediante una ventana (InputBox). A continuación se comprueba si son iguales enviando al formulario el mensaje correspondiente.


Crea un nuevo proyecto e inserta una etiqueta (Label1) y un botón en él. Haz doble click sobre el botón para introducir el siguiente código que te permitirá ver cómo se usa la función Format() Private Sub Command1_Click() Dim micadena As String Label1.Caption = "Muestras de formatos" micadena = Format(5459.4, "##,##0.00") Print micadena micadena = Format(334.9, "###0.0") Print micadena micadena = Format(334.9, "###0.00") ' Devuelve "334,90". Print micadena micadena = Format(5, "0.00%") ' Devuelve "500,00%". Print micadena micadena = Format("HOLA", "<") ' Devuelve "hola". Print micadena micadena = Format("Esto está en mayúsculas ", ">") Print micadena End Sub


Crea un proyecto nuevo y añade dos cuadros de texto y una etiqueta. Inserta 3 botones de acción y modifica su nombre y texto. Haz doble clic sobre cada uno de ellos e inserta estas operaciones: Private Sub Dividir_Click() Label1 = Text1 / Text2 End Sub Private Sub Multiplicar_Click() Label1 = Text1 * Text2 End Sub Private Sub Potencias_Click() Label1 = Text1 ^ Text2 End Sub

Añade un nuevo botón que calcule el logaritmo en base 10 del número introducido en el primer cuadro de texto: Private Sub Logaritmo_Click() Label1 = Log(Text1) / Log(10#) End Sub

Crea una nueva función que calcule el logaritmo en cualquier base. Selecciona Agregar procedimiento y escribe esta función: Public Function LogaritmoX(ByVal x, y As Integer) As Single


LogaritmoX = Log(x) / Log(y) End Function

Para llamarla hay que pasarle 2 parámetros: X que será el número cuyo logaritmo queremos calcular y Y que representa la base. Introduce un nuevo botón de acción llamado LogBaseX y llama desde él a la función: Label1 = LogaritmoX(Text1, Text2)

Utilización de las funciones generadoras de números aleatorios: RND y RANDOMIZE Sintaxis: Randomize [número] El argumento con nombre número puede ser cualquier expresión numérica válida. Rnd devuelve un valor entre 0 y 1. Por ejemplo, la instrucción : MiValor = Int((6 * Rnd) + 1)


Genera un valor aleatorio entre 1 y 6 y lo guarda en la variable MiValor (Rnd*6 da un número de 0 a 5 y le sumamos 1) Abre un proyecto nuevo, introduce un botón de acción y una etiqueta de texto con un tamaño grande de letra y haz doble click sobre el botón para introducir el código siguiente:

Ahora ejecuta el programa y observa que con cada pulsación del botón aparece un número distinto (del 1 al 6) en la etiqueta de texto. Modifica el programa para que aparezcan 6 números al azar (del 1 al 49) en cada pulsación, para simular el juego de la primitiva. En determinados casos necesitaremos usar números enteros con valores altos. Entonces necesitamos trabajar con el tipo Long (entero largo): Integer

2 bytes

-32.768 a 32.767.

Long (entero largo)

4 bytes

-2.147.483.648 a 2.147.483.647.

La función que convierte el dato de un TextBox a entero largo es Clng() y es equivalente a CInt() para enteros. En este programa podrás introducir números grandes y el código del botón comprobará si es par (si la división entera es igual a la división con decimales) o impar (si no lo es).


En el siguiente proyecto vas a utilizar la función TIMER.

Este ejemplo usa también DoEvents para dar preferencia a otros procesos durante la pausa de cuenta (bucle Do While.. Loop).

Introduce los controles que ves a la izquierda: una etiqueta de texto (Label1) un TextBox, y un botón de acción con el código que ves a continuación:

-

Se

definen

tres

variables

enteras

(comienzo,

final

y

total)

- Se guarda elnúmero actual del segundero en la variable comienzo - Se crea un bucle que se realiza hasta que la variable total supere el valor establecido en el TextBox.


Durante el bucle se va guardando el valor de segundos del Timer en la variable final y se calculan los segundos transcurridos restando a este valor el número de segundos que guardamos, al empezar, en la variable comienzo. El bucle termina cuando el número de segundos es igual al valor establecido en el TextBox, apareciendo entonces el aviso.

2.2. Generación Cuadros de Mensaje Cuadro de Mensaje y de Entrada Una de las formas más simples de obtener información para y desde el usuario es utilizando las funciones MagBox e InpuBox respectivamente. Función MsgBox() Los cuadros de mensaje ofrecen un modo simple y rápido de consultar a los usuarios por información simple o para permitirles tomar decisiones sobre el camino que su programa debe tomar. Puede usar esta función para mostrar diferentes tipos de mensaje y botones con los cuales el usuario da una respuesta.

Formato MsgBox( prompt [, buttons] [, title ] [, helpfile, context] ) EL formato de la función MsgBox consta de los siguientes argumentos: Parte Descripción Prompt Requerido. Expresión de cadena que representa el mensaje en el cuadro de diálogo. La longitud máxima de prompt es de aproximadamente 1024 de caracteres, según el ancho de los caracteres utilizados. Si prompt consta de más de una línea, puede separarlos utilizando un carácter de retorno de carro (Chr(13) ) o un carácter de avance de línea (Chr(10) ), o una combinación de caracteres de retorno de carro - avance de línea (Chr(13 y Chr(10) ) entre cada línea y la siguiente.


Buttons Opcional. Expresión numérica que corresponde a la suma de los valores que especifican el número y el tipo de los botones que se pretenden mostrar, el estilo de icono que se va a utilizar, la identidad del botón predeterminado y la modalidad del cuadro de mensajes. Si se omite este argumento, el valor predeterminado para buttons es 0. Title Opcional. Expresión de cadena que se muestra en la barra de título del cuadro de diálogo. Si se omite title, en la barra de título se coloca el nombre de la aplicación. Helpfile Opcional. Expresión de cadena que identifica el archivo de Ayuda que se utiliza para proporcionar ayuda interactiva en el cuadro de diálogo. Si se especifica helpfile, también se debe especificar context. Context Opcional. Expresión numérica que es igual al número de contexto de Ayuda asignado por el autor al tema de Ayuda correspondiente. Si se especifica context, también se debe especificar helpfile. Valores El argumento buttons puede asumir los siguientes valores:

El primer grupo de valores (0 a 5) describe el número y el tipo de los botones mostrados en el cuadro de diálogo; el segundo grupo (16, 32, 48, 64) describe el estilo del icono, el tercer grupo (0, 256, 512, 768) determina el botón predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro


de mensajes. Cuando se suman números para obtener el valor final del argumento buttons, se utiliza solamente un número de cada grupo. Nota: Estas constantes las especifica Visual Basic. Por tanto, el nombre de las mismas puede utilizarse en cualquier lugar del código en vez de sus valores reales. Valores devueltos

Nota: Si desea omitir algún argumento, debe incluir el delimitador de coma correspondiente o utilizar argumentos con nombre. Ejemplos

Función InpuBox()

La función InputBox muestra un mensaje en un cuadro de diálogo, espera que el usuario escriba un texto o haga clic en un botón y devuelve un tipo String con el contenido del cuadro de texto.


Formato InputBox( prompt [, title] [, default] [, xpos] [,ypos] [, helpfile, context] ) El formato de la función InpuBox consta de los siguientes argumentos con nombre: Parte Descripción Prompt Requerido. Expresión de cadena que se muestra como mensaje en el cuadro de diálogo. La longitud máxima de prompt es de aproximadamente de 1024 caracteres, según el ancho de los caracteres utilizados. Si prompt consta de más de una línea, puede separarlos utilizando un carácter de retorno de carro (Chr(13)), un carácter de avancede línea (Chr(10)) o una combinación de los caracteres de retorno de carro – avance de línea (Chr(13) y (Chr(10)) entre cada línea y la siguiente. Title Opcional. Expresión de cadena que se muestra en la barra de título del cuadro de diálogo. Si omite title, en la barra de título se coloca el nombre de la aplicación. Default Opcional. Expresión de cadena que se muestra en el cuadro de texto como respuesta predeterminada. Si omite default, se muestra el cuadro de texto vacío. Xpos Opcional. Expresión numérica que especifica, la distancia en sentido horizontal entre el borde izquierdo del cuadro de diálogo y el borde izquierdo de la pantalla. Si se omite xpos, el cuadro de diálogo se centra horizontalmente. Ypos Opcional. Expresión numérica que especifica, la distancia en sentido horizontal entre el borde izquierdo del cuadro de diálogo y el borde izquierdo de la pantalla. Si se omite ypos, el cuadro de diálogo se coloca aproximadamente un tercio de la altura de la pantalla, desde el borde superior de la misma.


Helpfile Opcional. Expresión de cadena que identifica el archivo de Ayuda que se utilizará para proporcionar ayuda interactiva para el cuadro de diálogo. Si se especifica helpfile, también deberá especificar context. Context Opcional. Expresión numérica que es el número de contexto de Ayuda asignado por el autor al tema de Ayuda correspondiente. Si se especifica context, también deberá especificarse helpfile. MsgBox: Muestra un mensaje en un cuadro de diálogo, espera a que el usuario haga clic en el botón y devuelva un tipo Integercorrespondiente al botón elegido por el usuario. Sintaxis: MsgBox(prompt[,buttons][,helpfile, context]) La sintaxis de la función MagBox consta de estos argumentos:

Parte

Descripción

prompt

Requerido. Cadena que representa el prompt en el cuadro de diálogo. La longitud máxima de promptes de aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados.

buttons

Opcional. Expresión numérica que corresponde a la suma de los valores que especifican el número y el tipo de los botones que se pretenden mostrar, el estilo de icono que se va a utilizar, la identidad del botón predeterminado y la modalidad del cuadro de mensajes. Si se omite este argumento, el valor predeterminado para buttons es 0.

title

Opcional. Expresión de cadena que se muestra en la barra de título del cuadro de diálogo. Si se omitetitle, en la barra de título se coloca el nombre de la aplicación.

helpfile

Opcional. Expresión de cadena que identifica el archivo de Ayuda que se utiliza para proporcionar ayuda interactiva en el cuadro de diálogo.

Si

se

especificar context.

especifica helpfile,

también

se

debe


context

Opcional. Expresión numérica que es igual al número de contexto de Ayuda asignado por el autor al tema de Ayuda correspondiente. Si se especifica context, también se debe especificar helpfile.

Valores El argumento buttons tiene estos valores:

Constante

Valor

Descripción

VbOKOnly

0

Muestra solamente el botón Aceptar.

VbOKCancel

1

Muestra

los

botones Aceptar y Cancelar. VbAbortRetryIgnore

2

Muestra

los

botones Anular, Reintentar e Ignorar. VbYesNoCancel

3

Muestra los botones Sí, No y Cancelar.

VbYesNo

4

Muestra los botones Sí y No.

VbRetryCancel

5

Muestra

los

botones Reintentar y Cancelar. VbCritical

16

Muestra el icono de mensaje crítico.

VbQuestion

32

Muestra

el

icono

de pregunta

de

icono

de mensaje

de

icono

de mensaje

de

advertencia. VbExclamation

48

Muestra

el

advertencia. VbInformation

64

Muestra

el

información. VbDefaultButton1

0

El primer botón es el predeterminado.

VbDefaultButton2

256

El segundo botón es el predeterminado.

VbDefaultButton3

512

El tercer botón es el predeterminado.

VbDefaultButton4

768

El cuarto botón es el predeterminado.

VbApplicationModal

0

Aplicación

modal;

el

usuario

debe


responder al cuadro de mensajes antes de

poder

seguir

trabajando

en

la

aplicación actual. VbSystemModal

4096

Sistema modal; se suspenden todas las aplicaciones

hasta

que

el

usuario

responda al cuadro de mensajes. VbMsgBoxHelpButton

16384

Agrega el botón Ayuda al cuadro de mensaje.

VbMsgBoxSetForeground 65536

Especifica la ventana del cuadro de mensaje como la ventana de primer plano.

VbMsgBoxRight

524288

El texto se alinea a la derecha.

VbMsgBoxRtlReading

1048576 Especifica que el texto debe aparecer para ser leído de derecha a izquierda en sistemas hebreo y árabe.

El primer grupo de valores (0 a 5) describe el número y el tipo de los botones mostrados en el cuadro de diálogo; el segundo grupo (16, 32, 48, 64) describe el estilo del icono, el tercer grupo (0, 256, 512) determina el botón predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de mensajes. Cuando se suman números para obtener el valor final del argumento buttons, se utiliza solamente un número de cada grupo.

Valores devueltos:


Constante

Valor

Descripción

vbOK

1

Aceptar

vbCancel

2

Cancelar

vbAbort

3

Anular

vbRetry

4

Reintentar

vbIgnore

5

Ignorar

vbYes

6

vbNo

7

No

DECLARACIÓN DE VARIABLES LOCALES Y GLOBALES Un módulo puede contener variables y procedimientos o funciones públicos y privados. Los públicos son aquellos a los que se puede acceder libremente desde cualquier punto del proyecto. Para definir una variable, un procedimiento o una función como público es necesario preceder a la definición de la palabra Public, como por ejemplo:

Public Variable1 As Integer Public Sub Procedimiento1 (Parametro1 As Integer, …) Public Function Funcion1 (Parametro1 As Integer, …) As Integer Para utilizar una variable Public o llamar a una función Public definidas en un formulario desde otro módulo se debe preceder el nombre de la variable o procedimiento con el nombre del formulario al que pertenece, como por ejemplo:

Modulo1.Variable1 Call Modulo1.Procedimiento1(Parametro1, …) Retorno = Modulo1.Funcion1(Parametro1, …)

Sin embargo si el módulo al que pertenecen la variable o el procedimiento Public es un módulo estándar (*.bas) no es necesario poner el nombre del


módulo más que si hay coincidencia de nombres con los de otro módulo también estándar. Una variable Private, por el contrario, no es accesible desde ningún otro módulo distinto de aquél en el que se haya declarado.

Se llama variable local a una variable definida dentro de un procedimiento o función. Las variables locales no son accesibles más que en el procedimiento o función en que están definidas.

Una variable local es reinicializada (a cero, por defecto) cada vez que se entra en el procedimiento. Es decir, una variable local no conserva su valor entre una llamada al procedimiento y la siguiente. Para hacer que el valor de la variable se conserve hay que declarar la variable como static (como por ejemplo: Static n As Integer). Visual Basic inicializa una variable estática solamente la primera vez que se llama al procedimiento. Para declarar una variable estática, se utiliza la palabra Static en lugar de Dim. Un poco más adelante se verá que Dim es una palabra utilizada para crear variables. Si un procedimiento se declara Static todss sus variables locales tienen carácter Static.

Variables y funciones de ámbito global

Se puede acceder a una variable o función global desde cualquier parte de la aplicación. Para hacer que una variable sea global, hay que declararla en la parte general de un módulo *.bas o de un formulario de la aplicación. Para declarar una variable global se utiliza la palabra Public. Por ejemplo:

Public var1_global As Double, var2_global As String

De esta forma se podrá acceder a las variables var1_global, var2_global desde todos los formularios. La Tabla 3.1 muestra la accesibilidad de las variable en función de dónde y cómo se hayan declarado1.

La diferencia entre las variables y/o procedimientos Public de los


formularios

y

de

los mรณdulos estรกndar estรก en que las de los

procedimientos deben ser cualificadas (precedidas) por el nombre del formulario cuando se llaman desde otro mรณdulo distinto, mientras que las de un mรณdulo estรกndar (*.bas) sรณlo necesitan ser cualificadas si hay colisiรณn o coincidencia de nombres.

Tipo de variable Global o Public Dim o Private

Lugar de declaraciรณn Accesibilidad Declaraciones de *.bas Desde todos los formularios Declaraciones de *.bas Desde todas las funciones

Public

Declaraciones de *.frm

Dim o Private

Declaraciones de *.frm

Dim

Cualquier procedimiento de un

de ese Desde cualquier mรณdulo procedimiento del propio formulario y desde otros Desde cualquier precedida del nombre del procedimiento del propio moduloel en el que se ha Desde propio formulario declarado procedimiento

mรณdulo Tabla 3.1. Accesibilidad de las variables.

V A RI A B L E S

La memoria de un computador consta de un conjunto enorme de bits (1 y 0), en la que se almacenan datos y programas. Las necesidades de memoria de cada tipo de dato no son homogรฉneas (por ejemplo, un carรกcter


alfanumérico ocupa un byte (8 bits), mientras que un número real con 16 cifras ocupa 8 bytes), y tampoco lo son las de los programas. Además, el uso de la memoria cambia a lo largo del tiempo dentro incluso de una misma sesión de trabajo, ya que el sistema reserva o libera memoria a medida que la va necesitando.

Cada posición de memoria en la que un dato está almacenado (ocupando un conjunto de bits) puede identificarse mediante un número o una dirección, y éste es el modo más básico de referirse a una determinada información. No es, sin embargo, un sistema cómodo o práctico, por la nula relación nemotécnica que una dirección de memoria suele tener con el dato contenido, y porque – como se ha dicho antes– la dirección física de un dato cambia de ejecución a ejecución, o incluso en el transcurso de una misma ejecución del programa. Lo mismo ocurre con partes concretas de un programa determinado.

Dadas las citadas dificultades para referirse a un dato por medio de su dirección en memoria, se ha hecho habitual el uso de identificadores. Un identificador es un nombre simbólico que se refiere a un dato o programa determinado. Es muy fácil elegir identificadores cuyo nombre guarde estrecha relación con el sentido físico, matemático o real del dato que representan. Así por ejemplo, es lógico utilizar un identificador llamado salario_bruto o salarioBruto para representar el coste anual

de

un

empleado. El usuario no tiene nunca que preocuparse de direcciones físicas de memoria: el sistema se preocupa por él por medio de una tabla, en la que se relaciona cada identificador con el tipo de dato que representa y la posición de memoria en la que está almacenado.

Visual Basic 6.0, como todos los demás lenguajes de programación, tiene sus propias reglas para elegir los identificadores. Los usuarios pueden elegir con gran libertad los nombres de sus variables y funciones, teniendo siempre cuidado de respetar las reglas del lenguaje y de no utilizar un conjunto de palabras reservadas (keywords), que son utilizadas por el propio lenguaje. En el Apartado 3.4.3, en la página 28, se explicarán las reglas para elegir nombres y cuáles son las palabras reservadas del lenguaje Visual


Basic 6.0.

Variables y constantes Una variable es un nombre que designa a una zona de memoria (se trata por tanto de un identificador), que contiene un valor de un tipo de información. Tal y como su nombre indica, las variables pueden cambiar su valor a lo largo de la ejecución de un programa. Completando a las variables existe lo que se denomina constantes la 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. El tratamiento y tipos de datos es igual al de las variables.

Para declarar un dato como

constante únicamente es necesario utilizar la

palabra Const en la declaración de la variable. Si durante la ejecución se intenta variar su valor se producirá un error.

Const MyVar = 459

’ Las constantes son privadas por

defecto. Public Const MyString = "HELP"

' Declaración de una constante

pública. Private Const MyInt As Integer = 5

' Declaración de un entero

constante. Const Str = "Hi", PI As Double = 3.14 ' Múltiples constantes en una línea.  NOMBRES DE VARIABLES El nombre de una variable (o de una constante) tiene que comenzar siempre por una letra y puede tener una longitud hasta 255 caracteres. No se admiten


espacios o caracteres en blanco, ni puntos (.), ni otros caracteres especiales.

Los caracteres pueden ser letras, dígitos, el carácter de subrayado (_) y los caracteres de declaración del tipo de la variable (%, &, #, !, @, y $ ). El nombre de una variable no puede ser una palabra reservada del lenguaje (For, If, Loop, Next, Val, Hide, Caption, And, ...). Para saber cuáles son las palabras reservadas en Visual Basic 6.0 puede utilizarse el Help de dicho programa, buscando la referencia Reserved Words. De ordinario las palabras reservadas del lenguaje aparecen de color azul en el editor de código, lo que hace más fácil saber si una palabra es reservada o no.

A diferencia de C, Matlab, Maple y otros lenguajes de programación, Visual Basic 6.0 no distingue entre minúsculas y mayúsculas. Por tanto, las variables LongitudTotal y longitudtotal son consideradas como idénticas (la misma variable). En Visual Basic 6.0 es habitual utilizar las letras mayúsculas para separar las distintas palabras que están unidas en el nombre de una variable, como se ha hecho anteriormente en la variable LongitudTotal. La declaración de una variable o la primera vez que se utiliza determnan cómo se escribe en el resto del programa.

También es habitual entre los programadores, aunque no obligado, el utilizar nombres con todo mayúsculas para los nombres de las constantes simbólicas, como por ejemplo PI.  TIPOS DE DATOS

Al igual que C y otros lenguajes de programación, Visual Basic dispone de distintos tipos de datos, aplicables tanto para constantes como para variables. La Tabla 3.2 muestra los tipos de datos disponibles en Visual Basic.

Tipo

Descripción

Carácter de

Rango

declaración Boolean

Binario

True o False


Byte Integer Long Single Double Currency String

Entero corto Entero (2 bytes) Entero largo (4 bytes) Real simple precisión (4 bytes Real doble precisión ( 8 bytes) ) Número con punto decimal fijo Cadena (8 bytes)de caracteres (4

Date

bytes + 1 byte/car hasta Fecha (8 bytes) 64 K)

Variant

Userdefined

0 a 255 -32768 a 32767 -2147483648 a 2147483647 -3.40E+38 a 3.40E+38 -1.79D+308 a 1.79D+308 -9.22E+14 a 9.22E+14 0 a 65500 caracteres.

% & ! # @ $

1 de enero de 100 a 31 de diciembre de

Fecha/h

ninguno

F/h: como Date 9999. Indica también la

ora;

hora, desde 0:00:00 a que números: mismo rango

números enteros, reales, o Cualquier tipo de dato o ninguno caracteres (16 bytes + 1 estructura de datos. Se byte/car. en cadenas de crean utilizando la sentencia caracteres) Tabla 3.2. Tipos de Type (Ver Apartado 3.10)

23:59:59. el tipo de valor almacenado

datos en Visual Basic 6.0.

En el lenguaje Visual Basic 6.0 existen dos formas de agrupar varios valores bajo un mismo nombre. La primera de ellas (vectores

y matrices),

que

agrupan

datos

de

son

los

arrays

tipo homogéneo. La

segunda son las estructuras, que agrupan información heterogénea o de distinto tipo. En Visual Basic 6.0 las estructuras son verdaderos tipos de datos definibles por el usuario.

Para declarar las variables se utiliza la sentencia siguiente:

Dim NombreVariable As TipoVariable

cuyo empleo se muestra en los ejemplos siguientes:

Dim Radio As Double, Superficie as Single Dim Nombre As String Dim Etiqueta As String * 10 Dim Francos As Currency


Dim Longitud As Long, X As Currency

Es importante evitar declaraciones del tipo:

Dim i, j As Integer

pues contra lo que podría parecer a simple vista no se crean dos variables Integer, sino una Integer (j) y otra Variant (i).

En Visual Basic 6.0 no es estrictamente necesario declarar todas las variables que se van a utilizar (a no ser que se elija la opción Option Explicit que hace obligatorio el declararlas), y hay otra forma de declarar las

variables

anteriores,

utilizando

los

caracteres

especiales

vistos

anteriormente. Así por ejemplo, el tipo de las variables del ejemplo anterior se puede declarar al utilizarlas en las distintas expresiones, poniéndoles a continuación el carácter que ya se indicó en la Tabla 3.2, 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. Se mantiene en las sucesivas versiones de Visual Basic por la compatibilidad con códigos anteriores. Es preferible utilizar la notación donde se escribe directamente el tipo de dato.

Elección del tipo de una variable

Si en el código del programa se utiliza una variable que no ha sido declarada, se considera que esta variable es de tipo Variant. Las variables de este tipo se adaptan al tipo de información o dato que se les asigna en cada


momento. Por ejemplo, una variable tipo Variant puede contener al principio del programa un string de caracteres, después una variable de doble precisión, y finalmente un número entero. Son pues variables muy flexibles, pero su uso debe restringirse porque ocupan más memoria (almacenan el tipo de dato que contienen, además del propio valor de dicho dato) y requieren más tiempo de CPU que los restantes tipos de variables.

En general es el tipo de dato (los valores que puede tener en la realidad) lo que determina qué tipo de variable se debe utilizar. A continuación se muestran algunos ejemplos:

Integer para numerar las filas y columnas de una matriz no muy grande Long para numerar los habitantes de una ciudad o los números de teléfonos Boolean para una variable con sólo dos posibles valores (sí o no) Single para variables físicas con decimales que no exijan precisión Double para variables físicas con decimales que exijan precisión Currency para cantidades grandes de dinero Es muy importante tener en cuenta que se debe utilizar el tipo de dato más sencillo que represente correctamente el dato real ya que en otro caso se ocupará más memoria y la ejecución de los programas o funciones será más lenta.  DECLARACIÓN EXPLÍCITA DE VARIABLES Una variable que se utiliza sin haber sido declarada toma por defecto el tipo Variant. Puede ocurrir que durante la programación, se cometa un error y se escriba mal el nombre de una variable. Por ejemplo, se puede tener una variable " declarada como entera, y al programar referirse a ella por error como "; Visual Basic supondría que ésta es una nueva variable de tipo Variant.

Para evitar este tipo de errores, se puede indicar a Visual Basic que genere un mensaje de error siempre que encuentre una variable no declarada previamente. Para ello lo más práctico es establecer una opción


por defecto, utilizando el comando Environment del menú Tools/Options; en el cuadro que se abre se debe poner Yes en la opción Require Variable Declaration. También se puede

hacer

esto

escribiendo

la

sentencia

siguiente en la sección de declaraciones de cada formulario y de cada módulo:

UTILIZACIÓN

DE

OPERADORES

ARITMÉTICOS

DE

COMPARACIÓN

Y LÓGICOS.

OPERADORES:

La Tabla 3.3 presenta el conjunto de operadores que soporta Visual Basic 6.0

Aritmético Tipo

Concaten Relaciona ación l Otros Lógico

Exponenciación Operación Cambio de signo (operador unario) Multiplicación, división División entera Resto de una división entera Suma y resta Concatenar o enlazar Igual a Distinto Menor que / menor o igual que Mayor que / mayor o igual que Comparar dos expresiones de Comparar dos referencias a objetos caracteres Negación And Or inclusivo Or exclusivo Equivalencia (opuesto a Xor) Implicación (False si el primer

^ Operador en Vbasic *, / \ Mod +, & + = <> < <= > >= Like Is Not And Or Xor Eqv Imp

operando es True y el segundo operando es False) CONCLUSIÓN. La Programación Orientada a Eventos facilita el proceso de programación visual por su practicidad al generar rápidamente algunas aplicaciones basadas en objetos visuales. Ayuda al programador novato en el rápido aprendizaje de desarrollo de nuevos programas con alta calidad en muy poco tiempo.


VISUAL_BASIC 6