+ All Categories
Home > Documents > Funciones de Visual Basic - frro.utn.edu.ar · FUUNNDDAAMME ENNTTO OSS TDDE DIINNFFORRMMÁÁTIICCAA...

Funciones de Visual Basic - frro.utn.edu.ar · FUUNNDDAAMME ENNTTO OSS TDDE DIINNFFORRMMÁÁTIICCAA...

Date post: 27-Jul-2018
Category:
Upload: vudien
View: 212 times
Download: 0 times
Share this document with a friend
31
FUNDAMENTOS DE INFORMÁTICA Departamento de Ingeniería Eléctrica Visual Basic 1 Funciones de Visual Basic Los procedimientos intrínsecos que Visual Basic provee los podemos clasificar en: Procedimientos para manipular cadenas de caracteres. Procedimientos para manipular expresiones numéricas. Procedimientos varios. Procedimientos para cadenas de caracteres Una cadena de caracteres es sinónimo de constante de caracteres (se denomina también literal) y es simplemente una secuencia de caracteres ANSI encerrados entre comillas. Por ejemplo: "Introducir valor" "AF1008G-7" Una cadena de caracteres puede ser manipulada directamente o a través de una variable de caracteres o variable alfanumérica en la que se haya almacenado previamente. Por ejemplo: Dim etiqueta As String etiqueta = InputBox("Etiqueta:") etiqueta = etiqueta & "O1" Utilizando el operador de concatenación ( &) y los procedimientos de cadenas de caracteres, podemos agrupar las variables y las constantes de caracteres para formar una expresión de caracteres. Asimismo, utilizando los operadores de caracteres. Por ejemplo: Dim cad As String, cad2 As String '… If cad1 > cad2 Then … Decir que una cadena es menor, igual o mayor que otra, significa indicar si está antes por orden alfabético, si tienen exactamente los mismos caracteres o si está después por orden alfabético, respectivamente. A continuación vamos a realizar un estudio de los procedimiento existentes para manipular cadenas de caracteres de uso más frecuente. Función Len Da como resultado el número de caracteres en una variable de caracteres. Su sintaxis es nombre_variable = Len(expresión_de_cadena)
Transcript

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 1

Funciones de Visual Basic

Los procedimientos intrínsecos que Visual Basic provee los podemos clasificar en:

• Procedimientos para manipular cadenas de caracteres.

• Procedimientos para manipular expresiones numéricas.

• Procedimientos varios.

Procedimientos para cadenas de caracteres

Una cadena de caracteres es sinónimo de constante de caracteres (se denomina también literal) y es simplemente una secuencia de caracteres ANSI encerrados entre comillas. Por ejemplo:

"Introducir valor"

"AF1008G-7"

Una cadena de caracteres puede ser manipulada directamente o a través de una variable de

caracteres o variable alfanumérica en la que se haya almacenado previamente. Por ejemplo:

Dim etiqueta As String

etiqueta = InputBox("Etiqueta:")

etiqueta = etiqueta & "O1"

Utilizando el operador de concatenación (&) y los procedimientos de cadenas de caracteres,

podemos agrupar las variables y las constantes de caracteres para formar una expresión de caracteres.

Asimismo, utilizando los operadores de caracteres. Por ejemplo:

Dim cad As String, cad2 As String

'…

If cad1 > cad2 Then …

Decir que una cadena es menor, igual o mayor que otra, significa indicar si está antes por orden alfabético, si tienen exactamente los mismos caracteres o si está después por orden alfabético,

respectivamente.

A continuación vamos a realizar un estudio de los procedimiento existentes para manipular cadenas de caracteres de uso más frecuente.

Función Len

Da como resultado el número de caracteres en una variable de caracteres. Su sintaxis es

nombre_variable = Len(expresión_de_cadena)

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 2

donde expresión_de_cadena es cualquier expresión de caracteres y nombre_variable es una

variable numérica en la que se obtiene el resultado.

En el número de caracteres se contabilizan los caracteres no imprimibles y los espa cios en blanco. Por ejemplo:

Dim LongA As Integer, LongB As lnteger, LongT As I.nteger

Dim CadenaA As String, CadenaB As String, CadenaC As String

CadenaA = "Alejandro"

CadenaB = "30/06/83"

CadenaC = ""

LongA = Len(CadenaA)

LongB = Len(CadenaB)

LongT = Len(CadenaA & CadenaB & CadenaC)

Print LongA, LongB, LongT 'escribe: 9 8 17

El valor de LongT es 17, puesto que la longitud de CadenaC es 0.

Función Left

Da como resultado los n caracteres de la expresión_de_cadena situados más a la izquierda. Su

sintaxis es

Nombre_variable = Left(expresión_de_cadena, n)

donde expresión_de_cadena es cualquier expresión de caracteres y n es una expresión

numérica.

Si n es mayor que Len(expresión_de_cadena), el resultado es la cadena de caracteres completa. Si n es igual a 0, el resultado es una cadena de longitud cero. Por ejemplo:

CadenaA = "Programa Visual Basic"

CadenaB = Left(CadenaA, 8)

Print CadenaB 'escribe: Programa

For K = 1 To 9

Print Left(CadenaA, K) ' escribe P Pr Pro ...

Next K

Función Right

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 3

Da como resultado los n caracteres de expresión_de_cadena situados más a la derecha. Su

sintaxis es

nombre_variable = Left(expresión_de_cadena, n)

La explicación es idéntica a la dada para Left , con la diferencia de que ahora se trata de los

caracteres de la derecha.

Función Mid

Da como resultado una subcadena de una cadena de caracteres. Su sintaxis es

nombre_variable = Mid(expresión_de_cadena, n [,m])

donde expresión_de_cadena es cualquier expresión de caracteres y n y m son expresiones enteras.

La función Mid obtiene una subcadena de m caracteres de longitud, empezando por el n-ésimo

carácter, de la expresión_de_cadena. Si se omite m o si hay menos caracteres que m a la

derecha del carácter n-ésimo de expresión_de_cadena, se obtiene la totalidad de caracteres que

hay a la derecha de éste. Si m es igual a 0 o si n es mayor que Len(expresión_de_cadena), Mid da como resultado una cadena de longitud cero. Por ejemplo:

CadenaA = "Francisco 25/08/82"

CadenaB = Mid(CadenaA, 14, 2)

Print CadenaB 'escribe: 08

Print Mid(CadenaA, 11) 'escribe: 25/08/82

Sentencia Mid

Sustituye una subcadena de una cadena de caracteres por otra subcadena de caracteres. Su sintaxis es

Mid(nombre_variable, n [,m]) = cadena

donde nombre_variable es una variable de caracteres en la cual se va reemplazar un número de

ellos, n y m son expresiones enteras y cadena es una expresión de caracteres que reemplaza parte de nombre_variable.

Los caracteres en nombre_variable que comienzan en la posición n son sustituidos por los

caracteres en cadena; m, que es opcional, indica el número de caracteres de cadena que van a utilizarse en la sustitución. Si m se omite, se utilizan todos los caracteres de cadena. La longitud

de nombre_variable, independientemente de si m es utilizado o no, no se modifica con el cambio. Por ejemplo:

CadenaA = "15/09/99"

CadenaB = "-"

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 4

Mid(CadenaA, 3) = CadenaB

Mid(CadenaA, 6) = CadenaB

Print CadenaA 'escribe: 15-09-99

CadenaA = "abcd"

CadenaB = "1234"

Mid(CadenaA, 3) = CadenaB

Print CadenaA 'escribe: abl2

Función Instr

Da como resultado la posición del primer carácter de una subcadena en una cadena. Su sintaxis

es

pos = Instr([n,] cadena, cadena_buscada)

donde n es una expresión numérica (su valor predeterminado es 1 ) y cadena y cadena_buscada

son expresiones de caracteres.

Instr da como resultado la posición del primer carácter de cadena_buscada en cadena, si cadena_buscada está contenida en cadena; el argumento n especifica la posición en cadena

donde debe empezar la búsqueda. Si cadena_buscada no se encuentra en cadena, se devuelve

como resultado 0. Si cadena_buscada es una cadena de longitud cero, Instr retorna 1 o n si es que n fue especificado. Por ejemplo:

CadenaA = "Programa ejemplo"

CadenaB = "gram"

Print InStr(CadenaA, CadenaB), InStr(6, CadenaA, CadenaB)

'La línea anterior escribe: 4 0

Función String

Da como resultado una cadena de caracteres igual a uno dado. Su sintaxis es

cadena = String(n, carácter)

donde n es el número de caracteres de la cadena resultante y carácter es el código ANSI (valor

entre 0 y 255) del carácter que genera la cadena o el primer carácter de una expresión de

cadena. Por ejemplo:

CadenaA = "*": CadenaB = String(12, CadenaA)

Print CadenaB; "INFORME ALUMNOS"; CadenaB

Print String(39, "-")

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 5

El resultado que se produce, suponiendo que la fuente elegida no es proporcional, es el

siguiente:

************INFORME ALUMNOS************

---------------------------------------

Función Str

Convierte una expresión numérica en una expresión de caracteres. Su sintaxis es

Nombre_variable = Str(número)

donde número es cualquier expresión numérica válida y nombre_variable es una variable de

caracteres.

Si número es positivo, el signo mas (+), esté presente o no, es sustituido durante la conversión por un espacio en blanco. El signo menos (-) queda tal cual. Por ejemplo:

a = 20: b = 30

Print Str(a) + Str(b) 'escribe: 20 30

Print Str(a - b) 'escribe: -10

La función Str sólo reconoce el punto (.) como separador decimal válido. Cuando el separador

decimal pueda ser otro (por ejemplo, en aplicaciones internacionales), se debe utilizar CStr para

convertir un número a una cadena.

Función Val

Da como resultado el valor numérico de una cadena de caracteres. Su sintaxis es

número = Val(expresión_de_cadena)

donde expresión_de_cadena es una expresión de caracteres y número es una variable numérica.

La función Val ignora los espacios en blanco, tabuladores y saltos de línea que puedan estar

presentes al principio de la expresión_de_cadena. Si el primer carácter distinto de espacio de la

expresión_de_cadena no es numérico (exce pto el signo -), Val da como resultado un cero. Los caracteres no numéricos que siguen a los números se ignoran. Por ejemplo:

Dim n As Integer

Dim CadenaA As String, CadenaB As String

CadenaA = " 123"

CadenaB = " 1000 Pts."

n = Val(CadenaA) 'n = 123

Print n, Val(CadenaB) 'escribe: 123 1000

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 6

La función Val lo reconoce el punto (.) como separador decimal válido. Cuando el separador

decimal pueda ser otro (por ejemplo, en aplicaciones internacionales), se debe utilizar CDbl para convertir una cadena a un número.

CadenaA = " 1.230,5"

Print CDbI(CadenaA)

Visual Basic convierte implícitamente cadenas de caracteres a valores numéricos, y viceversa, siempre que el contenido de la cadena represente un valor numérico. Por ejemplo:

Dim n As Doub1e

Dim CadenaA As String

CadenaA = 1230.5 + 10 'conversión implícita a cadena

n = CadenaA 'conversión implícita a Double

Print n 'escribe: 1240,5

Función Chr

Da como resultado el carácter ANSI correspondiente al código de carácter especificado. Su sintaxis es:

nombre_variable = Chr(Código_caracter)

donde código_carácter es una expresión numérica de valor 0 a 255 y nombre_variable es una variable de caracteres.

