funciones de visual basic - frro.utn.edu.ar · fuunnddaamme enntto oss tdde diinnfforrmmÁÁtiiccaa...
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 "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 "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: