Colegio de la Inmaculada Concepci贸n Santa Fe
S I S T E M A D E
Visual Basic 6.0
D A T O S
Profesor: Luis Salda帽a 1
Historia del lenguaje Visual Basic es un lenguaje de programación, y como tal, sirve para crear programas o aplicaciones. Un leguaje de programación está formado por un conjunto de sentencias (entendibles por los humanos) que representan órdenes dadas a las computadoras. Generalmente, cada sentencia equivale a muchas órdenes o instrucciones que debe llevar a cabo la máquina. Visual Basic ha evolucionado (al igual que el resto de los lenguajes). Primero fue GWBASIC, luego QuickBasic y finalmente Visual Basic. Actualmente, Visual Basic combina la sencillez del Basic con el poder de un lenguaje de programación visual que permite desarrollar robustas aplicaciones de 32 bits para Windows. Visual Basic ya no es sólo un lenguaje para los más novatos, sino que es un excelente alternativa para programadores de todos los niveles. Hasta dónde se puede llegar con Visual Basic Este poderoso lenguaje resulta ideal para crear aplicaciones de uso general, tal como: Aplicaciones y utilitarios para Windows de cualquier índole. Aplicaciones que manejen base de datos de pequeño y mediano tamaño (por ejemplo, las basadas en el motor Jet de Microsoft, implementada en el conocido Access). Aplicaciones multimedia o publicaciones electrónicas en CD. Juegos sencillos. La programación en Visual Basic propone: 1. La primera tarea a realizar es diseñar los formularios (ventanas) con los que va a interactuar el usuario. 2. Luego deben agregarse objetos y definir las propiedades de cada uno. 3. Finalmente, se deben establecer los eventos a los que va a responder el programa y escribir el código correspondiente (por ejemplo, definir cómo va a responder un botón cuando el usuario haga un doble clic).
Formularios Los formularios son las ventanas mediante las cuales los usuarios interactúan con la aplicación. Lo primero que hay que hacer al comenzar un nuevo proyecto es definir todas las ventanas que formarán parte del programa, y luego establecer su apariencia y comportamiento. Por lo general se trabaja con los formularios en tiempo de diseño, es decir, ni bien se comienza a modelar el programa. En tiempo de ejecución, lo que se suele hacer es ocultar o redefinir el tamaño de un formulario. Cuando se abre un nuevo proyecto en Visual Basic, generalmente se presenta un formulario estándar sobre el cual se empieza a trabajar.
2
Al iniciar el Visual Basic aparecerá:
Luego hacer doble clic en el ícono Standard.exe. Entonces aparecerá: Formulario en blanco que es el punto de partida para construir una interfase.
3
El área de trabajo 1
2
3
7
4
5
8
1. Barra de títulos 2. Barra de menús 3. Barra de herramientas 4. Caja de herramientas
6
5. Diseñador de formularios 6. Explorador de proyectos 7. Ventana de propiedades 8. Posición de formulario
Controles Los controles son todos los objetos que se colocan en los formularios, mediante los cuales se realizan las acciones. A través de los controles se puede escribir y recibir texto (etiquetas y cajas de texto), usar botones de comando, insertar o manipular imágenes, utilizar cuadros de diálogos, y mucho más. Visual Basic incorpora diversos controles estándar, pero lo más llamativo es la posibilidad de crear controles personalizados (aunque para esto hay que tener más conocimiento en la materia).
4
Fijar los controles de un formulario Una vez ubicados todos los controles que formarán parte del formulario, Visual Basic nos permite fijarlos al mismo, de modo que no puedan moverse accidentalmente. Para ello, debemos ir al menú Fomat y elegir la opción Lock Controls. Seleccionar controles Seleccionar un control es la base para luego poder moverlo, duplicarlo, modificarlo o eliminarlo. Para seleccionar un solo control, simplemente debemos hacer un clic sobre el mismo en el formulario. Pero también existe la posibilidad de seleccionar varios controles de una sola movida. Par eso, debemos elegir el Puntero de la caja de herramientas y dibujar un rectángulo en el formulario ( de la mimas forma que se dibuja cualquier otro control). Todos los objetos que se encuentren dentro del rectángulo dibujado están seleccionados y listos para se manipulados. Otra forma de seleccionar varios controles a la vez es hacer clic sobre unos de ellos y luego seleccionar el resto manteniendo presionada la tecla ctrl. Eliminar controles Seleccionar un control y luego pulsar la tecla Supr o Delete.
Propiedades Las propiedades son atributos que poseen los controles. Todas las propiedades tienen un nombre que las identifica y un valor que determina el estado del objeto. El valor de una propiedad se puede establecer en tiempo de diseño o en tiempo de ejecución. Para establecer o cambiar el valor de una propiedad en tiempo de diseño, se debe seleccionar el objeto y acceder a la ventana de propiedades (ver figura). Allí simplemente debemos elegir el nombre de la propiedad a modificar (columna izquierda de la venta de propiedades) e ingresar el nuevo valor de la misma (columna derecha). En tiempo de ejecución, los valores de las propiedades se pueden asignar o modificar mediante el ingreso de código.
Columna de Propiedades
Columna de Valores de las propiedades 5
Ejercicio Nro. 1
¡Hola Mundo! El objetivo de este ejercicio es crear un programa que, luego de hacer clic sobre un botón de comando, muestre la frase “¡Hola mundo!” en una etiqueta. 1) Crear un nuevo proyecto en Visual Basic 2) Cambiar la propiedad Caption del formulario principal por “ Saludo “
3) Ubicar un botón de comando en el formulario (pueden hacer doble clic sobre el control en la caja de herramientas, o un simple clic para dibujarlo sobre el formulario). Botón Comando
Quedará como se muestra en la imagen
6
4) Seleccionar el botón de comando y acceder a la ventana de propiedades.
Ventana Propiedades
Borrar Command1 y escribir BotonFrase
5) En la propiedad Caption ingresar “Mostrar frase” (que será el título del botón) y en la propiedad Name “BotonFrase” (que será el nombre del botón). 6) Cambiar el color del formulario, pero primero seleccionar el mismo con el Mouse.
Seleccionar el formulario con el Mouse, te darás cuenta porque alrededor aparecen unos nodos o cuadraditos.
Hacer clic en la flecha de propiedad BackColor, luego elegir la opción paleta, seleccionar el color que nos guste.
7
7) Ingresar una etiqueta en el formulario.
8) Dejar en blanco la propiedad Caption y cambiar el nombre de la propiedad Nombre en vez de Label1 que sea EtiquetaFrase. 9) Hacer doble clic en el botón de comando Mostrar Frase, y cuando aparezca la ventan de código ingresar el siguiente texto:
10) Aquí estamos asignando al campo de memoria o también llamada etiqueta, llamada etiquetafrase el texto Hola mundo !!! 11) Pulsar F5 para ejecutar el proyecto. Trabajar con formularios Cargar y mostrar formularios Cuando se escribe un programa que posee un solo formulario, no hay que preocuparse por mostrarlo u ocultarlo ya que Visual Basic por defecto lo presentará en pantalla al ejecutar el proyecto. Pero la mayoría de los programas tienen varias ventana, lo cual hace necesario que debamos controlar cuáles se muestran y cuáles no. Para mostrar un formulario, existe un método llamado Show. Su sintaxis es la siguiente: Formulario.Show estilo, padre Parámetro Descripción Formulario Opcional. Nombre del formulario a mostrar. Si se omite, se muestra el formulario activo. Estilo Opcional. Número entero que determina si el formulario se mostrará de forma modal (1) o normal (0) Padre Opcional. Se utiliza para indicar si nuestra ventana está contenida dentro de otro formulario (relación padre –hijo). Generalmente no se utiliza este parámetro, aunque es muy útil para crear barras de herramientas.
8
Por ejemplo: FrmPrograma.Show Esta instrucción carga el formulario frmPrograma en memoria, e inmediatamente después lo muestra en pantalla. FrmProgram. Show 1 (Aquí, también se muestra la ventana frmProgram, pero esta vez en forma modal). Si un formulario se muestra modalmente, el control del programa permanece en ese formulario hasta que éste se cierre. Si una ventana se muestra normal, los usuarios se pueden mover libremente por todos los formularios activos (sin necesidad de cerrarlos obligatoriamente). Formulario Modal Es ideal para usar cuando queremos que los usuarios completen las acciones del formulario antes de ir a otra parte del programa. El método Show realiza dos acciones: Cargar el formulario en memoria (si aún no estaba cargado) Mostrar el formulario en pantalla. Sin embargo muchas veces es necesario cargar un formulario en memoria sin mostrarlo, para dicha función se usará la instrucción Load, que cargar en memoria formularios y otros controles. Por ejemplo: Load frmPrograma Esta línea de código carga en memoria el formulario frmPrograma, pero no lo muestra. Después de realizada la carga, se ejecuta el evento From_Load de frmPrograma (con lo cual se ejecuta el código disponible en dicho procedimiento de suceso). Sugerencia: Los formularios que poseen muchos controles tardan en aparecer, por lo que a veces es conveniente cargar todos los formularios en memoria de una sola vez al inicio del programa para luego mostrarlos más rápidos en el momento deseado. Hide Quita el formulario de la pantalla pero no de la memoria, por lo tanto se lo debe usar cuando se quiere ocultar temporalmente una ventana con la que se seguirá trabajando luego. Ejemplo: Objeto.hide Unload Esta instrucción permite descargar de memoria un formulario (con lo cual también se lo oculta de la pantalla). Ejemplo: Unload objeto
9
Ejercicio Nro. 2 Dise帽ar los formularios como se muestran a continuaci贸n:
En cada bot贸n agregar las siguientes instrucciones:
10
Trabajando con Etiquetas y Cajas de Texto Caja de Texto o Textbox Etiqueta o Label La caja de texto o TestBox se usará para introducir datos desde teclado. Las etiquetas o label para visualizar datos que pueden ser provenientes de las cajas de textos, insertar comentarios dentro del formulario o bien para que Visual Basic muestre resultados por pantalla de operaciones o de acciones intermedias. Para clarificar mejor estos conceptos iremos directamente a un ejemplo: Si nuestro deseo es ingresar dos números y sumarlos, el resultado deberá ser mostrado en algún sector del formulario, por lo que lo visualizaremos en una etiqueta. Diseñar un formulario como a continuación se describe: A las dos cajas de textos le pondremos el nombre: Tnumero1 y Tnumero2. Y borraremos el contenido de la propiedad Text. Name o Nombre: Tnumero1 Text: A la etiqueta, que es el rectángulo que está de color amarillo le pondremos como nombre Lresultado. Quitar el contenido que aparece en la propiedad Caption, dejarlo en blanco. En BackColor elegir el color amarillo. Creamos tres etiquetas más y al propiedad Caption de cada una le ingresamos los títulos que se muestran en la figura (Número 1, Número 2, Resultado). Creamos un botón con el título Sumar. Hacemos doble clic al mismo e ingresamos el siguiente código: Lresultado = Val(Tnumero1) + Val(Tnumero2) Lresultado es el nombre de la etiqueta de color amarilla, a la misma le vamos a asignar la suma de las cajas de texto Tnumero1 y Tnumero2. La sentencia Val que antecede a cada nombre de caja de texto sirve para convertir un valor de tipo alfabético (string) a numérico, ya que de otra forma no se podrán procesar matemáticamente. Cuando ejecutemos el programa y tras ingresar el primer número debemos pulsar la tecla TAB o realizar clic con el Mouse en el casillero del segundo número, a veces es necesario 11
por comodidad pulsar Enter para que el control se pase automáticamente a otro objeto. A continuación explicaremos como se programa esta acción:
1
Se debe hacer doble clic en la caja de texto Tnumero1, para escribir su código de programación. Aquí elegir el evento 2 KeyPress que abre una nueva rutina del elemento Tnumero1
3
Aparecerá lo que se indica, esto significa que el evento KeyPress nos devuelve un valor entero numérico (Integer) a la variable KeyAscii que fue introducida en forma automática por Visual Basic. En esa variable KeyAscii se guardará el número ASCII de la tecla que pulsemos. El número ASCII es un número que utiliza la computadora para identificar las teclas, todas las teclas del teclado disponen de un código numérico que es el código ASCII. Por ejemplo, la tecla Enter posee el número 13, la barra espaciadora el 32, la tecla ESC 27, etc. Aquí aplicamos el condicional IF, esta expresa que si la variable keyAscii es igual a 3 entonces (verdadero), el cursor irá a Tnumero2. Tnumero2.SetFocus (significa que el foco el cursor se dirige a Tnumero2.
12
Else
F
Condici贸n
Then
V
KeyAscii = 13
Tnumero2.SetFocus
Si recordamos la estructura condicional que hemos visto en el DFD, la sentencia If then es la codificaci贸n de esta estructura. If (condici贸n) then (bloque de instrucciones) Else (bloque de instrucciones) End if
End if
13
Ejercicio Nro. 3 Crearemos un programa donde introduciendo 2 números nos calcule la “suma” y “resta” de ambos números, pudiendo “borrar” los valores introducidos mediante otro botón y “salir” de la aplicación.
Propiedad “BackColor” escoger color “gris” Propiedad “Caption” escribir “Sumar y Restar”
Con la herramienta de “LABEL” dibujaremos 3 “labels”, como en el ejemplo,
14
A continuación colocaremos las siguientes propiedades iguales a los 3 “labels”,
Color “Rosa” Caption respectivo para cada label: “Numero Uno” “Numero Dos” “Resultado”
Desde la caja de componentes, vamos a dibujar ahora tres “TextBox”, como en la siguiente imagen,
15
A estos “TextBox” les eliminaremos el contenido de la propiedad “Text” para que el control salga en blanco.
Finalmente dibujaremos los “CommandButton” o “botones de comando”, como muestra la imagen siguiente,
16
Seguidamente colocaremos la propiedad “Caption” de los botones con los nombres siguientes respectivamente,
En la propiedad “Caption” de cada “boton” introduciremos el texto respectivo, Caption:
&Salir &Restar S&alir &Borrar
** Recordamos que el símbolo “&” delante de una letra, hace que la letra salga subrayada de forma que nos indica la tecla de acceso rápido al botón en cuestión, manteniendo pulsada la tecla ALT y sin soltar pulsar la tecla subrayada. **
17
El formulario que hemos creado con los pasos anteriores tiene que tener el siguiente aspecto, 3 labels
3 textbox
4commandbutton
Ahora dentro de los siguientes componentes introduciremos el codigo, (recuerda que para acceder al codigo de cada componente haremos “2 clics” en el componente) En el boton de “Sumar” introduciremos la rutina, Private Sub Command1_Click() Text3.Text = Val(Text1.Text) + Val(Text2.Text) End Sub En el boton de “Restar” introduciremos,
Esta función convierte un valor alfabético o alfanumérico de una caja de texto a valor numérico.
Private Sub Command2_Click() Text3.Text = Val(Text1.Text) - Val(Text2.Text) End Sub 18
En el boton de “Salir” Private Sub Command3_Click() End End Sub En el boton de “Borrar” Private Sub Command4_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text1.SetFocus End Sub Finalmente ejecuta con “F5” el programa y comprueba que funcione, si es así, almacena el formulario y el proyecto, recuerda que podemos dar el mismo nombre a los dos elementos “ya que cambia la extensión”. Si el programa no funciona, repasa el código, y verifica que este bien escrito. Descripción de algunas Propiedades necesarias de un Objeto o componente Color de fondo: Backcolor Contenido del control: Caption Alineación: Alignment (Centrada, Izquierda o derecha) Color de la letra: ForeColor. Tipo de letra o fuente: Font Activar o Desactivar el control: Enable (True: activado – False: Desactivado) Altura: Height Anchura: Width Visible: Ocultar o no el objeto en tiempo de ejecución no en diseño, en diseño se lo visualiza. Auto tamaño: Autozize (El componente se adapte al contenido del texto, si esta false significa que nosotros dimensionaremos manualmente al objeto). Ejercicio Nro. 4 Hacer un programa donde se ingresen dos nros. y que mediante botones, dichos números puedan ser sumados, restados, divididos y multiplicados. Cambiar a gusto las propiedades, Backcolor, Caption, Alignment, ForeColor, Font, AutoZize.
19
Ejercicio Nro. 5 Realizar un programa con el diseño que se encuentra a continuación. Este programa ingresará las el precio unitario y las unidades compradas de un determinado producto y luego se calculará el total a pagar.
Antes de ejecutar el programa es importante verificar el orden de los controles que se encuentran dentro. Para los controles de un formulario, el orden de tabulación se asigna según el orden en que se agregan los controles. Cada nuevo control se coloca el último en el orden de tabulación. Si lo ejecutáramos sin tener en cuenta el orden, probablemente el puntero del Mouse se ubicaría en el botón Calcular y en realidad debe estar en la caja de texto del Precio Unitario. Para solucionar esto, deberíamos ordenar la propiedad TabIndex de cada control del formulario. Ejemplo: TabIndex
Precio 0
Unidades 1
Botón Calcular Botón Nuevo 2 3
Podemos mejorar aún más nuestro programa, agregando a algunos controles el código que permita pasar el Mouse de un control a otro con la tecla Enter. Para ello, habrá que agregar: En el control Precio y Unidades, el siguiente código, que es el mismo explicado en el ejercicio que hicimos anteriormente para sumar dos números. Caja de texto Precio: Private Sub Precio_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Unidades.SetFocus End If End Sub Caja de texto Unidades: Private Sub Unidades_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Calcular.SetFocus End If 20
End Sub Botón de comando Nuevo: Private Sub Blanco_Click() Precio = " " Unidades = " " Total = " " Precio.SetFocus End Sub Botón de comando Calcular: Private Sub Calcular_Click() Total = Precio * Unidades Blanco.SetFocus End Sub Botón de comando Salir: Private Sub Command1_Click() End End Sub
Mensaje emergente (MsgBox) Esta orden hay que escribirla desde el código, Msgbox, nos permite crear cuadro de diálogos, para que el usuario pueda visualizar un resultado determinado desde el programa. Volvamos a unos de nuestros primeros ejercicios que mostraba el mensajes “Hola Mundo!!”. Ejercicio Nro. 5 1) Creamos un formulario nuevo en blanco. 2) Luego insertamos un botón de comando, lo llamaremos botonsaludo. 3) Dentro del código del botón insertaremos el código: Private Sub BotonSaludo_Click() MsgBox "Hola mundo!!!", vbOKOnly, "Saludo" End Sub
El primer parámetro será entre comillas, va el texto que irá dentro de la ventana
Luego de la coma irá el segundo parámetro, elegimos la cantidad de botones que aparecerá en la pantalla como así el ícono que queremos que aparezca, en nuestro caso el vbOKOnly (únicamente el botón Aceptar), que tendremos que elegirlo en la lista que aparece.
El tercer parámetro será el título de la ventana, que también irá entre comillas.
21
Podemos concatenar o unir el contenido de un control de una etiqueta o label al primer parámetro del comando msgbox. Por ejemplo: Si tuviéramos que ingresar dos notas de una alumno y luego mediante el comando msgbox visualizar el mensaje: “Su promedio es:” campo o control que contiene el cálculo del promedio.
Caja de texto que llamaremos n1 Caja de texto que llamaremos n2
El código que irá dentro del botón será: Private Sub BotonMonstrar_Click() p = (Val(n1) + Val (n2)) / 2 MsgBox "Su promedio es: " & p, vbOKOnly, "Mensaje" End Sub
Este símbolo sirve para unir o concatenar a un mensaje que está entre comillas el contenido de una variable, en nuestro caso se llama p.
Todo dato ingresado en una caja de texto siempre es de tipo alfabético o alfanumérico, por más que ingresemos números, por eso es vital usar el comando Val para transformarlo en dato numérico para poder luego procesarlo matemáticamente.
22
Función Select Case Ejecuta uno de varios grupos de instrucciones, según el valor de una expresión. Sintaxis de la función Select Case n Case 0 Print 'Cero' Case Is > 0 Print 'Pos' Case Else Print 'Neg' End Select También se puede expresar: Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber
Función IsNumeric Descripción
Devuelve un valor de tipo Boolean que indica si una expresión se puede evaluar como un número.
Sintaxis
IsNumeric(expresión) El argumento expresión puede ser cualquier
expresión.
Comentarios IsNumeric devuelve True si toda la expresión se reconoce como un número. De lo contrario, devuelve False. IsNumeric devuelve False si expresión es una expresión de fecha. El siguiente ejemplo usa la función IsNumeric para determinar si una variable se puede evaluar como un número:
Dim MiVar, MiComprobacion MiVar = 53 MiComprobacion = IsNumeric(MiVar)
' Asigna un valor. ' Devuelve True.
MiVar = "459.95" MiComprobacion = IsNumeric(MiVar)
' Asigna un valor. ' Devuelve True.
MiVar = "45 Help" MiComprobacion = IsNumeric(MiVar)
' Asigna un valor. ' Devuelve False. 23
Ejemplo: Private Sub Command1_Click() b = IsNumeric(a) If b Then MsgBox "el valor ingresado es un número", vbOKOnly, "mensaje" Else MsgBox "el valor ingresado no es un número", vbOKOnly, "mensaje" End If End Sub Sumar con control de errores 1) Crear un texbox llamado a. 2) En el Botón Sumar ingresar el siguiente código: Private Sub Command1_Click() Select Case a Case Is = "" Select Case b Case Is = "" MsgBox "No ingreso valores", vbOKOnly, "Aviso" Case Else MsgBox "No ingreso el primer valor", vbOKOnly, "Aviso" End Select Case Else Select Case b Case Is = "" MsgBox "No ingreso el segundo valor", vbOKOnly, "Aviso" Case Else x = IsNumeric(a) y = IsNumeric(b) If x And y Then c = Val(a) + Val(b) Else MsgBox "Debe ingresar números", vbOKOnly, "Aviso" End If End Select End Select End Sub
Función Date En este ejemplo se utiliza la función Date para devolver la fecha del sistema actual. Dim MiFecha MiFecha = Date ' MiFecha contiene la fecha del sistema actual.
24
Ejemplo: Private Sub Command1_Click() fecha = Date mes = Month(Date) End Sub
Función IsDate Descripción
Devuelve un valor de tipo Boolean que indica si una expresión se puede o no convertir en una fecha.
Sintaxis
IsDate(expresión) El argumento expresión puede ser cualquier expresión de fecha o expresión de cadena reconocible como fecha u hora.
Comentarios IsDate devuelve True si la expresión es una fecha o si se puede convertir en una fecha válida. De lo contrario, devuelve False. En Microsoft Windows, el intervalo válido de fechas es desde el 1 de enero del año 100 hasta el 31 de diciembre del año 9999; los intervalos varían según el sistema operativo. El siguiente ejemplo usa la función IsDate para determinar si una expresión se puede o no convertir en una fecha:
Dim MiFecha, SuFecha, NingunaFecha, MiComprobacion MiFecha = "October 19, 1962": SuFecha = #10/19/62#: NingunaFecha = "Hola" MiComprobacion = IsDate(MiFecha) ' Devuelve True. MiComprobacion = IsDate(SuFecha) ' Devuelve True. MiComprobacion = IsDate(NingunaFecha) ' Devuelve False.
25
Función VarType Descripción
Devuelve un valor que indica el subtipo de una variable.
Sintaxis VarType(nombredevariable) El argumento nombredevariable puede ser cualquier
variable.
Valores devueltos La función VarType devuelve los siguientes valores: Constante
Valor
Descripción
vbEmpty
0
Empty (no iniciado)
vbNull
1
Null (datos no válidos)
vbInteger
2
Entero
vbLong
3
Entero largo
vbSingle
4
Número de coma flotante de precisión simple
vbDouble
5
Número de coma flotante de precisión doble
vbCurrency
6
Moneda
vbDate
7
Fecha
vbString
8
Cadena
vbObject
9
objeto de automatización
vbError
10
Error
vbBoolean
11
Valor de tipo Boolean
vbVariant
12
Valor de tipo Variant (sólo se usa con matrices de valores de tipo Variant)
vbDataObject
13
Un objeto de acceso a datos
vbByte
17
Valor de tipo Byte
vbArray
8192
Matriz
Nota Estas constantes las especifica VBScript. Como resultado, los nombres se pueden usar en cualquier parte del código en lugar de los valores reales.
Comentarios La función VarType nunca devuelve el valor Array. Siempre se agrega a algún otro valor para indicar que es una matriz de un tipo determinado. El valor Variant sólo se devuelve cuando se agregó al valor Array para indicar que el argumento de la función VarType es una matriz. Por ejemplo, el valor devuelto para una matriz de enteros se calcula como 2 + 8192 u 8194. Si un objeto tiene una propiedad predeterminada, VarType (objeto) devuelve el tipo de su propiedad predeterminada.
26
El siguiente ejemplo usa la función VarType para determinar el subtipo de una variable.
Dim MiComprobacion MiComprobacion = VarType(300) MiComprobacion = VarType(#10/19/62#) MiComprobacion = VarType("VBScript")
' Devuelve 2. ' Devuelve 7. ' Devuelve 8.
Timer (Control) Un control Timer puede ejecutar código a intervalos periódicos produciendo un evento Timer. Interval (Propiedad) Devuelve o establece el número de milisegundos entre las llamadas al evento Timer de un control Timer. Sintaxis objeto.Interval [= milisegundos] La sintaxis de la propiedad Interval consta de las siguientes partes: Parte
Descripción
objeto
Una expresión de objeto que da como resultado un objeto de la lista Se aplica a.
milisegundos
Una expresión numérica que especifica el número de milisegundos, según se indica en Valores.
Valores Los valores admitidos para milisegundos son: Valor
Descripción
0
(Predeterminado) Desactiva el control Timer.
1 a 65.535
Establece un intervalo (en milisegundos) que se hace efectivo cuando se establece True en la propiedad Enabled de un control Timer. Por ejemplo, un valor 10.000 equivale a 10 segundos. El máximo, 65.535 milisegundos, equivale a poco más de un minuto.
27
Comentarios Puede establecer la propiedad Interval de un control Timer en tiempo de diseño o en tiempo de ejecución. Cuando utilice la propiedad Interval recuerde lo siguiente: •
La propiedad Enabled del control Timer determina la forma en que el control responderá al paso del tiempo. Establezca Enabled a False para deshabilitar el control Timer o a True para habilitarlo. Cuando se activa un control Timer, la cuenta atrás siempre empieza por el valor indicado en su propiedad Interval.
•
Cree un procedimiento de evento Timer para indicar a Visual Basic lo que debe hacer cada vez que transcurra el intervalo indicado en Interval.
Ejemplo: Se necesita realizar un programa que contenga la hora y además al ingresar un valor muestre uno de los siguientes mensajes: “El dato que ingreso es un número” o “El dato que ingreso no es un número”.
Private Sub Command2_Click() End End Sub
Private Sub Timer1_Timer() hora = Time() End Sub No olvidarse de escribir 1000 en la propiedad Interval.
Private Sub Command1_Click() b = IsNumeric(a) If b Then mensaje = "El dato que ingreso es un número" Else mensaje = "El dato que ingreso no es número" End If End Sub
28
Funciones Hour – Minute – Second La función hour extrae de time la porción de hora.
1
La función minute extrae de time la porción de minutos. La función second extrae de time la porción de segundos.
2
3
Dentro del ícono de reloj ingresar el código:
1 2 3
Al ejecutar el programa aparecería lo siguiente:
29
Propiedad Visible Diseñamos el siguiente formulario:
1
Los TextBox poseen el nombre: n1 y n2 (donde ingresaremos los valores numéricos). Los Label poseen el nombre: s y r. 1) Al ejecutar el formulario deben desaparecer los siguientes objeto: 1. El label llamado s, el recuadro (Shape1, este se diseña con la opción del Cuadro de Herramientas, donde se encuentra: el textbox, el label, etc. ), el botón nuevo y el label r. Para resolver eso debemos ingresar el siguiente código en la sección carga de formulario, hacemos entonces doble clic sobre cualquier parte gris o fondo del formulario donde indica la flecha 1. Ingresamos entonces: Private Sub Form_Load() s.Visible = False r.Visible = False nuevo.Visible = False Line1.Visible = False End Sub
Con esto estamos indicando que la propiedad Visible de cada objeto quedará en False o sea dichos objetos: s, r, nuevo y line1 quedarán ocultos.
2) Después de ingresar los números que deseemos sumar pulsaremos el botón Aceptar, y debe aparecer el resultado en el label que llamamos r, pero debemos ocultar los objetos n1, n2, y el botón Aceptar. 30
3) Debemos entonces ingresar el siguiente código dentro del botón Aceptar, hacemos entonces doble clic en el mismo e ingresamos: Private Sub Aceptar_Click() s.Visible = True r.Visible = True nuevo.Visible = True Shape1.Visible = True Se ponene en True los objetos: s, r, nuevo y Shape1. n1.Visible = False Y se codifican en False n1, n2 y el botón Aceptar. n2.Visible = False Después se realiza la suma, y se la asigna al label r. Aceptar.Visible = False Luego al label s se le asigna el texto: “ La suma es:”. r = Val(n1) + Val(n2) s = "La suma es:" End Sub 4) Programaremos el botón Nuevo, en el mismo se debe ingresar el siguiente código: s.Visible = False r.Visible = False nuevo.Visible = False Shape1.Visible = False n1.Visible = True n2.Visible = True Aceptar.Visible = True n1 = "" n2 = ""
Se ocultan nuevamente los objetos s, r, nuevo, shape1. Se configuran en visible los objetos n1, n2 y el botón Aceptar. Se limpian los contenidos de n1 y n2.
5) Programaremos el botón Salir, en el mismo ingresamos el siguientes código: Private Sub salir_Click() x = MsgBox("¿ Esta seguro que desea salir del programa ?", vbOKCancel, "Mensaje") If x = 1 Then End End If n1.Setfocus End Sub En un variable cualquier, aquí la llamamos x, mandaremos la respuesta del Msgbox. O sea, que la x tendrá el valor de 1 o 2, 1 en el caso que hayamos aceptado la opción y 2 en el caso de elegir el botón Cancelar del mensaje msgbox. Luego mediante el comando IF ejecutará la sentencia End, si x = 1, digamos que si luego que aparezca el mensaje elegimos el botón Aceptar, a la variable x se le asignará el número 1, por lo que se ejecutará la sentencia (End) que aparece después de Then. En caso contrario que pulsemos el botón Cancelar del mensaje, no saldrá del programa. Al no salir del programa el cursor quedará ubicado en el Textbox n1 (n1.setfocus). 31