Chr normalmente se utiliza para enviar caracteres especiales al terminal o a la impresora. Por

ejemplo:

For i = 65 To 90

Print Chr(i); 'escribe: ABC ... Z

Next i

Función Asc

Da como resultado el código de carácter correspondiente al primer carácter de la cadena de caracteres especificada. Su sintaxis es

código_caracter = Asc(expresión_de_cadena)

donde expresión_decadena puede ser cualquier expresión de caracteres.

Si la expresión_de_cadena es de longitud cero, se devuelve en error. Esta función es la inversa de Chr. Por ejemplo:

CadenaA = "Test"

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 7

Print Asc(CadenaA) 'escribe: 84

84 es el código ANSI del carácter T, que es el primero de la cadena “Test”.

Función Space

Da como resultado una cadena de espacios. Su sintaxis es

cadena = Space(número)

donde número es la cantidad de espacios que se desea contenga la cadena. Por ejemplo:

For c = 1 To 5

CadenaA = Space(c)

Print CadenaA; c

Next c

El resultado es:

1

2

3

4

5

Variable Date

Da como resultado la fecha actual del sistema en una cadena de caracteres. Su sintaxis es

cadena = Date

donde cadena es una variable que almacenará una expresión de caracteres de la forma dd/mm/aa, en la que dd es el día, mm es el mes y aa es el año. Por ejemplo:

Dim CadenaA As Strin

CadenaA = Date

Print CadenaA 'escribe, por ejemplo: 27/05/02

Sentencia Date

Establece la fecha actua1 del sistema. Su sintaxis es

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 8

Date = fecha

donde fecha es una constante o variable de caracteres dd-mm-aa, dd/mm/aa, dd-mm-aaaa o dd/mm/aaaa. Por ejemplo:

Date = "27/05/02"

Variable Time

Da como resultado la hora actual del sistema en una cadena de caracteres. Su sintaxis es

cadena = Time

donde cadena es una variable que almacenará una expresión de caracteres de la forma

hh:mm:ss , en la que hh especifica la hora, mm los minutos y ss los segundos. Por ejemplo:

CadenaA = Time

Print CadenaA 'escribe, por ejemplo: 18:05:23

Sentencia Time

Establece la hora actual. Su sintaxis es

Time = hora

donde hora es una constante o variable de caracteres de la forma hh:mm o hh:mm:ss. Por

ejemplo:

Time = "18:05:23"

Función LCase

Convierte una cadena de caracteres a letras minúsculas. Su sintaxis es

cadena = LCase(expresión_de_cadena)

donde expresión_de_cadena es una expresión de caracteres. Por ejemplo:

CadenaA = "Esto es un EJEMPLO"

Print LCase(CadenaA) 'escribe: esto es un ejemplo

Función UCase

Convierte una cadena de caracteres a letras mayúsculas. Su sintaxis es

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 9

cadena = UCase(expresión_de_cadena)

donde expresión_de_cadena es una expresión de caracteres. Por ejemplo:

CadenaA = "Esto es un EJEMPLO"

Print UCase(CadenaA) 'escribe: ESTO ES UN EJEMPLO

Función LTrim

Da como resultado una copia de la cadena de caracteres especificada, pero sin espacios en blanco a la izquierda. Su sintaxis es

cadena = LTrim(expresión_de_cadena)

donde expresión_de_cadena es una expresión de caracteres . Por ejemplo:

CadenaA = " abcd"

Print CadenaA

Print LTrim(CadenaA)

El resultado es:

abcd

abcd

Función RTrim

Da como resultado un copia de la cadena de caracteres especificada, pero sin espacios en blanco

a la derecha. Su sintaxis es

cadena = RTrim(expresión_de_cadena)

donde expresión_de_cadena es una expresión de caracteres.

Función Trim

Da como resultado una copia de la cadena de caracteres especificada, pero sin espacios en blanco a la derecha y a la izquierda. Su sintaxis es

cadena = Trim(expnesión_de_cadena)

donde expresión_de_cadena es una expresión de caracteres.

Función Now

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 10

Devuelve la fecha y la hora actuales de acuerdo a la configuración de la fecha y la hora del

sistema. Su sintaxis es

Now

Esta función devuelve un valor de tipo Date que se corresponde con una cadena de caracteres

de la forma

dd/mm/aa HH:MM:SS , donde dd es el día, mm es el mes, aa es el año, HH es la hora, MM son los minutos y SS son los segundos.

Para visualizar esta fecha y hora según diversos patrones, utilice la función Format con los

símbolos especiales d (día), m (mes), y (año), h (horas), m (minutos) y s (segundos). Por

ejemplo:

Patrón Format(Now, "Patrón ")

d-m-yy 27 – 5 – 01

dd/mm/yy 27/05/01

dd-mmmm-yyyy 25 – mayo – 2001

d-mmm m-yyyy 27 – may 5 – 2001

dddd dd - mmm m – yyyy jueves 27 – may 5 – 2001

h:m:s, d-mmm-yy 22:24:50, 27 – may – 01

hh:mm:ss AM/PM, dd – mmm - yyyy

10:24:50 PM, 27 – may – 2001

El siguiente ejemplo muestra cómo se utiliza esta función:

Dim fh As String

fh = Now

Print Format(fh, "hh:mm:ss AM/PM, dd-mmm-yyyy")

Desarrollaremos ahora una aplicación en la cual se utilicen algunas de las funciones anteriormente descriptas. Diseñe un formulario similar al siguiente:

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 11

El formulario está compuesto por una caja de texto (txtTexto) superior en la cual se ingresará el

texto al que se le aplicará las funciones nombradas en el frame Funciones. El resultado de las

funciones se mostrará en la etiqueta situada en la parte inferior del formulario llamada lblMuestra. Como sabrá, existen funciones que poseen argumentos mediante los cuales se realiza la operación especificada, como por ejemplo, la función Left, además de necesitar el

