Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Se describen las funciones propias del lenguaje que permiten trabajar con
cadenas de caracteres, con nmeros, fechas, horas, presentar mensajes en
pantalla y muchas otras funciones para formatear datos especficos.
Contenido
3 - Funciones de formato
7 - Ejemplos
Dim
cadena
'Convertimos
cadena
cadena
=
As
String
"HOLA
MUNDO"
LCase(cadena)
Label1 = UCase(Label1)
El control Label1 pasara a mostrar o mejor dicho contener en su propiedad
caption:"PORCENTAJE DE SUELDOS".
ciudad = LTrim(ciudad)
Si en un TextBox quisieramos borrar todos los espacios vacos de la parte
derecha de la cadena:
MiText = RTrim(MiText)
La Funcin Trim elimina todos los espacios vacos de ambos lados de la
cadena. Ejemplo:
Pais
=
Pas = Trim(Pais)
"
Argentina
"
Dim
Dim
MiCadena
TamanoCadena
As
MiCadena
=
As
"Me
Llamo
Long
String
Eustaquio"
TamanoCadena = Len(MiCadena)
El valor de la variable TamanoCadena pasara a valer 18.
Hay que tener en cuenta que la funcin Len tambin toma en cuenta los
espacios vacos.
Dim
num = Asc("a")
num
As
Integer
En definitiva la funcin Asc lleva un solo parmetro de tipo String del cual
queremos obtener dicho nmero.
La Funcin Chr acta a la inversa de la funcin Asc, esto quiere decir, que a
partir de un determinado nmero nos devolver el caracter ASCII.
Obviamente que en vez de pasarle a la funcin un parmetro String es decir la
letra, debemos pasarle un nmero ASCII y nos devolver el carcter
asociado.
Ejemplo:
Dim
letra
As
String
letra = Chr(97)
La variable pasa a valer en este caso el caracter "a"
Dim
posicion
As
Integer
Option Explicit
Private m_Pos As Integer
Call buscar_cadena(m_Pos + 1)
End Sub
Private Sub Form_Load()
Command1.Caption = "Buscar"
Command2.Caption = "Buscar siguiente"
Me.Caption = "Ejemplo de InStr "
End Sub
Nota: tambin hay una funcin similar a Instr llamada InstrRev , y lo que hace
es devolver la posicin de la primera concurrencia de una cadena dentro de
otra cadena, pero comenzando por el extremo derecho de la misma
En este enlace hay un ejemplo que usa la funcin instrRev
Extraer de un path o ruta, solo la extensin del archivo
Dim
Cadena
Cadena
=
Left("Ya
As
es
la
String
madrugada",
9)
Es igual que la funcin Left pero comienza a extraer caracteres desde el lado
derecho de la cadena.
La funcin Mid:
Tiene la misma funcin que las anteriores pero posee tres parmetros. Su
sintaxis es:
Dim
nombre
nombre
Mid("River
perdi
As
la
copa",
String
7,
6)
Option Explicit
Sub Pausa(Segundos As Double)
Dim inicio As Double
' Devuelve la cantidad de segundos desde que inicio
windows
inicio = Timer
Do While (Timer - inicio) < Segundos
' pausa
DoEvents
Loop
End Sub
Private Sub Command1_Click()
Dim texto As String
texto = "... Hola mundo --->>> "
Call MostrarTexto(texto, 0.1, Me)
End Sub
Private Sub MostrarTexto(Frase As String, _
Segundos As Double, _
Destino As Object)
Dim LenFrase As Integer
Dim i As Integer
Dim Caracter As String
Dim texto As String
LenFrase = Len(Frase)
Do While i <= LenFrase
Destino.Cls
DoEvents
i = i + 1
cadena
cadena
=
=
"123456"
Val(cadena)
'Ahora
cadena
cadena2
cadena2
vale
=
123456
123456
Str(cadena2)
Dim
Mimumero
As
Minumero
=
Round(245.8)
'(La
funcin
devuelve
Minumero
=
Round(245.3)
'(La
funcin
devuelve
Minumero = Round(245.5) '(La funcin devuelve 245)
Long
246)
245)
Rnd (nmero)
Dim
Dim
LimiteInferior
LimiteSuperior
As
As
utilizar
Integer
Integer
LimiteInferior
20
LimiteSuperior
40
Funciones matemticas
Las principales funciones matemticas provistas por Visual Basic son:
3 - Funciones de formato
Visual Basic posee varias funciones para darle formato a distintos tipos de
datos e informacin. A continuacin se ve algunos ejemplos de las principales
funciones:
con
formato
en
dinero.
Ejemplo:
Ejemplo
Resultado
=
FormatPercent(321)
'devuelve:
"32.100,00%"
Resultado
=
FormatCurrency(3)
'devuelve:
"$3,00"
Resultado
=
FormatDateTime("6-8-1978")
'La
funcin
devolvera: "06/08/1978"
NumDigitsAfterDecimal: Parmetro de tipo opcional. Este indicar cuantos
nmeros
decimales
devolver
la
funcin:
Ejemplo
Cdigo en el formulario:
End Sub
Private Sub Option1_Click()
Me.Caption = FormatDateTime(Now, vbGeneralDate)
End Sub
Private Sub Option2_Click()
Me.Caption = FormatDateTime(Now, vbLongDate)
End Sub
Private Sub Option3_Click()
Me.Caption = FormatDateTime(Now, vbShortDate)
End Sub
Private Sub Option4_Click()
Me.Caption = FormatDateTime(Now, vbLongTime)
End Sub
Private Sub Option5_Click()
Me.Caption = FormatDateTime(Now, vbShortTime)
End Sub
FormatNumber - Ejemplos:
Formatea 0.489698 a 0,49
Dim
Numero
Numero
Numero
=
As
=
FormatNumber(Numero,
MsgBox Numero
Formatea 1.958754 a 1,96
Double
2,
0.489698
vbFalse)
Dim
Numero
Numero
Numero
As
=
FormatNumber(Numero,
Double
1.958754
2)
MsgBox Numero
Funcin Format:
La funcin Format es mas completa que las anteriores funciones, porque
puede manejar mas tipos de datos, y no devuelve solo cadenas, esta tambin
puede devolver nmeros y fechas.
La funcin Format posee dos parmetros:
Dim
cadena
As
cadena = Format("06/08/78",
"06/08/1978"
"General
String
Date")
'
Devuelve:
=
=
Format("17:08",
Format("17:08",
"Short
"Medium
Time")
Time")
'
'
"05:08
"05:08"
PM"
Visual basic cuenta con una serie de funciones que nos permiten calcular
fechas y horas, por ejemplo generar un intervalo de fechas, sumar y restar
fechas y horas y otras operaciones y clculos
DateAdd : Devuelve un Variant que contiene una fecha que indica el intervalo
de tiempo que se ha agregado
DateDiff : Devuelve el nmero de intervalos de tiempo entre dos fechas
determinadas
DatePart : Devuelve una parte especfica de una fecha dada
DateSerial : Devuelve un valor Date para un ao, mes y da determinados
Ejemplos
El siguiente ejemplo utiliza la funcin DateDiff para mostrar el itervalo entre
dos fechas. El intervalo lo muestra en segundos , minutos, dias, semanas
meses y aos, como muestra el siguiente grfico
Option Explicit
' recibe las dos fechas como parmetros
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''
Private Sub Calcular(Fecha_Inicial As Date, _
Fecha_Final As Date)
" &
"
hasta :" & Fecha_Final & vbNewLine &
String(150, "-") & vbNewLine
Me.Print
Format(DateDiff("s",
Fecha_Final), Formato) & " segundos"
Fecha_Inicial,
Me.Print
Format(DateDiff("n",
Fecha_Final), Formato) & " minutos"
Fecha_Inicial,
Me.Print
Format(DateDiff("h",
Fecha_Final), Formato) & " horas"
Fecha_Inicial,
Me.Print
Format(DateDiff("y",
Fecha_Final), Formato) & " dias"
Fecha_Inicial,
Me.Print
Format(DateDiff("WW",
Fecha_Final), Formato) & " semanas"
Fecha_Inicial,
Me.Print
Format(DateDiff("m",
Fecha_Final), Formato) & " meses"
Fecha_Inicial,
Me.Print
Format(DateDiff("yyyy",
Fecha_Final), Formato) & " aos"
Fecha_Inicial,
End Sub
Private Sub Command1_Click()
' le pasa las dos fechas a la funcin
Call Calcular("01/01/2000", Date)
End Sub
Private Sub Form_Load()
Me.AutoRedraw = True
Command1.Caption = "calcular intervalos "
End Sub
Ejemplo con DateAdd
Lo siguiente, muestra como aadir y restar fechas
para
(La
establecer
fecha
la
fecha
que
hora
queremos
de
la
PC:
establecer)
Funcin InputBox:
La funcin InputBox presenta un mensaje al usuario, permitindole ingresar
un valor en una caja de texto:
El aspecto mas importante de InputBox es que nos devuelve una cadena con lo
que haya ingresado el usuario en la caja de texto. Luego podemos realizar una
tarea especfica dependiendo del valor devuelto.
Ejemplo:
Dim
retorno
retorno =
"Ejemplo")
InputBox("Ingrese
As
algo
en
la
String
caja
de
texto",
Enlace relacionado :
InputBox con PasswordChar
Funcin MsgBox:
La funcin MsgBox, que ya se vi varias veces en distintos ejemplos, es muy
fcil de usar y se utiliza para mostrar distintos tipos de mensajes.
Ejemplos de mensajes o cajas de texto con la funcin MsgBox que podemos
mostrar: