Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Funciones. Subrutinas y Procedimientos PDF
Funciones. Subrutinas y Procedimientos PDF
Subrutinas y
procedimientos
ndice
Descripcin 1
Leccin: Crear procedimientos 2
Leccin: Uso de procedimientos 17
Leccin: Uso de funciones predefinidas 33
Funciones. Subrutinas y procedimientos 1
Descripcin
Crear Escribir
Debug
Cdigo Crear procedimientos
Interfaz
and Deploy
Uso de Visual
Studio .NET
Uso de procedimientos
Uso de funciones
Acceso predefinidas
a datos Depurar e
Implantar
*************************************************************************************
Introduccin El desarrollo de una aplicacin, especialmente si se trata de un proyecto de gran
tamao, es ms fcil si se divide en piezas ms pequeas. El uso de
procedimientos puede ayudarnos a agrupar nuestro cdigo en secciones lgicas
y condensar tareas repetidas o compartidas, como clculos utilizados
frecuentemente. En este mdulo, aprenderemos a crear y utilizar
procedimientos.
Objetivos En este mdulo, aprenderemos a:
Diferenciar entre un procedimiento Sub y un procedimiento Function.
Crear e invocar procedimientos Sub y Function.
Escribir procedimientos en mdulos para permitir la reutilizacin del
cdigo.
Pasar argumentos por valor y por referencia.
Utilizar funciones predefinidas en el cdigo de nuestra aplicacin.
2 Funciones. Subrutinas y procedimientos
*************************************************************************************
Introduccin Esta leccin explica cmo crear procedimientos Sub y Function, cmo declarar
argumentos en un procedimiento y cmo crear procedimientos en un mdulo.
Estructura de la leccin Esta leccin incluye los siguientes temas y actividades:
Qu son los procedimientos?
Cmo crear procedimientos Sub
Cmo crear procedimientos Function
Cmo declarar argumentos en procedimientos
Multimedia: pasar argumentos
Cmo utilizar argumentos opcionales
Multimedia: escribir cdigo reutilizable
Reutilizacin de cdigo
Prctica: crear una Funcin en un Mdulo
*************************************************************************************
Definicin Los procedimientos son las sentencias de cdigo ejecutable de un programa.
Las instrucciones de un procedimiento estn delimitadas por una instruccin de
declaracin y una instruccin End.
Tipos de procedimientos Existen tres tipos de procedimientos en Microsoft Visual Basic .NET:
procedimientos Sub, procedimientos Function y procedimientos Property.
Los procedimientos Sub realizan acciones pero no devuelven un valor al
procedimiento que origina la llamada. Los controladores de eventos son
procedimientos Sub que se ejecutan en respuesta a un evento.
Los procedimientos Function pueden devolver un valor al procedimiento
que origina la llamada. La instruccin MessageBox.Show es un ejemplo de
funcin.
Los procedimientos Property devuelven y asignan valores de propiedades
de clases, estructuras o mdulos.
Uso de procedimientos Un procedimiento puede ser invocado, o llamado, desde otro procedimiento.
Cuando un procedimiento llama a otro procedimiento, se transfiere el control al
segundo procedimiento. Cuando finaliza la ejecucin del cdigo del segundo
procedimiento, ste devuelve el control al procedimiento que lo invoc.
Debido a esta funcionalidad, los procedimientos resultan tiles para realizar
tareas repetidas o compartidas. En lugar de escribir el mismo cdigo ms de una
vez, podemos escribir un procedimiento e invocarlo desde varios puntos de
nuestra aplicacin o desde otras aplicaciones.
Accesibilidad del Utilizamos un modificador de acceso para definir la accesibilidad de los
procedimiento procedimientos que escribimos (es decir, el permiso para que otro cdigo
invoque al procedimiento). Si no especificamos un modificador de acceso, los
procedimientos son declarados public de forma predeterminada.
La siguiente tabla muestra las opciones de accesibilidad para declarar un
procedimiento dentro de un mdulo:
Modificador de Descripcin
acceso
[accessibility]
[accessibility] Sub
Sub subname[(argumentlist)]
subname[(argumentlist)]
'' Sub
Sub procedimiento
procedimiento statements
statements
End
End Sub
Sub
Ejemplo:
Private
Private Sub
Sub AboutHelp(
AboutHelp( ))
MessageBox.Show("MyProgram
MessageBox.Show("MyProgram V1.0",
V1.0", "MyProgram
"MyProgram Help")
Help")
End
End Sub
Sub
*************************************************************************************
Definicin Un procedimiento Sub es una serie de instrucciones de Visual Basic
delimitadas por las instrucciones Sub y End Sub. Los procedimientos Sub
realizan acciones pero no devuelven un valor al procedimiento que origina la
llamada.
Sintaxis para crear un Utilicemos la siguiente sintaxis para crear un procedimiento Sub:
procedimiento Sub
[accessibility] Sub subname[(argumentlist)]
' Statements of the Sub procedure go here
End Sub
Ejemplo de El siguiente cdigo crea un procedimiento Sub (Sub AboutHelp) que utiliza un
procedimiento Sub cuadro de mensaje para mostrar un nombre de producto y un nmero de
versin:
Private Sub AboutHelp( )
MessageBox.Show("MyProgram V1.0", "MyProgram Help")
End Sub
6 Funciones. Subrutinas y procedimientos
Ejemplo:
Public
Public Function
Function DoubleTheValue(ByVal
DoubleTheValue(ByVal JJ As
As Double)
Double) As
As __
Double
Double
.. .. ..
Return
Return J*2
J*2
.. .. ..
End
End Function
Function
*************************************************************************************
Definicin Un procedimiento Function es una serie de instrucciones Visual Basic
delimitadas por las instrucciones Function y End Function. Los
procedimientos Function son similares a los procedimientos Sub, pero las
funciones pueden devolver un valor al programa que origina la llamada.
Sintaxis para crear a Utilicemos la siguiente sintaxis para crear un procedimiento Function:
Function procedimiento
[accessibility] Function functionname[(argumentlist)] As _
datatype
' Statements of the function go here, including optional
' Return statement
End Function
Ejemplo de un El siguiente cdigo crea una funcin denominada Square que devuelve el
procedimiento Function cuadrado de un nmero entero (integer):
Function Square(SquareValue As Integer) As Integer
Square = SquareValue * SquareValue
End Function
Valores de retorno El valor que devuelve un procedimiento Function al programa que origina la
llamada se denomina valor de retorno. La funcin devuelve el valor en una de
las dos formas siguientes:
Asigna un valor al nombre de su propia funcin en una o ms instrucciones
dentro del procedimiento. El control no se devuelve al programa que origina
la llamada hasta que se ejecuta una instruccin Exit Function o End
Function.
La instruccin Exit Function provoca la salida inmediata de un
procedimiento Function. Cualquier nmero de instrucciones Exit Function
pueden aparecer en cualquier lugar del procedimiento.
Utiliza una instruccin Return para especificar el valor devuelto, y
devuelve el control inmediatamente al programa que origina la llamada.
Funciones. Subrutinas y procedimientos 7
Paso ByVal y ByRef Cuando definimos un procedimiento, definimos el modo en el que otros
procedimientos pueden pasar argumentos al procedimiento. Podemos escoger
pasarle argumentos por referencia (ByRef) o por valor (ByVal). En
Visual Basic .NET, el mecanismo predeterminado de paso de parmetros es por
valor. Si no especificamos ByVal ni ByRef en nuestras definiciones de
parmetros, ByVal se aade automticamente a la definicin del parmetro.
Mecanismo de
paso Explicacin Implicaciones Ventaja
Por valor El procedimiento invocado Si el procedimiento invocado Protege la variable de
recibe una copia de los modifica la copia, el valor original ser cambiada por el
datos cuando es invocado. de la variable permanece intacto. procedimiento
Palabra clave: Cuando la ejecucin retorna al invocado.
ByVal procedimiento de llamada, la
variable contiene el mismo valor
que tena antes de que el valor se
pasara.
Por referencia El procedimiento invocado El procedimiento invocado puede El procedimiento
recibe una referencia a los modificar la variable directamente. invocado puede utilizar
datos originales (la Cuando la ejecucin retorna al el argumento para
Palabra clave: direccin de los datos en procedimiento de llamada, la devolver un nuevo
ByRef memoria) cuando es variable contiene el valor valor al cdigo de
invocado. modificado. llamada.
Declarar argumentos Utilizamos la misma sintaxis para declarar los argumentos para procedimientos
Sub y procedimientos Function. Declaramos cada argumento de un
procedimiento del mismo modo en que declaramos una variable, especificando
el nombre del argumento y el tipo de datos. Tambin podemos especificar el
mecanismo de paso y si el argumento es opcional.
La sintaxis para cada argumento en la lista de argumentos de un procedimiento
es como sigue:
([ByVal|ByRef] [ParamArray] nombreargumento As datatype)
Ejemplo de declaracin En el siguiente ejemplo, el procedimiento Sub Hello est diseado para tomar
de un argumento un argumento Name de tipo String por valor desde un procedimiento de
llamada.
Public Sub Hello(ByVal Name As String)
MessageBox.Show("Hello, " & Name & "!")
End Sub
Ejemplo:
Function
Function Add
Add (ByVal
(ByVal value1
value1 As
As Integer,
Integer, ByVal
ByVal value2
value2 As
As __
Integer,
Integer, Optional
Optional ByVal
ByVal value3
value3 As
As Integer
Integer == 0)
0) As
As Integer
Integer
*************************************************************************************
Introduccin Podemos especificar que el argumento de un procedimiento es opcional y no es
necesario proporcionarlo cuando el procedimiento es invocado. Esto ofrece
flexibilidad cuando nuestro procedimiento es invocado por otro procedimiento.
El usuario puede decidir proporcionar o no un argumento.
Declarar un argumento Los argumentos opcionales estn indicados por la palabra clave Optional en la
opcional definicin del procedimiento. Adems, cuando declaramos un argumento
opcional, se aplican las siguientes reglas:
Debe especificarse un valor predeterminado para todos los argumentos
opcionales.
El valor predeterminado de un argumento opcional debe ser una expresin
constante.
Todos los argumentos que sigan a un argumento opcional en la definicin
del procedimiento tambin deben ser opcionales.
Ejemplo de argumento El siguiente ejemplo contiene un error; recordemos que los argumentos que
opcional incorrecto siguen a un argumento opcional tambin deben ser opcionales.
Function Add(ByVal value1 As Integer, Optional ByVal _
value2 As Integer = 0, ByVal value3 As Integer) As Integer
' Causes an error
Reutilizacin de cdigo
Use
Useun
un
un Para
Para
Para Ejemplos
Ejemplos
Size
Size
Estructura
Estructura Objetos
Objetosque
queno
nonecesitan
necesitanser
serextendidos
extendidos Point
Point
Conversin
Conversindede
Mdulo
Mdulo Funciones
Funcionesde
deutilidad
utilidadyydatos
datosglobales
globales temperatura
temperatura
Extende
Extendeobjetos
objetosuuobjetos
objetosque
quenecesitan
necesitan Formularios
Formularios
Clase
Clase cleanup Botones
cleanup Botones
Crear un mdulo:
[Public|Friend]
[Public|Friend] Module
Module ModuleName
ModuleName
.. .. ..
End
End Module
Module
*************************************************************************************
Introduccin Uno de los procesos ms importantes en la creacin de una aplicacin basada
en Visual Basic es disear cdigo para su reutilizacin. El modo como
escribimos el cdigo afecta a su reutilizacin.
Escribir cdigo para Podemos escribir cdigo para ser reutilizado, incluyendo procedimientos, en
reutilizar estructuras, mdulos o clases. La siguiente tabla proporciona una descripcin de
las situaciones en las que deberamos escoger cada una de estas opciones:
Usar un(a) para Ejemplo
Escribir procedimientos El siguiente cdigo muestra cmo podemos escribir un procedimiento en una
en una estructura estructura. Asumimos que las variables x, y y z del ejemplo ya han sido
declaradas.
Structure TableDimensions
Private legHeight, topWidth, topDepth As Integer
Public Sub New(ByVal legHeight As Integer, _
ByVal topWidth As Integer, ByVal topDepth as Integer)
Me.legHeight = x
Me.topWidth = y
Me.topDepth = z
End Sub
End Structure
Crear un mdulo Para crear un mdulo, aadimos primero un mdulo a nuestro proyecto. A
continuacin, escribimos las instrucciones del cdigo que definen los datos y
procedimientos de nuestro mdulo.
Accesibilidad de un Al igual que con los procedimientos y las variables, utilizamos los
mdulo modificadores de acceso para definir la accesibilidad de un mdulo. Si no
utilizamos un modificador de acceso, los mdulos se declaran Friend de modo
predeterminado.
La siguiente tabla define los modificadores de acceso disponibles para un
mdulo:
Modificador de Definicin
acceso
Abrir un proyecto
*************************************************************************************
En esta prctica, aadir un mdulo a un proyecto y crear una funcin en el
mdulo. La funcin tomar height y width como argumentos y devolver
Area.
Nota Utilizar el cdigo creado en esta prctica como cdigo de inicio para la
prctica Utilizacin del valor devuelto de una funcin, que realizar ms
adelante en este mdulo.
Nota No podr probar la funcin hasta que finalice la prctica Utilizacin del
valor devuelto de una funcin.
*************************************************************************************
Introduccin Uno de los principales beneficios del uso eficaz de procedimientos es la
reutilizacin de cdigo. Los procedimientos que creamos en un programa
pueden utilizarse en ese programa y en otros proyectos, frecuentemente con
poca o nula modificacin. Los procedimientos son tiles para tareas repetidas o
compartidas, como clculos utilizados frecuentemente.
Esta leccin describe cmo utilizar procedimientos Sub y Function, cmo
utilizar la sintaxis ParamArray para pasar argumentos, y cmo modificar el
inicio de la aplicacin para crear un procedimiento Sub Main.
Estructura de la leccin Esta leccin incluye los siguientes temas y actividades:
Cmo utilizar procedimientos Sub
Cmo utilizar procedimientos Function
Prctica: utilizacin del valor devuelto de una funcin
Cmo pasar matrices a procedimientos
Cmo crear un Sub Main
Prctica: crear un Sub Main
Public
Public Sub
Sub Hello(ByVal
Hello(ByVal name
name As
As String)
String)
MessageBox.Show("Hello
MessageBox.Show("Hello "" && name)
name)
End
End Sub
Sub
Sub
Sub Test(
Test( ))
Hello("John")
Hello("John")
End
End Sub
Sub
*************************************************************************************
Introduccin Para utilizar un procedimiento Sub, lo invocamos desde otro procedimiento.
Flujo de cdigo Cada vez que se invoca un procedimiento Sub, se ejecutan sus instrucciones,
empezando por la primera instruccin ejecutable despus de la instruccin Sub
y finalizando con la primera instruccin End Sub, Exit Sub o Return
encontrada. Despus de que el procedimiento Sub ejecute nuestro cdigo,
devuelve la ejecucin del programa a la lnea de cdigo que sigue a la lnea que
invoc el procedimiento Sub.
Invocar un La sintaxis para invocar un procedimiento Sub es la siguiente:
procedimiento Sub
[Call] Subname [(Argumentlist)]
Ejemplo de uso de la Tambin puede utilizar el siguiente cdigo para realiza la misma tarea:
instruccin Call
Sub DataButton_Click(...)
Call SetData( )
End Sub
End Sub
3. Para visualizar el efecto de pasar una variable por referencia cuando invoca
un segundo procedimiento, aada las tres lneas de cdigo siguientes al
procedimiento Hello:
a. Mostrar el valor actual de Name en un cuadro de texto.
b. Establecer el valor de la variable Name a Samantha.
c. Mostrar el nuevo valor de Name en un cuadro de texto.
Nuestro cdigo debera tener un aspecto similar al siguiente:
Public Sub Hello(ByRef Name As String)
MessageBox.Show("Hello, " & Name & "!")
Name = "Samantha"
MessageBox.Show("Hello, " & Name & "!")
End Sub
Funciones. Subrutinas y procedimientos 21
Archivos de solucin Los archivos de solucin para esta prctica se encuentran en la carpeta
ByRefTest\Solution dentro del archivo practs04.zip.
22 Funciones. Subrutinas y procedimientos
*************************************************************************************
Introduccin Un procedimiento Function se diferencia de un procedimiento Sub en que el
primero puede devolver un valor al procedimiento de llamada.
Invocar una funcin Invocamos un procedimiento Function incluyendo su nombre y sus argumentos
en el lado derecho de una instruccin de asignacin o en una expresin. Piense
en la siguiente funcin, que convierte una temperatura en Fahrenheit a una
temperatura en Celsius.
Function FtoC(ByVal temperature As Single) As Single
' Convert Fahrenheit to Celsius
FtoC = (temperature - 32.0) * (5 / 9)
End Function
Flujo de cdigo Cada vez que se invoca la funcin se ejecutan sus instrucciones, empezando por
la primera instruccin ejecutable tras la instruccin Function y finalizando con
la primera instruccin End Function, Exit Function o Return encontrada.
Funciones. Subrutinas y procedimientos 23
*************************************************************************************
En este ejercicio, crearemos una aplicacin sencilla que calcula el rea de un
rectngulo, dada su altura (height) y anchura (width).
En primer lugar, crearemos el interfaz de usuario para la aplicacin. El usuario
escribir valores para la altura y la anchura en dos cuadros de texto de un
formulario y har clic en un botn para calcular el rea del rectngulo en
funcin de las dimensiones introducidas. El resultado se mostrar como una
etiqueta en el formulario.
A continuacin, escribiremos el cdigo para la aplicacin. Invocaremos a la
funcin Area que creamos en la primera prctica de este mdulo (Crear una
funcin en un mdulo), pasaremos argumentos a la funcin y devolveremos un
valor.
2. Ejecutar la aplicacin.
3. Escribir valores numricos en los cuadros de texto Height y Width.
4. Hacer clic en Button1 y verificar que aparece la respuesta esperada.
5. Cerrar la aplicacin.
Archivos de solucin Los archivos de solucin para esta prctica estn ubicados en la carpeta
FunctionReturnValue\Solution dentro del archivo practs04.zip.
Funciones. Subrutinas y procedimientos 25
*************************************************************************************
Introduccin Podemos pasar matrices como argumentos a un procedimiento igual que otros
argumentos. Visual Basic .NET tambin proporciona la palabra clave
ParamArray para declarar una matriz de parmetros en la definicin de
parmetros de un procedimiento.
Pasar matrices Podemos pasar matrices unidimensionales o multidimensionales a
procedimientos del mismo modo que pasamos otros argumentos.
El siguiente ejemplo muestra cmo pasar una matriz unidimensional a un
procedimiento:
Sub PassArray(ByVal testScores As Integer( ))
...
End Sub
Ejemplo de declaracin El siguiente cdigo muestra cmo podemos definir un procedimiento con una
ParamArray matriz de parmetros:
Sub StudentScores(ByVal name As String, ByVal ParamArray _
scores( ) As String)
' Statements for Sub procedure
End Sub
*************************************************************************************
Introduccin Para abrir y cerrar una aplicacin, la biblioteca de clases del .NET Framework
proporciona la clase Application. La clase Application proporciona mtodos
(procedimientos) y propiedades para gestionar una aplicacin, incluyendo
mtodos para abrir y cerrar una aplicacin, mtodos para procesar mensajes de
Microsoft Windows, y propiedades para obtener informacin sobre una
aplicacin.
El procedimiento Sub Cuando creamos aplicaciones con la plantilla Aplicacin para Windows en
Main Visual Basic .NET, Visual Basic crea automticamente un procedimiento Sub
oculto denominado Sub Main para la clase Form. Este procedimiento se utiliza
como punto de inicio para nuestra aplicacin.
Crear un nuevo Sub En el procedimiento Sub Main, Visual Basic .NET invoca el mtodo
Main Application.Run para iniciar la aplicacin. Podemos cambiar este
comportamiento creando nuestro propio Sub Main y convirtindolo en el
objeto de inicio. Podemos crear Sub Main en un mdulo o en otra clase.
Despus de crear un Sub Main, necesitamos hacer de este nuevo procedimiento
el objeto de inicio utilizando la ventana Propiedades.
Probar la aplicacin
*************************************************************************************
En esta prctica, generaremos cdigo para una aplicacin formada por tres
formularios, y crearemos un Sub Main como objeto de inicio para el proyecto.
Abrir el proyecto
Abrir el proyecto MultipleForms.sln, ubicado en la carpeta
Forms\Starter dentro del archivo practs04.zip y familiaricmonos con los
formularios y los mdulos del proyecto.
Declarar variables
Declarar las siguientes variables en el archivo de mdulo Starter.
Nombre de la variable Modificador de acceso Tipo de datos
Probar la aplicacin
1. Ejecutar la aplicacin. Hacer clic en Car Loan y en el botn Next.
Comprobar que se abre el formulario Car Loan.
2. Salir de la aplicacin haciendo clic en el botn Close de la esquina superior
derecha del formulario.
3. Ejecutar de nuevo la aplicacin. Hacer clic en Home Loan y en el botn
Next. Comprobar que se abre el formulario Home Loan.
4. Salir de la aplicacin haciendo clic en el botn Done.
5. Ejecutar de nuevo la aplicacin. Hacer clic en el botn Next sin pulsar en un
tipo de crdito (loan). Comprobar si aparece un cuadro de mensaje
indicando al usuario que seleccione un tipo de crdito (loan).
6. Salir de la aplicacin utilizando el botn Exit del formulario Selection.
Archivos de solucin Los archivos de solucin para esta prctica estn ubicados en
Forms\Solution dentro del archivo practs04.zip.
Funciones. Subrutinas y procedimientos 33
*************************************************************************************
Introduccin La biblioteca del entorno de ejecucin de Visual Basic proporciona numerosas
funciones predefinidas que podemos utilizar en nuestro cdigo. Estas funciones
se invocan del mismo modo en que invocamos a nuestras propias funciones.
En este mdulo, estudiaremos la funcin InputBox, las funciones de fecha y
hora, las funciones de cadena, las funciones de formato y las funciones
financieras. En Miembros de la biblioteca del entorno de ejecucin de
Visual Basic, en la documentacin de Visual Studio .NET, encontraremos una
lista completa de las funciones predefinidas.
Estructura de la leccin Esta leccin incluye los siguientes temas y actividades:
Cmo utilizar la funcin InputBox
Cmo utilizar las funciones Date y Time
Cmo utilizar las funciones String
Cmo utilizar las funciones Format
Cmo utilizar las funciones Financial
Prctica: Examen de funciones predefinidas
*************************************************************************************
Introduccin La funcin InputBox es una funcin predefinida que proporciona una forma
sencilla de interactuar con los usuarios. La funcin InputBox muestra un
cuadro de dilogo con un mensaje, espera a que el usuario introduzca texto o
haga clic en un botn y devuelve una cadena con el contenido del cuadro de
texto.
Parmetros La siguiente declaracin de funcin muestra los parmetros de la funcin
InputBox:
Public Function InputBox(ByVal Prompt As String, _
Optional ByVal Title As String = "", _
Optional ByVal DefaultResponse As String = "", _
Optional ByVal XPos As Integer = -1, _
Optional ByVal YPos As Integer = -1 ) As String
Como podemos ver, los argumentos Title, DefaultResponse, XPos e YPos son
opcionales. La siguiente tabla explica los valores predeterminados que se
aplicaran en caso de escoger no pasar uno de estos argumentos opcionales a la
funcin InputBox.
Parmetro Definicin Valor predeterminado
Ejemplo de utilizacin El siguiente cdigo crea un cuadro de entrada con el ttulo Search, que solicita
de la funcin InputBox al usuario que introduzca un nombre de archivo y almacena la respuesta del
usuario en una variable denominada FileName.
Dim FileName As String
FileName = InputBox("Please enter file name", "Search")
*************************************************************************************
Introduccin Visual Basic proporciona numerosas funciones de fecha y hora que podemos
utilizar en nuestras aplicaciones. En esta seccin, estudiaremos cmo utilizar
dos funciones predefinidas para realizar clculos y operaciones que implican
fechas y horas.
Uso de la funcin Podemos utilizar la funcin DateAdd para aadir o sustraer un intervalo de
DateAdd tiempo especfico a una fecha. Pasamos a la funcin la fecha y la informacin
sobre el intervalo, y la funcin DateAdd devuelve un valor Date que contiene
el valor de fecha y hora, al que se ha aadido o sustrado un intervalo de tiempo
especificado.
Parmetros La funcin DateAdd tiene tres parmetros, ninguno de ellos opcional, que se
muestran en la siguiente tabla:
Parmetro Definicin
Ejemplo de utilizacin El siguiente cdigo utiliza la funcin DateAdd para calcular la fecha de
de la funcin DateAdd vencimiento de una factura a partir de la fecha de facturacin. En este
escenario, la fecha de vencimiento de la factura es 20 das despus de la fecha
de factura. Por tanto, Interval es DateInterval.Day y Number es 20.
Funciones. Subrutinas y procedimientos 37
fechaFactura = #12/31/2000#
DateAdd(DateInterval.Day, 20, fechaFactura)
Utilizacin de la funcin Podemos utilizar la funcin DateDiff para determinar cuntos intervalos de
DateDiff tiempo especificados existen entre dos valores de fecha/hora. Por ejemplo,
podra utilizarse DateDiff para calcular el nmero de das entre dos fechas o el
nmero de semanas ente hoy y final del ao.
Parmetros La funcin DateDiff tiene cinco parmetros, dos de los cuales son opcionales.
Estos parmetros se muestran en la tabla siguiente:
Parmetro Definicin
Ejemplo de utilizacin Este ejemplo utiliza la funcin DateDiff para mostrar el nmero de das entre
de la funcin DateDiff una fecha determinada y la fecha actual.
Dim firstDate, msg As String
Dim secondDate As Date
' Declare variables
firstDate = InputBox("Enter a date")
' Get a given date from the user
secondDate = CDate(firstDate)
msg = "Days from today: " & DateDiff(DateInterval.Day, Now, _
secondDate)
MessageBox.Show(msg)
' Create a message box which uses the DateDiff function and
' displays the number of days between a given date and the
' current date
z Len
Length
Length == Len(customerName)
Len(customerName)
z Left
Microsoft.VisualBasic.Left(customerName,
Microsoft.VisualBasic.Left(customerName, 5)
5)
*************************************************************************************
Introduccin En muchos casos, las cadenas (strings) requieren algn tipo de manipulacin,
formateo o evaluacin. Por ejemplo, el nombre de una persona puede escribirse
con el apellido delante del nombre de pila, o un archivo puede contener campos
separados por comas. Las funciones String de Visual Basic pueden analizar y
manipular cadenas en las aplicaciones. Estas funciones se utilizan para devolver
informacin sobre una cadena, extraer nicamente una parte de la cadena, o
mostrar informacin en un determinado formato.
Uso de la funcin Trim Podemos utilizar la funcin Trim para eliminar los espacios iniciales y finales
de una cadena especfica.
Ejemplo de utilizacin El siguiente ejemplo muestra cmo utilizar la funcin Trim para devolver una
de Trim cadena que contenga una copia de una cadena especfica sin espacios iniciales
ni finales:
Dim MyString, NewString As String
' Initialize string
MyString = " 1234 Street "
' NewString = "1234 Street"
NewString = Trim(MyString)
Uso de la funcin Len La funcin Len puede utilizarse para encontrar el nmero de caracteres de una
cadena o el nmero de bytes necesarios para almacenar una variable.
El siguiente cdigo muestra la declaracin para la funcin Len. El parmetro
Expression de esta declaracin es cualquier expresin de cadena o nombre de
variable vlidos.
Public Shared Function Len(ByVal Expression As datatype) As _
Integer
Funciones. Subrutinas y procedimientos 39
Ejemplo de utilizacin En el siguiente cdigo, la funcin Len devuelve el nmero de caracteres de una
de Len cadena:
Dim customerName As string
Dim length As Integer
customerName = InputBox("What is your name?")
length = Len(customerName)
Uso de la funcin Left Podemos utilizar la funcin Left para devolver un nmero especificado de
caracteres desde el lado izquierdo de una cadena.
El siguiente cdigo muestra la declaracin de funcin para la funcin Left. El
parmetro Str de esta declaracin es la expresin de cadena de la que la funcin
devolver los caracteres ms a la izquierda. El parmetro Length es un entero
que indica cuntos caracteres devolver.
Public Shared Function Left(ByVal Str As String, _
ByVal Length As Integer) As String
Ejemplo de utilizacin En el siguiente cdigo, la funcin Left devuelve cinco caracteres del lado
de Left izquierdo de una cadena:
Microsoft.VisualBasic.Left(customerName, 5)
Ejemplo de utilizacin En el siguiente cdigo, las funciones Len y Left se utilizan juntos para eliminar
de Len y Left la extensin del nombre del archivo (los cuatro ltimos caracteres) de un
nombre de archivo:
fileName = Left(fileName, Len(fileName) - 4)
z FormatDateTime
FormatDateTime(myDate,
FormatDateTime(myDate, DateFormat.LongDate)
DateFormat.LongDate)
*************************************************************************************
Introduccin Existen varios formatos aceptados universalmente para nmeros, fechas y
horas. Visual Basic ofrece una gran flexibilidad en visualizar formatos de
nmeros adems de formatos de fecha y hora. Un beneficio aadido es que los
formatos regionales para nmeros, fechas y horas se presentan fcilmente sin
codificar nuevamente para cada nacionalidad o regin.
En esta seccin, estudiaremos cmo utilizar dos funciones predefinidas para
formatear.
Uso de la funcin La funcin FormatCurrency puede utilizarse para devolver una expresin con
FormatCurrency formato de moneda que utiliza el smbolo de moneda definido en el panel de
control del sistema. Por ejemplo, se puede utilizar FormatCurrency para
formatear el importe debido en una factura.
Parmetros La funcin FormatCurrency tiene cinco parmetros, cuatro de los cuales son
opcionales. Cuando se omite uno o ms argumentos opcionales, se utilizan
valores que se ajustan a la configuracin regional predeterminada del equipo.
La siguiente tabla describe los parmetros de la funcin FormatCurrency:
Parmetro Definicin
(continuacin)
Parmetro Definicin
Ejemplo de utilizacin El siguiente ejemplo utiliza la funcin FormatCurrency para formatear una
de la funcin cadena que representa importeDebido:
FormatCurrency
Dim importeDebido As Double = 4456.43
Dim myString As String
myString = FormatCurrency(importeDebido, , , TriState.True, _
TriState.True)
Uso de la funcin La funcin FormatDateTime puede utilizarse para formatear una expresin
FormatDateTime como fecha u hora. Por ejemplo, podemos utilizar FormatDateTime para
cambiar la expresin 5/21/01 por la expresin Monday, May 21, 2001.
Parmetros La funcin FormatDateTime tiene dos parmetros, como se muestra en la
siguiente tabla:
Parmetro Definicin
DateFormat.GeneralDate Muestra una fecha y/u hora. Si hay una fecha, la presenta
como fecha corta. Si hay una hora, la presenta en formato
largo. Si las dos partes estn presentes, se muestran
ambas.
DateFormat.LongDate Muestra una fecha en el formato largo especificado en la
configuracin regional del equipo.
DateFormat.ShortDate Muestra una fecha en el formato corto especificado en la
configuracin regional del equipo.
DateFormat.LongTime Muestra una hora en el formato de hora especificado en la
configuracin regional del equipo.
DateFormat.ShortTime Muestra una hora en el formato de 24 horas (hh:mm).
z Rate
ratePerPeriod
ratePerPeriod == Rate(24,
Rate(24, 228,
228, -5000,
-5000, 0,
0, DueDate.BegOfPeriod,
DueDate.BegOfPeriod, __
0.8)*100
0.8)*100
*************************************************************************************
Introduccin Visual Basic ofrece varias funciones financieras que podemos utilizar en
nuestras aplicaciones. En esta seccin, estudiaremos cmo utilizar dos
funciones predefinidas para realizar clculos y operaciones que implican dinero.
Uso de la funcin Pmt Podemos utilizar la funcin Pmt para calcular el pago de una anualidad basado
en pagos fijos peridicos y un tipo de inters fijo. Una anualidad es una serie de
pagos fijos que se realizan durante un periodo de tiempo, como una hipoteca
sobre una casa o el pago de un crdito para la compra de un coche.
Parmetros La funcin Pmt tiene cinco parmetros, dos de los cuales son opcionales. Para
todos los argumentos, el efectivo abonado (como depsitos de ahorro) se
representa con nmeros negativos. El efectivo recibido (como cheques de
dividendos) se representa con nmeros positivos. La siguiente tabla describe los
cinco parmetros de la funcin Pmt.
Parmetro Definicin
(continuacin)
Parmetro Definicin
FV Valor futuro, o saldo, que se desea tener una vez realizado el pago final,
(Opcional) expresado como Double.
El valor predeterminado, si no se expresa ningn otro, es 0.
Due Indica cundo vencen los pagos. Puede ser al final del periodo
(Opcional) (especificado comos DueDate.EndOfPeriod) o al principio del periodo
(especificado como DueDate.BegOfPeriod).
El valor predeterminado, si no se expresa ningn otro, es
DueDate.EndOfPeriod.
Ejemplo de utilizacin El siguiente cdigo utiliza la funcin Pmt para calcular el pago mensual de un
de la funcin Pmt crdito de 24 meses de 5000 dlares al 10% TAE.
payment = Pmt(0.0083, 24, -5000, 0, DueDate.BegOfPeriod)
Uso de la funcin Rate La funcin Rate puede utilizarse para calcular el tipo de inters por periodo de
una anualidad.
Parmetros La funcin Rate tiene los mismos parmetros que la funcin Pmt, con las
siguientes excepciones:
Toma un argumento Pmt en lugar de un argumento Rate. Pmt es un
argumento obligatorio que representa el pago que debe realizarse cada
periodo y se expresa como Double.
Toma un argumento Guess opcional. Es el valor estimado que ser devuelto
por Rate, expresado como Double. El valor predeterminado, si no se
expresa ningn otro, es 0.1 (10 por ciento).
Ejemplo de utilizacin El siguiente cdigo utiliza la funcin Rate para calcular el tipo de inters por
de la funcin Rate periodo de un crdito de 24 meses de 5000 dlares con pagos mensuales de 228
dlares.
ratePerPeriod = Rate(24, 228, -5000, 0, DueDate.BegOfPeriod, _
0.8)*100
*************************************************************************************
En esta prctica, utilizaremos la documentacin de Visual Studio para estudiar
las funciones predefinidas y cmo utilizarlas en nuestro cdigo.
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
Funciones. Subrutinas y procedimientos 47
subString = Microsoft.VisualBasic.Right(myString, 3)
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________