String, necesita la cantidad de caracteres a obtener de la cadena especificada. Es por eso que se

muestran caja de texto a la derecha de dichas funciones.

Esta cajas de textos serán habilitadas o deshabilitadas de acuerdo a la función elegida mediante

los botones de opción.

Al pulsar un botón de opción deberá deshabilitar las cajas de texto que se encuentran

habilitadas, y además si el botón de opción pulsado corresponde a función con argumentos,

habilitar los mismos. A continuación se expone el evento de suceso Clic del botón de opción Len:

Private Sub optLen_Click()

txtCantidadLeft.Enabled = False

txtCantidadRight.Enabled = False

txtCantidadMid.Enabled = False

txtInicio.Enabled = False

txtCadenaBuscada.Enabled = False

End Sub

Al hacer clic en mostrar, también deberá validar que los argumentos hayan sido ingresados, en

caso de que sea necesario y aplicar la función elegida mostrando su resultado en la etiqueta lblMuestra.

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 12

Private Sub cmdMostrar_Click()

'Función Len

If optLen.Value Then

lblMuestra.Caption = Len(txtTexto.Text)

End If

'Función LCase

If optLCase.Value Then

lblMuestra.Caption = LCase(txtTexto.Text)

End If

'Función UCase

If optUCase.Value Then

lblMuestra.Caption = UCase(txtTexto.Text)

End If

'Función LTrim

If optLTrim.Value Then

lblMuestra.Caption = LTrim(txtTexto.Text)

End If

'Función RTrim

If optRTrim.Value Then

lblMuestra.Caption = RTrim(txtTexto.Text)

End If

'Función Trim

If optTrim.Value Then

lblMuestra.Caption = Trim(txtTexto.Text)

End If

'Función Left

If optLeft.Value Then

If txtCantidadLeft.Text = "" Then

MsgBox "Debe ingresar la cantidad."

txtCantidadLeft.SetFocus

Exit Sub

End If

lblMuestra.Caption=Left(txtTexto.Text,txtCantidadLeft.Text)

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 13

End If

'Función Right

If optRight.Value Then

If txtCantidadRight.Text = "" Then

MsgBox "Debe ingresar la cantidad."

txtCantidadRight.SetFocus

Exit Sub

End If

lblMuestra.Caption=Right(txtTexto.Text,txtCantidadLeft.Text)

End If

'Función Mid

If optMid.Value Then

If txtInicio.Text = "" Then

MsgBox "Debe ingresar el inicio."

txtInicio.SetFocus

Exit Sub

End If

If txtCantidadMid.Text = "" Then

MsgBox "Debe ingresar la cantidad."

txtCantidadMid.SetFocus

Exit Sub

End If

lblMuestra.Caption=Mid(txtTexto.Text, _

txtInicio.Text,txtCantidadLeft.Text)

End If

'Función InStr

If optInstr.Value Then

If txtCadenaBuscada.Text = "" Then

MsgBox "Debe ingresar la cadena buscada."

txtCadenaBuscada.SetFocus

Exit Sub

End If

lblMuestra.Caption=InStr(txtTexto.Text,txtCadenaBuscada.Text)

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 14

End If

End Sub

Procedimientos para expresiones numéricas

Una expresión numérica puede ser una constante, una variable, una función o conjunto de

constantes, variables y funciones unidas por operadores.

Funciones trigonométricas

Las siguientes funciones dan como resultado los valores del seno, coseno, tangente y arco

tangente, respectivamente. Su sintaxis es

valor = Sin(ángulo)

valor = Cos(ángulo)

valor = Tan(ángulo)

ángulo = Atn(valor)

donde ángulo es una expresión numérica que indica un ángulo en radianes y valor presenta el seno, el coseno o la tangente.

Para convertir grados a radianes, multiplicar por p/180 (p = 3.141593).

Dim t As Double, x As Double

'f = factor de conversión de grados a radianes

Const f = 3.141593 / 180

x = InputBox("Angulo en grados")

Print "Coseno de "; x; " igual a "; Cos(f * x)

t = Tan(f * x)

Print "Tangente de "; x; " igual a "; t

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 15

Funciones logarítmicas y exponencial

Log da como resultado el logaritmo neperiano (base e) y Exp da como valor del número e elevado a la expresión. Su sintaxis es

variable = Log(expresión)

variable = Exp(expresión)

donde expresión puede ser cualquier expresión numérica. En el caso de la función Log, la expresión debe ser positiva.

El número e tiene por valor 2.718282.

La función exponencial es la inversa de la función logarítmica; esto es, Log(Exp(expresión)) = expresión.

Procedimientos varios

Función Timer

Da como resultado el número de segundos transcurridos desde media noche. Su sintaxis es

variable = Timer

El siguiente ejemplo muestra cómo se utiliza función:

Dim segundos As Integer

Time = "01:00"

segundos = Timer

Print segundos; "segundos pasan de media noche"

El resultado producido por el ejemplo anterior es:

3600 segundos pasan de media noche

Función Rnd

Rnd devuelve un número al azar de tipo Single mayor o igual que 0 y menor que 1. Su sintaxis

es

variable = Rnd[(expresión)]

donde expresión es una expresión numérica de la que depende el número generado. Esto es, si

expresión < 0 siempre da como resultado el mismo número.

expresión > 0 o se omite da como resultado el siguiente número aleatorio.

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 16

expresión = 0 da como resultado el último valor generado.

Si expresión > 0 o se omite, se generará la misma secuencia de números al azar cada vez que se ejecute el programa que invoca a Rnd. Para variar esta secuencia, se utilizará la sentencia Randomize que veremos a continuación.

Para producir enteros aleatorios en un intervalo dado se utiliza esta fórmula:

Int((límitesup - límiteinf + 1 ) * Rnd + límiteinf)

Por ejemplo, para generar un conjunto 15 de números comprendidos entre 1 y 49 el código sería el siguiente:

límitesup = 49

1ímiteinf = 1

For i = 1 To 15

'Escribir 15 números entre límiteinf y límitesup

Print Int((límitesup - límiteinf + 1) * Rnd + límiteinf)

Next i

El siguiente ejemplo escribe 5 números entre 0 y 1:

For i = 1 To 5

Print Rnd ; 'escribe 5 números entre 0 y 1

Next i

Sentencia Randomize

Activa el generador de números aleatorios a partir de un número determinado. Su sintaxis es

Randomize[n]

donde n es una expresión entera que se utiliza para activar una secuencia aleatoria

determinada. Si se omite, se utiliza el valor devuelto por el reloj del sistema.

Funciones para manejo de Fechas

DateAdd

Devuelve un valor de tipo Variant (Date) con una fecha a la que se ha agregado un intervalo de tiempo especificado. Su sintaxis es la s iguiente:

DateAdd(intervalo, número, fecha)

Donde;

Intervalo es requerido y representa una expresión de tipo cadena (String) que contiene el intervalo de tiempo que se desea agregar.

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 17

El argumento intervalo toma los valores siguientes:

Intervalo Descripción

yyyy Año

q Trimestre

m Mes

y Día del año

d Día

w Día de la semana

ww Semana

h Hora

n Minuto

s Segundo

Número es requerido y representa una expresión numérica con el número de intervalos que se desea agregar. Puede ser positiva (para obtener fechas futuras) o negativa (para obtener fechas

pasadas).

Fecha es requerido y representa el valor de tipo Variant (Date) o literal que representa la fecha

en la que se agregó el intervalo.

Puede utilizar la función DateAdd para agregar o restar un intervalo de tiempo especificado de

una fecha. Por ejemplo, con DateAdd podría calcular una fecha 30 días posterior al día de hoy o una hora 45 minutos posterior a la actual.

Si desea agregar días a fecha, puede utilizar Día del año (“y”), Día (“d”) o Día de la semana

(“w”).

La función DateAdd no devuelve nunca una fecha no válida. En el ejemplo siguiente se agrega

un mes al 31 de enero:

DateAdd("m", 1, "31-ene-95")

En este caso, DateAdd devuelve 28-feb-95 y no 31-feb-95. Si fecha es 31-ene-96, devolverá 29-feb-96, ya que 1996 es un año bisiesto.

Si la fecha calculada va a resultar inferior al año 100 (esto es, se restan más años que los que

hay en fecha), se produce un error.

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 18

Si número no es un valor de tipo Long se redondeará al número entero más cercano antes de

ser evaluado.

El formato del valor devuelto por DateAdd es determinado por la configuración del Panel de control, no por el formato que se pasa en el argumento fecha.

DateDiff

Devuelve un valor de tipo Variant (Long) que especifica el número de intervalos de tiempo entre

dos fechas determinadas. Su sintaxis es la siguiente:

DateDiff(intervalo,fecha1,fecha2[,primerdíasemana[,primerasemanaaño]])

Donde Intervalo es requerido y representa una expresión de tipo cadena con el intervalo de tiempo utilizado para calcular la diferencia entre fecha1 y fecha2.

El argumento intervalo toma los valores siguientes:

Intervalo Descripción

yyyy Año

q Trimestre

m Mes

y Día del año

d Día

w Día de la semana

ww Semana

h Hora

n Minuto

s Segundo

Fecha1 y Fecha2 son requeridos, son de tipo de datos Variant (Date) y representan las dos

fechas que se van a utilizar en el cálculo.

Primerdíasemana es opcional y es una constante que especifica el primer día de la semana. Si no se especifica, se asume que es el domingo.

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 19

El argumento primerdíasemana toma los siguientes valores:

Constante Valor Descripción

vbUseSystem 0 Utilice la configuración de la API de

NLS.

vbSunday 1 Domingo (predeterminado)

vbMonday 2 Lunes

vbTuesday 3 Martes

vbWednesday 4 Miércoles

vbThursday 5 Jueves

vbFriday 6 Viernes

vbSaturday 7 Sábado

El argumento primersemanaaño toma los siguientes valores:

Constante Valor Descripción

vbUseSystem 0 Utilice la configuración de la API de NLS.

vbFirstJan1 1 Empieza con la semana en la que se encuentra el 1 de enero

(predeterminado).

vbFirstFourDays 2 Empieza con la primera semana que

tenga al menos cuatro días en el nuevo año.

vbFirstFullWeek 3 Empieza con la primera semana que

esté completamente incluida en el nuevo año.

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 20

Primerasemanaaño es opcional y es una constante, que especifica la primera semana del año. Si

no se especifica, se asume que es aquella en la que se encuentre el 1 de enero.

Puede utilizar la función DateDiff para determinar el número de intervalos especificados que existen entre dos fechas. Por ejemplo, con DateDiff podría calcular el número de días entre dos

fechas o el número de semanas entre hoy y el final del año.

Si desea saber el número de días entre fecha1 y fecha2, puede utilizar Día del año (“y”) o Día

(“d”). Cuando intervalo es Día de la semana (“w”), DateDiff devuelve el número de semanas entre las dos fechas. Si fecha1 es lunes, DateDiff contará el número de lunes hasta fecha2 . En la cuenta incluirá fecha2, pero no fecha1. Si intervalo es Semana (“ww”), la función DateDiff

devolverá el número de semanas entre las dos fechas. En este caso contará el número de domingos entre fecha1 y fecha2 . DateDiff contará fecha2 si es domingo, pero no fecha1, aunque

sea domingo.

Si fecha1 se refiere a un momento posterior en el tiempo a fecha2, la función DateDiff devolverá un número negativo.

El argumento primerdíasemana afecta a los cálculos que utilizan “w” y “ww” como símbolos de

intervalo.

Si fecha1 o fecha2 es un literal de fecha, el año, si se especifica, pasará a ser una parte

permanente de la fecha. Sin embargo, si fecha1 o fecha2 está comprendida entre comillas

dobles (“”) y se omite el año, se insertará el año en curso en el código cada vez que se evalúe la expresión fecha1 o fecha2. Así es posible escribir código que se pueda usar en años distintos.

Cuando compara el 31 de diciembre con el 1 de enero del año siguiente, DateDiff para un año (“yyyy”) devolverá 1 aunque sólo haya pasado un día.

DatePart

Devuelve un valor de tipo Variant (Integer) que contiene la parte especificada de la fecha dada. Su sintaxis es la siguiente:

DatePart(intervalo, fecha[,primerdíasemana[, primerasemanaaño]])

Donde, intervalo es requerido y representa una expresión de tipo cadena con el intervalo de

tiempo que desea devolver.

Fecha es requerido y es del tipo de valor Variant (Date) que se desea evaluar.

Primerdíasemana es opcional y representa una constante que especifica el primer día de la

semana. Si no se especifica, se asume que es el domingo.

Primersemanaaño es opcional y representa una constante que especifica la primera semana del año. Si no se especifica, se asume que es aquella en la que se encuentre el 1 de enero.

Puede utilizar la función DatePart para evaluar una fecha y devolver un intervalo de tiempo

específico. Por ejemplo, podría utilizar DatePart para calcular el día de la semana o la hora actual.

El argumento primerdíasemana afecta a los cálculos que utilizan los símbolos de intervalo “w” y “ww”.

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 21

Si fecha es un literal de fecha, el año que se especifica, pasará a ser una parte permanente de la

fecha. Sin embargo, si fecha está encerrada entre comillas dobles (“”) y se omite el año, se insertará el año en curso en el código cada vez que se evalúe la expresión fecha. Así es posible

escribir código que se pueda usar en años distintos.

Función IsNull

Devuelve un valor de tipo Boolean que indica si una expresión contiene o no datos válidos

(Null). Su sintaxis es:

IsNull(expresión)

El argumento expresión puede ser cualquier expresión.

IsNull devuelve True si expresión es Null, es decir, si contiene datos no válidos. De lo contrario,

IsNull devuelve False. Si expresión consta de más de una variable, Null en cualquier variable hace que se devuelva True para la expresión completa.

El valor Null indica que la variable contiene datos no válidos. Null no es igual que Empty, que

indica que una variable aún no está iniciada. Tampoco es igual que una cadena de longitud cero (“”), también conocida como cadena nula.

Use la función IsNull para determinar si una expresión contiene o no un valor Null. Expresiones

que bajo algunas circunstancias esperaría que fuesen igual a True, como

If Var = Null

o

If Var <> Null,

siempre son iguales a False. Esto se debe a que cualquier expresión que contiene Null es igual a Null y es, por lo tanto, igual a False.

El siguiente ejemplo usa la función IsNull para determinar si una variable contiene Null:

Dim MiVar, MiComprobacion

MiComprobacion = IsNull(MiVar) ' Devuelve False.

MiVar = Null ' Asigna Null.

MiComprobacion = IsNull(MiVar) ' Devuelve True.

MiVar = Empty ' Asigna Empty.

MiComprobacion = IsNull(MiVar) ' Devuelve False.

Función IsEmpty

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 22

Devuelve un valor de tipo Boolean que indica si una variable está iniciada. Su sintaxis es:

IsEmpty(expresión)

El argumento expresión puede ser cualquier expresión. Sin embargo, como IsEmpty se usa para determinar si están iniciadas variables individuales, con frecuencia el argumento expresión es un

único nombre de variable.

IsEmpty devuelve True si la variable no está iniciada o si está establecida, explícitamente, a Empty. De lo contrario, devuelve False. Siempre se devuelve False si expresión contiene más de

una variable.

El siguiente ejemplo usa la función IsEmpty para determinar si una variable está iniciada:

Dim MiVar, MiComprobacion

MiComprobacion = IsEmpty(MiVar) ' Devuelve True.

MiVar = Null ' Asigna Null.

MiComprobacion = IsEmpty(MiVar) ' Devuelve False.

MiVar = Empty ' Asigna Empty.

MiComprobacion = IsEmpty(MiVar) ' Devuelve True.

Función IsNumeric

Devuelve un valor de tipo Boolean que indica si una expresión se puede evaluar como un número. Su sintaxis es la siguiente:

IsNumeric(expresión)

El argumento expresión puede ser cualquier expresión.

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 ' Asigna un valor.

MiComprobacion = IsNumeric(MiVar) ' Devuelve True.

MiVar = "459.95" ' Asigna un valor.

MiComprobacion = IsNumeric(MiVar) ' Devuelve True.

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 23

MiVar = "45 Help" ' Asigna un valor.

MiComprobacion = IsNumeric(MiVar) ' Devuelve False.

Función IsDate

Devuelve un valor de tipo Boolean que indica si una expresión se puede o no convertir en una

fecha. Su sintaxis es:

IsDate(expresión)

El argumento expresión puede ser cualquier expresión de fecha o expresión de cadena

reconocible como fecha u hora.

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.

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 24

Cuadros de mensajes

MsgBox

Muestra un mensaje en un cuadro de diálogo, espera a que el usuario haga clic en un botón y

devuelve un tipo Integer correspondiente al botón elegido por el usuario. Su sintaxis es la siguiente:

MsgBox(mensaje[, botones][, título][, helpfile, context])

La sintaxis de la función MsgBox consta de estos argumentos con nombre:

Argumento Descripción

Mensaje Requerido. Expresión de cadena que representa el mensaje en el cuadro de diálogo. La longitud máxima de mensaje es de aproximadamente 1024

caracteres, según el ancho de los caracteres utilizados. Si mensaje 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.

Botones 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 botones es 0.

título Opcional. Expresión de cadena que se muestra en la barra de título del

cuadro de diálogo. Si se omite título, 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 botones tiene estos valores:

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 25

Constante Valo

r

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 advertencia.

VbExclamation 48 Muestra el icono de mensaje de advertencia.

VbInformation 64 Muestra el icono de mensaje de 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.

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 botones, se utiliza solamente un número de cada grupo.

Nota: Estas constantes las especifica Visual Basic for Applications. Por tanto, el nombre de las

mismas puede utilizarse en cualquier lugar del código en vez de sus valores reales.

Valores devueltos:

Constante Valor Descripción

vbOK 1 Aceptar

vbCancel 2 Cancelar

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 26

vbAbort 3 Anular

vbRetry 4 Reintentar

vbIgnore 5 Ignorar

vbYes 6 Sí

vbNo 7 No

Cuando se proporcionan tanto helpfile como context, el usuario puede presionar F1 para ver el tema de Ayuda correspondiente al context.

Si el cuadro de diálogo cuenta con un botón Cancelar, presionar la tecla ESC tendrá el mismo

efecto que hacer clic en este botón. Si el cuadro de diálogo contiene un botón Ayuda, se

suministra ayuda inte ractiva para ese cuadro de diálogo. Sin embargo, no se devuelve valor alguno hasta que se hace clic en uno de estos botones.

Nota: Si desea especificar más que el primer argumento con nombre, debe utilizar MsgBox en

una expresión. Si desea omitir algún argumento de posición, debe incluir el delimitador de coma correspondiente.

En el siguiente ejemplo se utiliza la función MsgBox para mostrar un mensaje de error crítico

en un cuadro de diálogo con botones Sí y No. El botón No se considera la respuesta predeterminada. El valor devuelto por la función MsgBox depende del botón elegido por el

usuario. En este ejemplo, se supone que DEMO.HLP es un archivo de Ayuda que contiene un

tema con un número de contexto igual a 1000.

Dim Mensaje, Estilo, Título, Ayuda, Ctxt, Respuesta, MiCadena

Mensaje = "¿Desea continuar?" ' Define el mensaje

Estilo =vbYesNo+vbCritical+vbDefaultButton2'Define los botones

Título = "Demostración de MsgBox" ' Define el título

Ayuda = "DEMO.HLP" ' Define el archivo de ayuda

Ctxt = 1000 ' Define el tema

Respuesta = MsgBox(Mensaje, Estilo, Título, Ayuda, Ctxt)

If Respuesta = vbYes Then ' Si el usuario eligió el botón Sí

MiCadena = "Sí" ' Ejecuta una acción

Else ' El usuario eligió el botón No

MiCadena = "No" ' Ejecuta una acción

End If

Entrada de datos

En Visual Basic, una forma de introducir un dato sería utilizando la caja de dialogo provista por InputBox.

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 27

La función InputBox visualiza una caja de diálogo semejante a la de la figura siguiente, con un

mensaje que indica al usuario el tipo de información que debe introducir; devuelve como resultado un valor de tipo String que se corresponde con el dato tecleado. Su sintaxis es:

InputBox(mensaje, [título][, default][, posx][, posy])

argumentos:

mensaje Requerido. Expresión de cadena que se muestra como mensaje en el cuadro de diálogo. La longitud máxima de mensaje es de aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. Si mensaje consta de más de una línea,

puede separarlos utilizando un carácter de retorno de carro (Chr(13)), un carácter de

avance de 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.

título 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 cuando no se suministra una cadena. Si omite default, se muestra el

cuadro de texto vacío.

posx Opcional. Expresión numérica que especifica, en twips, la distancia en sentido

horizontal entre el borde izquierdo del cuadro de diálogo y el borde izquierdo de la

pantalla. Si se omite posx, el cuadro de diálogo se centra horizontalmente.

posy Opcional. Expresión numérica que especifica, en twips, la distancia en sentido vertical

entre el borde superior del cuadro de diálogo y el borde superior de la pantalla. Si se omite posy, el cuadro de diálogo se coloca a aproximadamente un tercio de la altura

de la pantalla, desde el borde superior de la misma.

Por ejemplo:

X = InputBox("Dato:") 'x almacena el dato introducido

La cadena de caracteres mensaje contiene el mensaje que indica al usuario el tipo de información que debe introducir; en el ejemplo, “Dato:”. Si el mensaje consiste en varias líneas,

hay que introducir explícitamente al final de cada una de ellas los caracteres de retorno de carro y avance de línea (Chr(13) & Chr(10) o la constante VB equivalente, vbCrLf). Por ejemplo, la sentencia

NomAp = InputBox("Introduzca los apellidos y el nombre." & _

vbCrLf & "Los apellidos en mayúsculas.")

visualiza la caja de dialogo que se presenta en la figura siguiente:

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 28

El resto de los parámetros son opcionales. Si queremos omitir un argumento que precede a otro especificado, hay que poner las correspondientes comas delimitadoras. Por ejemplo:

x = InputBox("Dato:", , 0)

La cadena de caracteres título será visualizada en la barra de título de la caja de diálogo; si se omite se pone como título el nombre de la aplicación. La cadena de caracteres por omisión

especifica el texto que aparecerá en la caja de texto; si se omite, la caja de texto aparecerá

vacía. Los argumentos posx y posy son las coordenadas x e y donde aparecerá la caja de diálogo expresadas en twips (1 twip = 1/1440 pulgadas); si se omiten, la caja de diálogo se visualizará

centrada; horizontalmente y a un tercio de la parte superior de la pantalla.

Salida de datos

Según hemos visto el método Print visualiza datos en un formulario (objeto Form). Así mismo,

permite visualizar datos en la ventana Inmediato a través del objeto Debug, en una caja de imagen (control PictureBox) o en una impresora (utilizando el objeto Printer). Su sintaxis es

Objeto.Print lista_de expresiones

donde objeto, que es opcional, especifica uno de los objetos mencionados anteriormente, y lista de expresiones es un conjunto de expresiones numéricas y alfanuméricas separadas por comas,

espacios en blanco o puntos y comas. Si se utiliza como separador un espacio en blanco, Visual

Basic lo sustituye automáticamente por un punto y coma. Las constantes de caracteres (literales) deben ponerse entre comillas. Cuando objeto se omite, los datos imprimen sobre el

objeto al que pertenece el procedimiento que invoca a Print.

Las siguientes sentencias muestran algunos ejemplos de utilización del método Print:

Print a + 5, a * b / 2, c$, "Fin"

Print x; y + 5; W

Print n; m

Print "LISTADO DE RESULTADOS"

Si se omite la lista de expresiones, se visualiza una línea en blanco. En cambio, si se incluye la lista de expresiones, se visualizan los valores de las expresiones en el objeto correspondiente.

Por ejemplo:

a = 1000: b = 2000: c - 500

Print "El valor de a es"; a

Print 'línea en blanco

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 29

Print "El valor de"; b; "+"; c; "="; b + c

El resultado obtiene al ejecutar las sentencias anteriores es:

E1 valor de a es 1000

El valor de 2000 + 500 = 2500

El signo de interrogación (?) puede utilizarse como un modo abreviado de introducir Print. Por

ejemplo:

? a; b

No obstante, cuando el corrector sintáctico comprueba la sintaxis de la sentencia anterior, sustituye automáticamente el símbolo ? por Print.

El símbolo ? puede también utilizarse para pedir valores o realizar operaciones al instante en la ventana Inmediato. Por ejemplo, si ejecuta su aplicación paso a paso, es posible en un instante determinado dirigirse a la ventana Inmediato y realizar operaciones similares a las siguientes:

? a

? a * 5

? 10 / 2 + 3

La posición de cada elemento a visualizar está determinada por la puntuación utilizada para

separar los elementos en la lista de expresiones. Visual Basic divide la línea en zonas de 14 espacios cada una, cuando se utiliza como separador una coma. En la lista de expresiones, una

coma produce un salto al inicio de la zona siguiente. Un punto y coma produce la visualización

de la expresión, inmediatamente después de la última visualizada. Por ejemplo:

Print " 1 2 3"

Print "12345678901234567890123456789012345"

a = 5

Print a; a^2; a * (-5)

Print a, a^2, a * (-5)

Print "FIN DEL PROCESO"

El resultado que se obtiene al ejecutar las sentencias anteriores, suponiendo que hemos elegido

una fuente proporcional, por ejemplo Courier New, (elegir una fuente significa asignar a la propiedad Font del formulario, si es que estamos imprimiendo sobre el formulario) es:

1 2 3

12345678901234567890123456789012345

5 25 -25

5 25 -25

FIN DEL PROCESO

Observe que un resultado numérico va seguido de un espacio y que el signo positivo es

sustituido por un espacio.

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 30

Cuando una coma o punto y coma terminan la lista de expresiones, es decir, se escriben al final

de la línea, el siguiente método Print continuará escribiendo sobre la misma línea, en caso contrario se efectuará un salto al inicio de la línea siguiente. Por ejemplo:

a = 50

Print a,

a = a * -2

Print a

Print

Print "FIN ";

Print "DEL PROCESO"

El resultado que se obtiene al ejecutar las sentencias anteriores es:

50 -100

FIN DEL PROCESO

En este ejemplo, la coma al final de la segunda línea hace que el siguiente Print, línea cuarta, se

escriba en la misma línea y no en una nueva línea. Igualmente sucede con las dos últimas sentencias.

Visualizar datos sobre un objeto

El método Print ¿sobre qué objeto visualiza los datos? La respuesta es: sobre el objeto para el que es invocado Print. Por ejemplo el procedimiento

Private Sub cmdIngreso_Click()

'. . .

Print "DATOS PERSONALES"

Print

Print "Nombre y Apellido: "; NomAp

Print "Fecha de Nacimiento: "; FechaNac

Print "Nacionalidad: "; Nacionalidad

Print "Dirección: "; Direccion

Print "Localidad: "; Localidad

End Sub

pertenece al formulario. Esto lo podríamos haber indicado explícitamente así:

Private Sub cmdIngreso_Click()

'Entrada de datos

FFUUNNDDAAMMEENNTTOOSS DDEE IINNFFOORRMMÁÁTTIICCAA DDeeppaa rrttaammee nnttoo ddee IInnggee nniiee rrííaa EElléé ccttrriiccaa

Visual Basic 31

NomAp = InputBox("Nombre y Apellido:", , "Nombre y Apellido")

FechaNac = InputBox("Fecha de Nacimiento:", , #1/1/1970#)

Nacionalidad = InputBox("Nacionalidad:", , "Argentino")

Direccion = InputBox("Dirección:", , "Dirección")

Localidad = InputBox("Localidad:", , "Rosario")

'Salida de datos

Form1.Print "DATOS PERSONALES"

Form1.Print

Form1.Print "Nombre y Apellido: "; NomAp

Form1.Print "Fecha de Nacimiento: "; FechaNac

Form1.Print "Nacionalidad: "; Nacionalidad

Form1.Print "Dirección: "; Direccion

Form1.Print "Localidad: "; Localidad

End Sub

Al ejecutar la aplicación el formulario se mostrará como la siguiente figura:


Recommended