Вы находитесь на странице: 1из 44

Funciones Matemtica

Las funciones matemticas de Visual Basic 6 han sido reemplazadas por mtodos equivalentes en la clase System.Math de .NET Framework. Comentarios Los mtodos matemticos de .NET Framework funcionan del mismo modo que sus equivalentes de Visual Basic 6, si bien algunos de sus nombres han sufrido ligeras diferencias. As, por ejemplo, Atan es el equivalente en .NET Framework de la funcin Atn de Visual Basic 6. En la siguiente tabla se detallan los nombres de las funciones matemticas de Visual Basic 6 y sus mtodos equivalentes en .NET Framework: Funcin de Visual Basic 6 Abs Mtodo de Visual Basic .NET Math.Abs (Mtodo)

UNITEK GRUPO IDAT

Descripcin Devuelve el valor absoluto de un nmero especificado. Devuelve un valor Double que contiene el ngulo cuya tangente es el nmero especificado. Devuelve un valor Double que contiene el coseno del ngulo especificado. Devuelve un valor Double que contiene "e" (base de los logaritmos naturales) elevado a la potencia especificada. Devuelve un valor Double que contiene el logaritmo del nmero especificado. Este mtodo est sobrecargado y puede devolver o bien el logaritmo natural (de base e) del nmero especificado
1

Atn

Math.Atan (Mtodo)

Cos

Math.Cos (Mtodo)

Exp

Math.Exp (Mtodo)

Log

Math.Log (Mtodo)

UNITEK GRUPO IDAT

o bien el logaritmo del nmero especificado en una base especificada. Round Math.Round (Mtodo) Devuelve un valor de tipo Double que contiene el nmero ms prximo al valor especificado. Existen funciones de redondeo adicionales disponibles en forma de mtodos de tipos intrnsecos como Decimal.Round (Mtodo). Devuelve un valor Integer que indica el signo de un nmero. Devuelve un valor Double que especifica el seno de un ngulo. Devuelve un valor Double que especifica la raz cuadrada de un nmero. Devuelve un valor Double que contiene la tangente de un ngulo.

Sgn

Math.Sign (Mtodo)

Sin

Math.Sin (Mtodo)

Sqr

Math.Sqrt (Mtodo)

Tan

Math.Tan (Mtodo)

Adems, la clase matemtica de .NET Framework ofrece constantes y otros mtodos estticos para funciones trigonomtricas, logartmicas y otras funciones matemticas habituales. Todo ello puede utilizarse en un programa de Visual Basic. Para utilizar estas funciones sin calificacin, importe el espacio de nombres System.Math a su proyecto agregando el siguiente cdigo en la parte superior del cdigo fuente: Imports System.Math Requisitos

UNITEK GRUPO IDAT

Class: Math (Clase) Ejemplo de Abs En este ejemplo se utiliza el mtodo Abs de la clase Math para calcular el valor absoluto de un nmero: Imports System.Math ' Code will not compile unless placed within a Sub or Function Dim MyNumber As Double MyNumber = A b s ( 50.3) MyNumber = A b s ( -50.3) Ejemplo de Atan En este ejemplo se utiliza el mtodo Atan de la clase Math para calcular el valor de pi: Imports System.Math ' Code will not compile unless placed within a Sub or Function Dim pi As Double pi = 4 * A t a n ( 1) Ejemplo de Cos En este ejemplo se utiliza el mtodo Cos de la clase Math para devolver el coseno de un ngulo: Imports System.Math ' Code will not compile unless placed within a Sub or Function Dim MyAngle, MySecant As Double MyAngle = 1.3 ' Define angle in radians. ' Calculate secant. ' Calculate the value of pi. ' Returns 50.3. ' Returns 50.3.

MySecant = 1 / C o s ( MyAngle) Ejemplo de Exp

En este ejemplo se utiliza el mtodo Exp de la clase Math para devolver e elevado a una potencia: Imports System.Math
3

UNITEK GRUPO IDAT

' Code will not compile unless placed within a Sub or Function Dim MyAngle, MyHSin As Double ' Define angle in radians. MyAngle = 1.3 ' Calculate hyperbolic sine. MyHSin = (E x p ( MyAngle) - E x p ( -1 * MyAngle) ) / 2 Ejemplo de Log En este ejemplo se utiliza el mtodo Log de la clase Math para devolver el logaritmo natural de un nmero: Imports System.Math ' Code will not compile unless placed within a Sub or Function Dim MyAngle, MyLog As Double ' Define angle in radians. MyAngle = 1.3 ' Calculate inverse hyperbolic sine. MyLog = L o g ( MyAngle + Sqrt(MyAngle * MyAngle + 1)) Ejemplo de Round En este ejemplo se utiliza el mtodo Round de la clase Math para redondear un nmero al entero ms prximo: Imports System.Math ' Code will not compile unless placed within a Sub or Function Dim MyVar1 As Double = 2.8 Dim MyVar2 As Double MyVar2 =R o u n d ( MyVar1) Ejemplo de Sign En este ejemplo se utiliza el mtodo Sign de la clase Math para determinar el signo de un nmero: Imports System.Math ' Code will not compile unless placed within a Sub or Function Dim MyVar1, MyVar2, MyVar3 As Double
4

' Returns 3.

UNITEK GRUPO IDAT

Dim MySign As Integer MyVar1 = 12 MyVar2 = -2.4 MyVar3 = 0 MySign = S i g n ( MyVar1) MySign = S i g n ( MyVar2) MySign = S i g n ( MyVar3) Ejemplo de Sin En este ejemplo se utiliza el mtodo Sin de la clase Math para devolver el seno de un ngulo: Imports System.Math ' Code will not compile unless placed within a Sub or Function Dim MyAngle, MyCosecant As Double MyAngle = 1.3 ' Define angle in radians. ' Calculate cosecant. ' Returns 1. ' Returns -1. ' Returns 0.

MyCosecant = 1 / S i n ( MyAngle) Ejemplo de Sqrt

En este ejemplo se utiliza el mtodo Sqrt de la clase Math para calcular la raz cuadrada de un nmero: Imports System.Math ' Code will not compile unless placed within a Sub or Function Dim MySqr As Double MySqr = S q r t ( 4) MySqr = S q r t ( 23) MySqr = S q r t ( 0) MySqr = S q r t ( -4) Ejemplo de Tan En este ejemplo se utiliza el mtodo Tan de la clase Math para devolver la tangente de un ngulo: Imports System.Math ' Code will not compile unless placed within a Sub or Function
5

' Returns 2. ' Returns 4.79583152331272. ' Returns 0. ' Returns NaN (not a number).

UNITEK GRUPO IDAT

Dim MyAngle, MyCotangent As Double MyAngle = 1.3 ' Define angle in radians. ' Calculate cotangent.

MyCotangent = 1 / T a n ( MyAngle) Requisitos Espacio de nombres: System.Math Ensamblado: mscorlib (en mscorlib.dll) Vea tambin Rnd (Funcin)

Devuelve un nmero aleatorio de tipo Single. P u b l i c S h a r e d F u n c t i o n R n d [( number) ] As Single Parmetro number Opcional. Cualquier valor Single o expresin Single vlida. Valores devueltos Si number es Menor que cero Rnd genera Siempre el mismo nmero, utilizando number como valor de inicializacin. El siguiente nmero aleatorio en la secuencia. El nmero generado por ltima vez. El siguiente nmero aleatorio en la secuencia.

Mayor que cero Igual a cero Omitido Comentarios

La funcin Rnd devuelve un valor menor que 1, pero mayor o igual a cero.

UNITEK GRUPO IDAT

El valor de number determina la forma en que Rnd genera un nmero aleatorio: Para cualquier valor de inicializacin dado, se genera la misma secuencia de nmeros ya que cada llamada sucesiva que se hace a la funcin Rnd utiliza el nmero anteriormente generado como inicializacin para el siguiente nmero de la secuencia. Antes de llamar a la funcin Rnd, utilice la instruccin Randomize sin argumento para inicializar el generador de nmeros aleatorios con un valor de inicializacin basado en el temporizador del sistema. Para producir enteros aleatorios en un intervalo dado, utilice esta frmula: CInt(Int((upperbound - lowerbound + 1) * Rnd() + lowerbound)) En este caso, upperbound representa el nmero mayor del intervalo y lowerbound, el menor del intervalo. Nota Para repetir secuencias de nmeros aleatorios, llame a la funcin Rnd con un argumento negativo justo antes de utilizar Randomize con un argumento numrico. Si utiliza Randomize con el mismo valor que number, no se repetir la secuencia anterior. Nota de seguridad Debido a que la instruccin Random y la funcin Rnd comienzan con un valor de inicializacin y generan nmeros que quedan dentro de un intervalo finito, otra persona que conozca el algoritmo utilizado para generar los resultados puede predecirlos. Por tanto, la instruccin Random y la funcin Rnd no se deben utilizar para generar nmeros aleatorios utilizados en criptografa. Ejemplo En el siguiente ejemplo se utiliza la funcin Rnd para generar un valor entero aleatorio entre 1 y 6. Dim MyValue As Integer MyValue = CInt(Int((6 * R n d ( ) ) + 1)) ' Generate random value between 1 and 6. Int, Fix (Funciones) Devuelven la parte entera de un nmero.
7

UNITEK GRUPO IDAT

P u b l i c S h a r e d F u n c t i o n I n t ( B y V a l number As { Double | Integer | Long | Object | Short | Single | Decimal } ) As { Double | Integer | Long | Object | Short | Single | Decimal } P u b l i c S h a r e d F u n c t i o n F i x ( B y V a l number As { Double | Integer | Long | Object | Short | Single | Decimal } ) As { Double | Integer | Long | Object | Short | Single | Decimal } Parmetro number Requerido. Un nmero de tipo Double o cualquier expresin numrica vlida. Si number contiene Nothing, se devolver Nothing.

Excepciones o errores Tipo de excepcin ArgumentNullException ArgumentException Nmero de error 5 5 Condicin No se especifica number. Number no es un tipo numrico.

Comentarios Las funciones Int y Fix eliminan la parte decimal de number y devuelven el valor entero resultante. La diferencia entre Int y Fix est en que si number es negativo, Int devolver el primer entero negativo menor o igual que number, mientras que Fix devolver el primer entero negativo mayor o igual que number. Por ejemplo, Int convierte -8,4 en -9 y Fix convierte -8,4 en -8. Por tanto, Fix(number) equivale a Sign(number) * Int(Abs(number)). Ejemplo En el siguiente ejemplo se muestra cmo las funciones Int y Fix devuelven las partes enteras de distintos nmeros. Con argumentos de nmero negativos, la funcin Int devuelve el primer entero negativo menor o igual
8

UNITEK GRUPO IDAT

que el nmero; mientras que Fix devuelve el primer entero negativo mayor o igual que el nmero. En el ejemplo siguiente, deber especificar Option Strict Off porque no se permiten las conversiones implcitas de tipo Double a tipo Integer bajo Option Strict On: Option Strict Off ' Code will not function unless placed within a Sub or Function Dim MyNumber As Integer MyNumber = Int(99.8) MyNumber = Fix(99.8) ' Returns 99. ' Returns 99.

MyNumber = Int(-99.8) MyNumber = Fix(-99.8)

' Returns -100. ' Returns -99.

MyNumber = Int(-99.2) MyNumber = Fix(-99.2)

' Returns -100. ' Returns -99.

Utilice la funcin CInt para convertir explcitamente otros tipos de datos a tipo Integer con Option Strict Off. No obstante, Cint redondea al nmero entero ms prximo en vez de truncar la parte decimal de los nmeros. Por ejemplo: MyNumber = CInt(99.8) MyNumber = CInt(-99.8) MyNumber = CInt(-99.2) ' Returns 100. ' Returns -100. ' Returns -99.

Utilice la funcin CInt sobre el resultado de una llamada a Fix o Int para realizar una conversin explcita a un valor entero sin redondear. Por ejemplo: MyNumber = CInt(Fix(99.8)) MyNumber = CInt(Int(99.8)) Requisitos Espacio de nombres: Microsoft.VisualBasic Mdulo: Conversion
9

' Returns 99. ' Returns 99.

UNITEK GRUPO IDAT

Ensamblado: Tiempo de ejecucin de Microsoft Visual Basic .NET (en Microsoft.VisualBasic.dll) Oct (Funcin) Devuelve una cadena que representa el valor octal de un nmero. P u b l i c S h a r e d F u n c t i o n O c t ( B y V a l Number A s { B y t e | Short | Integer | Long | Object } ) As String Parmetro Number Requerido. Cualquier expresin numrica o de tipo String vlida. Excepciones o errores Tipo de excepcin ArgumentNullException Nmero de error 5 Condicin Number no se ha especificado. Number no es un tipo numrico.

ArgumentException

Comentarios Si Number no es ya un nmero entero, se redondea al nmero entero ms prximo antes de evaluarse. Si Number es Un valor vaco Cualquier otro nmero Oct devuelve Cero (0) Hasta 22 caracteres octales

10

UNITEK GRUPO IDAT

Puede representar nmeros octales directamente anteponiendo &O a los nmeros en el intervalo correcto. Por ejemplo, & O 10 representa el 8 decimal en notacin octal. Ejemplo En este ejemplo se utiliza la funcin Oct para devolver el valor octal de un nmero. Dim MyOct As String MyOct = O c t ( 4) MyOct = O c t ( 8) MyOct = O c t ( 459) Hex (Funcin) Devuelve una cadena que representa el valor hexadecimal de un nmero. Public Shared Function Hex( _ B y V a l Number A s { B y t e | S h o r t | I n t e g e r | L o n g | Object } _ ) As String Parmetro Number Requerido. Cualquier expresin numrica o de tipo String vlida. ' Returns 4. ' Returns 10. ' Returns 713.

Excepciones o errores Tipo de excepcin ArgumentNullException Nmero de error 5 Condicin Number no se ha especificado. Number no es un tipo numrico.

ArgumentException

Comentarios
11

UNITEK GRUPO IDAT

Si Number no es ya un nmero entero, se redondea al nmero entero ms prximo antes de evaluarse. Si Number es Un valor vaco Cualquier valor numrico. Hex devuelve Cero (0) Hasta diecisis caracteres hexadecimales.

Puede representar nmeros hexadecimales directamente si precede los nmeros del intervalo apropiado con &H. Por ejemplo, & H 10 representa el 16 decimal en notacin hexadecimal. Ejemplo En este ejemplo se utiliza la funcin Hex para devolver el valor hexadecimal de un nmero. Dim MyHex As String MyHex = H e x ( 5) MyHex = H e x ( 10) MyHex = H e x ( 459) IsNumeric (Funcin) Devuelve un valor Boolean que indica si una expresin puede evaluarse como un nmero. P u b l i c F u n c t i o n I s N u m e r i c ( B y V a l Expression A s O b j e c t ) A s Boolean Parmetro Expression Requerido. Expresin Object. Comentarios
12

' Returns 5. ' Returns A. ' Returns 1CB.

UNITEK GRUPO IDAT

IsNumeric devuelve True si Expression se reconoce globalmente como un nmero; si no, devuelve False. IsNumeric devuelve True si el tipo de datos de Expression es Short, Integer, Long, Decimal, Single o Short. Tambin devuelve True si Expression es de tipo String y se puede convertir al tipo Double. Devuelve False si Expression es del tipo Date. Ejemplo En este ejemplo se utiliza la funcin IsNumeric para determinar si el contenido de una variable puede evaluarse como un nmero. Dim MyVar As Object Dim MyCheck As Boolean ' ... MyVar = "53" ' Assign value. ' Returns True.

MyCheck = I s N u m e r i c ( MyVar) ' ... MyVar = "459.95"

' Assign value. ' Returns True.

MyCheck = I s N u m e r i c ( MyVar) ' ... MyVar = "45 Help"

' Assign value. ' Returns False.

MyCheck = I s N u m e r i c ( MyVar) IsDate (Funcin)

Devuelve un valor de tipo Boolean que indica si una expresin puede convertirse en una fecha. P u b l i c F u n c t i o n I s D a t e ( B y V a l Expression A s O b j e c t ) A s Boolean Parmetro Expression Requerido. Expresin Object.

13

UNITEK GRUPO IDAT

Comentarios

IsDate devuelve True si la expresin es de tipo Date, o si es una cadena que se puede convertir al tipo Date; si no, devuelve False. Ejemplo En este ejemplo se utiliza la funcin IsDate para determinar si varias variables se pueden convertir a fechas. Dim MyDate, YourDate As Date Dim NoDate As String Dim MyCheck As Boolean MyDate = "February 12, 1969" YourDate = #2/12/1969# NoDate = "Hello" MyCheck = I s D a t e ( MyDate) MyCheck = I s D a t e ( YourDate) MyCheck = I s D a t e ( NoDate) IsError (Funcin) Devuelve un valor de tipo Boolean que indica si una expresin es un tipo de excepcin. P u b l i c F u n c t i o n I s E r r o r ( B y V a l Expression A s O b j e c t ) A s Boolean Parmetro Expression Requerido. Expresin Object. Comentarios IsError devuelve True si la expresin representa una variable Object que se deriva de la clase Exception en el espacio de nombres System. Una excepcin que se deriva de System.Exception puede capturarse con las instrucciones Try...Catch...Finally.
14

' Returns True. ' Returns True. ' Returns False.

UNITEK GRUPO IDAT

Ejemplo

En este ejemplo se utiliza la funcin IsError para comprobar si una expresin representa una excepcin del sistema. Dim ReturnVal As Object Dim BadArg As String Dim MyCheck As Boolean ' ... ReturnVal = New System.ArgumentOutOfRangeException(BadArg) ' ... MyCheck = I s E r r o r ( ReturnVal) IsNothing (Funcin) Devuelve un valor de tipo Boolean que indica si una expresin no tiene ningn objeto asignado. P u b l i c F u n c t i o n I s N o t h i n g ( B y V a l Expression A s O b j e c t ) A s Boolean Parmetro Expression Requerido. Expresin Object. Comentarios IsNothing devuelve True si la expresin representa una variable de tipo Object que no tiene actualmente ningn objeto asignado; en caso contrario, devuelve False. Ejemplo En este ejemplo se utiliza la funcin IsNothing para determinar si una variable de objeto est asociada a alguna instancia de objeto. Dim MyVar As Object Dim MyCheck As Boolean ' ... MyCheck = I s N o t h i n g ( MyVar) ' Returns True.
15

' Name of out-of-range argument.

' Returns True.

' No instance assigned to this variable yet.

UNITEK GRUPO IDAT

' ...

MyVar = "ABCDEF"

' Assign a string instance to the variable. ' Returns False.

MyCheck = I s N o t h i n g ( MyVar) ' ... MyVar = Nothing

' Disassociate the variable from any instance. ' Returns True.

MyCheck = I s N o t h i n g ( MyVar)

Funciones de Cadena
LCase (Funcin) Devuelve una cadena o un carcter convertidos en minscula. P u b l i c S h a r e d F u n c t i o n L C a s e ( B y V a l Value A s C h a r ) A s C h a r

O bien P u b l i c S h a r e d F u n c t i o n L C a s e ( B y V a l Value A s S t r i n g ) A s String Parmetro Value Requerido. Cualquier expresin String o Char vlida. Comentarios Slo las letras maysculas se convierten a minsculas; todas las letras minsculas y los caracteres no alfabticos permanecern inalterados. Ejemplo En el siguiente ejemplo se utiliza la funcin LCase para devolver la versin de una cadena en minscula: Dim UpperCase, LowerCase As String Uppercase = "Hello World 1234" Lowercase = L C a s e ( UpperCase) UCase (Funcin)
16

' String to convert. ' Returns "hello world 1234".

UNITEK GRUPO IDAT

Devuelve una cadena o un carcter que contiene la cadena especificada convertida en maysculas. P u b l i c S h a r e d F u n c t i o n U C a s e ( B y V a l Value A s C h a r ) A s C h a r

O bien P u b l i c S h a r e d F u n c t i o n U C a s e ( B y V a l Value A s S t r i n g ) A s String Parmetro Value Requerido. Cualquier expresin String o Char vlida. Comentarios Slo las letras minsculas se convierten en maysculas; todas la letras maysculas y caracteres sin letra permanecen inalterados. Ejemplo En este ejemplo se utiliza la funcin UCase para devolver la versin en maysculas de una cadena. Dim LowerCase, UpperCase As String LowerCase = "Hello World 1234" UpperCase = U C a s e ( LowerCase) ' String to convert. ' Returns "HELLO WORLD 1234".

Len (Funcin) Devuelve un entero que contiene el nmero de caracteres de una cadena o bien el nmero de bytes necesarios para almacenar una variable. P u b l i c S h a r e d F u n c t i o n L e n ( B y V a l Expression A s { B o o l e a n | Byte | Char | Double | Integer | Long | Object | Short | Single | String | DateTime | Decimal } ) As Integer Parmetros
17

UNITEK GRUPO IDAT

Expression Cualquier expresin String o nombre de variable vlidos. Si Expression es de tipo Object, la funcin Len devuelve el tamao tal como se escribir en el archivo. Comentarios En el caso de tipos definidos por el usuario y variables Object, la funcin Len devuelve el tamao tal como se escribir en el archivo. Si Object contiene una expresin String, devolver la longitud de la cadena. Si Object contiene otro tipo, devolver el tamao del objeto tal como se escribir en el archivo. Nota Puede ocurrir que la funcin Len no alcance a determinar el nmero real de bytes de almacenamiento necesarios cuando se use con cadenas de longitud variable en tipos de datos definidos por el usuario. Nota La funcin LenB de versiones anteriores de Visual Basic devuelve el nmero de bytes, en lugar de caracteres. Se utiliza principalmente para convertir cadenas en aplicaciones de juegos de caracteres de doble byte (DBCS). En Visual Basic .NET, todas las cadenas estn en Unicode y ya no se admite LenB. Ejemplo En este ejemplo se utiliza Len para devolver el nmero de caracteres de una cadena: Dim MyString As String Dim MyLen As Integer MyString = "Hello World" MyLen = L e n ( MyString) ' Initializes variable. ' Returns 11.

Notas de programadores de Smart Device La funcin Len slo acepta como parmetros las variables String y Object. Si Object contiene una expresin String, devolver la longitud de String. Si un parmetro es una referencia a un objeto NULL, la funcin devolver cero. Si un objeto contiene algn otro tipo, se iniciar una excepcin. Mid (Funcin) Devuelve una cadena que a su vez contiene un nmero especificado de caracteres de una cadena.
18

UNITEK GRUPO IDAT

P u b l i c S h a r e d F u n c t i o n M i d ( B y V a l Str A s S t r i n g , B y V a l Start A s I n t e g e r , O p t i o n a l B y V a l Length A s I n t e g e r ) As String Parmetros Str Requerido. Expresin String de la que se devuelven caracteres. Start Requerido. Expresin Integer. Posicin de carcter de Str donde comienza la parte que se va a utilizar. Si Start es mayor que el nmero de caracteres de Str, la funcin Mid devuelve una cadena de longitud cero (""). Start es de base uno. Length Opcional. Expresin Integer. Nmero de caracteres que se va a devolver. Si se omite o si existen menos caracteres del nmero especificado por Length en el texto (incluido el carcter en la posicin Start), se devuelven todos los caracteres desde la posicin de inicio hasta el final de la cadena. Excepciones o errores Tipo de excepcin ArgumentException Comentarios Para determinar el nmero de caracteres de Str, utilice la funcin Len. Nota La funcin MidB de versiones anteriores de Visual Basic devuelve una cadena en bytes, en lugar de caracteres. Se utiliza principalmente para convertir cadenas en aplicaciones de juegos de caracteres de doble byte (DBCS). En Visual Basic .NET, todas las cadenas estn en Unicode y ya no se admite MidB. Ejemplo En este ejemplo se utiliza la funcin Mid para devolver un nmero de caracteres especificado de una cadena. Dim MyString, FirstWord, LastWord, MidWords As String MyString = "Mid Function Demo" ' Creates text string.
19

Nmero de error 5

Condicin Start <= 0 o Length < 0.

UNITEK GRUPO IDAT

FirstWord = M i d ( MyString, 1, 3) LastWord = M i d ( MyString, 14, 4) MidWords = M i d ( MyString, 5)

' Returns "Mid". ' Returns "Demo".

' Returns "Function Demo".

StrConv (Funcin) Devuelve una cadena convertida segn se ha especificado. P u b l i c S h a r e d F u n c t i o n S t r C o n v ( B y V a l Str A s S t r i n g , B y V a l Conversion A s M i c r o s o f t . V i s u a l B a s i c . V b S t r C o n v , O p t i o n a l B y V a l LocaleID A s I n t e g e r , ) A s S t r i n g Parmetros Str Requerido. Expresin String que se va a convertir. Conversion Requerido. Miembro de Microsoft.VisualBasic.VbStrConv . Valor de enumeracin que especifica el tipo de conversin que realizar. LocaleID Opcional. Valor de LocaleID, cuando sea diferente del que figure en el valor LocaleID del sistema. (El valor de LocaleID del sistema es el valor predeterminado.) Configuracin Los valores del argumento Conversion son:
Miembro de la enumeracin Descripcin

VbStrConv.None

No se realiza ninguna conversin

VbStrConv.LinguisticCasing

Usa maysculas o minsculas con arreglo a criterios lingsticos, ms que los del sistema de archivos (predeterminado). Vlido slo con UpperCase y LowerCase.

VbStrConv.UpperCase

Convierte la cadena a maysculas.

VbStrConv.LowerCase

Convierte la cadena a minsculas.

20

UNITEK GRUPO IDAT


VbStrConv.ProperCase Pone en mayscula la primera letra de cada palabra de la cadena.

VbStrConv.Wide*

Convierte los caracteres estrechos (ancho medio) de la cadena en caracteres anchos (ancho completo).

VbStrConv.Narrow*

Convierte los caracteres anchos (ancho completo) de la cadena en caracteres estrechos (ancho medio).

VbStrConv.Katakana**

Convierte los caracteres Hiragana de la cadena en caracteres Katakana.

VbStrConv.Hiragana**

Convierte los caracteres Katakana de la cadena en caracteres Hiragana.

VbStrConv.SimplifiedChinese*

Convierte los caracteres de chino tradicional a chino simplificado.

VbStrConv.TraditionalChinese*

Convierte los caracteres de chino simplificado en chino tradicional.

* **

Se aplica a configuraciones regionales asiticas. Slo se aplica a Japn.

Nota Estas constantes se especifican en Common Language Runtime de .NET. Por tanto, pueden utilizarse en cualquier lugar del cdigo en vez de sus valores reales. La mayora de ellas pueden combinarse; por ejemplo, UpperCase + Wide, excepto cuando se excluyan mutuamente; por ejemplo, VbStrConv.Wide + VbStrConv.Narrow. stos son los separadores de palabras vlidos para el uso de maysculas y minsculas correspondiente: nulo (Chr$(0)), tabulacin horizontal (Chr$(9)), avance de lnea (Chr$(10)), tabulacin vertical (Chr$(11)), avance de lnea (Chr$(12)), retorno de carro (Chr$(13)), espacio (juego de caracteres de un solo byte) (Chr$(32)). En Asia oriental, el valor real de un espacio, que puede ser de uno o dos bytes, vara en funcin del pas o regin.
21

UNITEK GRUPO IDAT

Excepciones o errores Nmero de error 5 Condicin LocaleID no admitido, Conversion < 0 > 2048, o conversin no admitida para la configuracin regional especificada.

Tipo de excepcin ArgumentException

Comentarios Las constantes VbStrConv.Wide, VbStrConv.Narrow, VbStrConv.Simplified Chinese , VbStrConv.Traditional Chinese , VbStrConv.Katakana y VbStrConv.Hiragana pueden generar errores en tiempo de ejecucin cuando se utilizan en configuraciones regionales donde no son aplicables, pero no siempre es as: las constantes VbStrConv.Katakana y VbStrConv.Hiragana se pueden utilizar en un sistema no japons que tenga instalado el paquete de idioma japons. Adems, el uso de las constantes VbStrConv.Wide y VbStrConv.Narrow se admite en cualquier sistema que tenga instalado un idioma de Asia oriental. Ejemplo En este ejemplo se pone un texto todo en minsculas. Dim sText, sNewText As String sText = "Hello World" sNewText = S t r C o n v ( sText, VbStrConv.LowerCase) Debug.WriteLine (sNewText) ' Outputs "hello world".

Notas de programadores de Smart Device No se admite esta funcin. Str (Funcin) Devuelve la representacin String de un nmero.
22

UNITEK GRUPO IDAT

P u b l i c S h a r e d F u n c t i o n S t r ( B y V a l Number A s O b j e c t ) A s String Parmetro Number Requerido. Object que contiene cualquier expresin numrica vlida.

Excepciones o errores Tipo de excepcin ArgumentNullException InvalidCastException Comentarios Cuando los nmeros se conviertan a cadenas, siempre se reservar un espacio inicial para el signo de Number. Si Number es positivo, la cadena devuelta contiene un espacio inicial; y el signo ms se da por supuesto. Un nmero negativo incluir el signo menos (-) y ningn espacio inicial. Use la funcin Format para convertir valores numricos a los que desee aplicar formato de fecha, hora o moneda, u otros formatos definidos por el usuario. Al contrario de lo que ocurre con la funcin Str, la funcin Format no incluye ningn espacio inicial para el signo de Number. La funcin Str slo reconoce el punto (.) como separador decimal vlido. Si se utilizan separadores decimales diferentes, como sucede en aplicaciones internacionales, debe utilizar la funcin CStr para convertir un nmero en una cadena. Ejemplo En este ejemplo se utiliza la funcin Str para devolver una representacin String de un nmero. Cuando los nmeros positivos se conviertan a cadenas, siempre se reservar un espacio inicial para su signo. Dim MyString As String
23

Nmero de error 5 5

Condicin Number no se ha especificado. Number no es un tipo numrico.

UNITEK GRUPO IDAT

MyString = S t r ( 459)

' Returns " 459". ' Returns "-459.65". ' Returns " 459.001".

MyString = S t r ( -459.65) MyString = S t r ( 459.001) Requisitos

Espacio de nombres: Microsoft.VisualBasic Mdulo: Conversion Ensamblado: Tiempo de ejecucin de Microsoft Visual Basic .NET (en Microsoft.VisualBasic.dll) Chr, ChrW (Funciones) Devuelve el carcter asociado al cdigo de carcter especificado. P u b l i c F u n c t i o n C h r ( B y V a l CharCode A s I n t e g e r ) A s C h a r P u b l i c F u n c t i o n C h r W ( B y V a l CharCode A s I n t e g e r ) A s C h a r Parmetro CharCode Requerido. Expresin Integer que representa el punto de cdigo (code point) o cdigo de carcter del carcter. Si CharCode est fuera del intervalo comprendido entre -32768 y 65535, se produce un error ArgumentException. Excepciones o errores Tipo de excepcin ArgumentException Comentarios El intervalo asimtrico aceptado para CharCode compensa las diferencias de almacenamiento entre los tipos de datos Short e Integer. Por ejemplo, &H8E01 es -29183 como Short pero +36353 como Integer. De este modo tambin se facilita la compatibilidad con Visual Basic 6.0.
24

Nmero de error 5

Condicin CharCode < -32768 o > 65535.

UNITEK GRUPO IDAT

Chr utiliza la clase Encoding del espacio de nombres System.Text para determinar si el subproceso actual est utilizando un juego de caracteres de un solo byte (SBCS) o un juego de caracteres de doble byte (DBCS). Despus utiliza como punto de cdigo el CharCode del juego correspondiente. El intervalo puede ser del 0 al 255 para caracteres SBCS y del -32768 al 65535 para caracteres DBCS. El carcter devuelto depende de la pgina de cdigos del subproceso actual, que est incluida en la propiedad ANSICodePage de la clase TextInfo. Se puede obtener TextInfo.ANSICodePage si se especifica System.Globalization.CultureInfo.CurrentCulture.TextInfo.ANSICodeP age. ChrW utiliza CharCode como punto de cdigo Unicode. El intervalo no depende de la configuracin de referencia cultural y pgina de cdigos del subproceso actual. Los valores del -32768 al -1 se tratan igual que los valores del intervalo del +32768 al +65535. Los nmeros del 0 al 31 son los mismos que los cdigos ASCII estndar no imprimibles. Por ejemplo, Chr(10) devuelve un carcter de avance de lnea. Nota La funcin ChrB de versiones anteriores de Visual Basic devuelve un nico byte. Se utiliza principalmente para convertir cadenas en aplicaciones de juegos de caracteres de doble byte (DBCS). En Visual Basic .NET, todas las cadenas estn en Unicode y ya no se admite ChrB. Ejemplo En este ejemplo se utiliza la funcin Chr para devolver el carcter asociado al cdigo de carcter especificado. Dim MyChar As Char MyChar = C h r ( 65) MyChar = C h r ( 97) MyChar = C h r ( 62) ' Returns "A". ' Returns "a". ' Returns ">".
25

UNITEK GRUPO IDAT

MyChar = C h r ( 37)

' Returns "%".

Funciones De Fecha
Day (Funcin) Devuelve un valor Integer entre 1 y 31 que representa el da del mes. P u b l i c F u n c t i o n D a y ( B y V a l DateValue A s D a t e T i m e ) A s Integer Parmetro DateValue Requerido. Valor Date del cual se desea extraer el da. Comentarios Si se utiliza la funcin Day, es probable que se tenga que calificar con el espacio de nombres Microsoft.VisualBasic, porque el espacio de nombres System.Windows.Forms define Day como una enumeracin. El ejemplo siguiente muestra cmo se resuelve esta ambigedad mediante la calificacin de Day: Dim ThisDay As Integer = Microsoft.VisualBasic.DateAndTime.Day(Now) Tambin se puede obtener el da del mes llamando a DatePart y especificando DateInterval.Day para el argumento Interval. Ejemplo En este ejemplo se utiliza la funcin Day para obtener el da del mes de una fecha especificada. En el entorno de desarrollo, el literal de fecha se muestra en formato corto estndar (por ejemplo "12/02/1969") con los valores de configuracin regional del cdigo correspondiente. Dim MyDate As Date Dim MyDay As Integer
26

UNITEK GRUPO IDAT

MyDate = #2/12/1969# format.

' Assign a date using standard short ' MyDay

MyDay = Microsoft.VisualBasic.DateAndTime.D a y ( MyDate) contains 12. Day se califica para distinguirlo de la enumeracin System.Windows.Forms.Day. Requisitos Espacio de nombres: Microsoft.VisualBasic Mdulo: DateAndTime

Ensamblado: Tiempo de ejecucin de Microsoft Visual Basic .NET (en Microsoft.VisualBasic.dll) Weekday (Funcin) Devuelve un valor Integer que contiene un nmero que representa el da de la semana. P u b l i c F u n c t i o n W e e k d a y ( _ B y V a l DateValue A s D a t e T i m e , O p t i o n a l B y V a l DayOfWeek A s F i r s t D a y O f W e e k = FirstDayOfWeek.Sunday) As Integer

27

UNITEK GRUPO IDAT

Valor de enumeracin FirstDayOfWeek.System

Valor Descripcin 0 Primer da de la semana especificado en la configuracin del sistema Domingo (predeterminado) Lunes (de acuerdo con la norma ISO 8601, seccin 3.17) Martes Mircoles Jueves Viernes Sbado

FirstDayOfWeek.Sunday FirstDayOfWeek.Monday

1 2

FirstDayOfWeek.Tuesday FirstDayOfWeek.Wednesday FirstDayOfWeek.Thursday FirstDayOfWeek.Friday FirstDayOfWeek.Saturday Parmetros

3 4 5 6 7

DateValue Requerido. Valor Date del cual se desea determinar el da de la semana. DayOfWeek Opcional. Valor elegido de la enumeracin FirstDayOfWeek que especifica el primer da de la semana. Si no se especifica ningn valor, se utiliza FirstDayOfWeek.Sunday. Configuracin El argumento DayOfWeek puede tener uno de los siguientes valores: Excepciones o errores Tipo de excepcin ArgumentException Nmero de error 5 Condicin DayofWeek es menor que 0 o mayor que 7.

28

UNITEK GRUPO IDAT

Comentarios

El valor devuelto por la funcin Weekday corresponde a los valores de la enumeracin FirstDayOfWeek; es decir, 1 indica domingo y 7 indica sbado. Si DayOfWeek es inferior a 0 o mayor que 7, se produce un error ArgumentException. Nota Weekday utiliza la configuracin de calendario actual de la propiedad CurrentCulture de la clase CultureInfo en el espacio de nombres System.Globalization . Los valores CurrentCulture predeterminados estn determinados por la configuracin del Panel de control. Ejemplo En este ejemplo se utiliza la funcin Weekday para obtener el da de la semana de una fecha especificada. Dim MyDate As Date Dim MyWeekDay As Integer MyDate = #2/12/1969# ' Assign a date. ' MyWeekDay contains 4 because

MyWeekDay = W e e k d a y ( MyDate)

' MyDate represents a Wednesday. WeekdayName (Funcin) Devuelve un valor String que contiene el nombre del da de la semana especificado. P u b l i c F u n c t i o n W e e k d a y N a m e ( B y V a l WeekDay A s I n t e g e r , O p t i o n a l B y V a l Abbreviate A s B o o l e a n = F a l s e , O p t i o n a l B y V a l FirstDayOfWeekValue A s F i r s t D a y O f W e e k = FirstDayOfWeek.System ) As String Parmetros WeekDay Requerido. Integer. Designacin numrica del da de la semana, entre 1 y 7; 1 indica el primer da de la semana y 7 indica el ltimo da de la semana. Las identidades del primer y ltimo da dependen de la configuracin de FirstDayOfWeekValue.
29

UNITEK GRUPO IDAT

Abbreviate Opcional. Valor Boolean que indica si se abrevia el nombre del da de la semana. Si se omite, el valor predeterminado es False, que significa que el nombre del da de la semana no se abrevia. FirstDayOfWeekValue Opcional. Valor elegido de la enumeracin FirstDayOfWeek que especifica el primer da de la semana. Si no se especifica ningn valor, se utiliza FirstDayOfWeek.System. Configuracin El argumento FirstDayOfWeekValue puede tener uno de los siguientes valores:

Valor de enumeracin FirstDayOfWeek.System

Valor 0

Descripcin Primer da de la semana especificado en la configuracin del sistema (valor predeterminado) Domingo Lunes (de acuerdo con la norma ISO 8601, seccin 3.17) Martes Mircoles Jueves Viernes Sbado

FirstDayOfWeek.Sunday FirstDayOfWeek.Monday

1 2

FirstDayOfWeek.Tuesday

FirstDayOfWeek.Wednesday 4 FirstDayOfWeek.Thursday FirstDayOfWeek.Friday FirstDayOfWeek.Saturday 5 6 7

Excepciones o errores Tipo de excepcin ArgumentException Nmero de error 5 Condicin WeekDay es menor que 1 o mayor
30

UNITEK GRUPO IDAT

que 7, o FirstDayOfWeekValue es menor que 0 o mayor que 7. Comentarios La cadena devuelta por WeekdayName no depende nicamente de los argumentos de entrada, sino tambin de los valores de la Configuracin regional especificados en el Panel de control de Windows. Si WeekDay es menor que 1 o mayor que 7, o si FirstDayOfWeekValue es menor que 0 o mayor que 7, se produce un error ArgumentException. Nota WeekdayName utiliza la configuracin de calendario actual de la propiedad CurrentCulture de la clase CultureInfo en el espacio de nombres System.Globalization. Los valores CurrentCulture predeterminados estn determinados por la configuracin del Panel de control. Requisitos Espacio de nombres: Microsoft.VisualBasic Mdulo: DateAndTime Ensamblado: Tiempo de ejecucin de Microsoft Visual Basic .NET (en Microsoft.VisualBasic.dll) Month (Funcin) Devuelve un valor Integer entre 1 y 12 que representa el mes del ao. P u b l i c F u n c t i o n M o n t h ( B y V a l DateValue A s D a t e T i m e ) A s Integer Parmetro DateValue Requerido. Valor Date del cual se desea extraer el mes. Tambin se puede obtener el mes del ao llamando a DatePart y especificando DateInterval.Month para el argumento Interval.
31

UNITEK GRUPO IDAT

Ejemplo

En este ejemplo se utiliza la funcin Month para obtener el mes de una fecha especificada. En el entorno de desarrollo, el literal de fecha se muestra en formato corto de fecha con los valores de configuracin regional del cdigo correspondiente. Dim MyDate As Date Dim MyMonth As Integer MyDate = #2/12/1969# ' Assign a date. ' MyMonth contains 2.

MyMonth = M o n t h ( MyDate) MonthName (Funcin)

Devuelve un valor String que contiene el nombre del mes especificado. P u b l i c F u n c t i o n M o n t h N a m e ( B y V a l Month A s I n t e g e r , O p t i o n a l B y V a l Abbreviate A s B o o l e a n = F a l s e ) A s String

Parmetros Month Requerido. Integer. Designacin numrica del mes, entre 1 y 13; 1 indica el mes de enero y 12 indica el mes de diciembre. Se puede utilizar el valor 13 con un calendario de 13 meses. Si el sistema est utilizando un calendario de 12 meses y Month es 13, MonthName devuelve una cadena vaca.

Abbreviate Opcional. Valor Boolean que indica si se va a abreviar el nombre del mes. Si se omite, el valor predeterminado es False, que significa que el nombre del mes no se abrevia. Excepciones o errores Tipo de excepcin ArgumentException Nmero de error 5 Condicin Month es menor que 1 o mayor que 13.

Comentarios
32

UNITEK GRUPO IDAT

La cadena devuelta por MonthName no depende nicamente de los argumentos de entrada, sino tambin de los valores de la Configuracin regional especificados en el Panel de control de Windows. Si Month es inferior a 1 o mayor que 13, se produce un error ArgumentException. Nota MonthName utiliza la configuracin de calendario actual de la propiedad CurrentCulture de la clase CultureInfo en el espacio de nombres System.Globalization . Los valores CurrentCulture predeterminados estn determinados por la configuracin del Panel de control. Ejemplo En este ejemplo se utiliza la funcin MonthName para determinar el nombre del mes, a partir del entero dado. El valor Boolean determinar si se muestra el nombre completo (False) o el nombre abreviado (True). Dim MyMonth As Integer Dim Name As String MyMonth = 4 Name = M o n t h N a m e ( MyMonth, True) abbreviated name. Msgbox(Name) Requisitos Espacio de nombres: Microsoft.VisualBasic Mdulo: DateAndTime Ensamblado: Tiempo de ejecucin de Microsoft Visual Basic .NET (en Microsoft.VisualBasic.dll) Vea tambin ' "True" returns an

' Name contains "Apr".

Year (Funcin) Devuelve un valor Integer entre 1 y 9999 que representa el ao.
33

UNITEK GRUPO IDAT

P u b l i c F u n c t i o n Y e a r ( B y V a l DateValue A s D a t e T i m e ) A s Integer Parmetro DateValue Requerido. Valor Date del cual se desea extraer el ao. Tambin se puede obtener el ao llamando a DatePart y especificando DateInterval.Year para el argumento Interval. Ejemplo En este ejemplo se utiliza la funcin Year para obtener el ao de una fecha especificada. En el entorno de desarrollo, el literal de fecha se muestra en formato corto de fecha con los valores de configuracin regional del cdigo correspondiente. Dim MyDate As Date Dim MyYear As Integer MyDate = #2/12/1969# MyYear = Y e a r ( MyDate) Requisitos Espacio de nombres: Microsoft.VisualBasic Mdulo: DateAndTime Ensamblado: Tiempo de ejecucin de Microsoft Visual Basic .NET (en Microsoft.VisualBasic.dll) ' Assign a date. ' MyYear contains 1969.

DateDiff (Funcin) Devuelve un valor Long que especifica el nmero de intervalos de tiempo entre dos valores Date. P u b l i c O v e r l o a d s F u n c t i o n D a t e D i f f ( B y V a l Interval A s D a t e I n t e r v a l , B y V a l Date1 A s
34

UNITEK GRUPO IDAT

D a t e T i m e , B y V a l Date2 A s D a t e T i m e , O p t i o n a l B y V a l DayOfWeek As FirstDayOfWeek = FirstDayOfWeek.Sunday,Optional ByVal WeekOfYear A s F i r s t W e e k O f Y e a r = FirstWeekOfYear.Jan1) As Long

O bien P u b l i c O v e r l o a d s F u n c t i o n D a t e D i f f ( B y V a l Interval A s S t r i n g , B y V a l Date1 A s O b j e c t , B y V a l Date2 A s O b j e c t , O p t i o n a l B y V a l DayOfWeek A s F i r s t D a y O f W e e k = F i r s t D a y O f W e e k . S u n d a y , O p t i o n a l B y V a l WeekOfYear A s F i r s t W e e k O f Y e a r = FirstWeekOfYear.Jan1) As Long Parmetros Interval Requerido. Valor de enumeracin DateInterval o expresin String que representa el intervalo de tiempo que se desea utilizar como unidad de diferencia entre Date1 y Date2.

Date1, Date2 Requerido. Date. Dos valores de fecha u hora que se desean utilizar en el clculo. El valor de Date1 se sustrae del valor de Date2 para obtener la diferencia. Ninguno de los dos valores se modifica en el programa que realiza la llamada. DayOfWeek Opcional. Valor elegido de la enumeracin FirstDayOfWeek que especifica el primer da de la semana. Si no se especifica ningn valor, se utiliza FirstDayOfWeek.Sunday. WeekOfYear Opcional. Valor elegido de la enumeracin FirstWeekOfYear que especifica la primera semana del ao. Si no se especifica ningn valor, se utiliza FirstWeekOfYear.Jan1 . Configuracin El argumento Interval puede tener uno de los siguientes valores: Valor de enumeracin DateInterval.Day DateInterval.DayOfYear Cadena d y Unidad de diferencia temporal Da Da

35

UNITEK GRUPO IDAT

DateInterval.Hour DateInterval.Minute DateInterval.Month DateInterval.Quarter DateInterval.Second DateInterval.Weekday

h n m q s w

Hora Minuto Mes Trimestre Segundo Semana Semana del calendario Ao

DateInterval.WeekOfYear ww DateInterval.Year yyyy

El argumento DayOfWeek puede tener uno de los siguientes valores: Valor de enumeracin FirstDayOfWeek.System Valor 0 Descripcin Primer da de la semana especificado en la configuracin del sistema Domingo (predeterminado) Lunes (de acuerdo con la norma ISO 8601, seccin 3.17) Martes Mircoles Jueves Viernes
36

FirstDayOfWeek.Sunday FirstDayOfWeek.Monday

1 2

FirstDayOfWeek.Tuesday

FirstDayOfWeek.Wednesday 4 FirstDayOfWeek.Thursday FirstDayOfWeek.Friday 5 6

UNITEK GRUPO IDAT

FirstDayOfWeek.Saturday

Sbado

El argumento WeekOfYear puede tener uno de los siguientes valores: Valor de enumeracin FirstWeekOfYear.System Valor 0 Descripcin Primera semana del ao especificada en la configuracin del sistema Semana en la que se encuentra el 1 de enero (predeterminado) Semana que contiene al menos cuatro das del nuevo ao (de acuerdo con la norma ISO 8601, seccin 3.17) Primera semana completa del nuevo ao

FirstWeekOfYear.Jan1

FirstWeekOfYear.FirstFourDays 2

FirstWeekOfYear.FirstFullWeek 3

Excepciones o errores Tipo de excepcin ArgumentException ArgumentException Nmero de error 5 5 Condicin Interval no vlido. Date o DayofWeek quedan fuera del intervalo. Date1 o Date2 son tipos no vlidos.

InvalidCastException

13

Comentarios Se puede utilizar la funcin DateDiff para determinar el nmero de intervalos de tiempo especificados que existen entre dos valores de fecha u

37

UNITEK GRUPO IDAT

hora. Por ejemplo, con DateDiff podra calcular el nmero de das entre dos fechas o el nmero de semanas entre hoy y el ltimo da del ao. Si Interval se establece en DateInterval.DayOfYear, se trata igual que DateInterval.Day, porque DayOfYear no es una unidad significativa para un intervalo de tiempo. Si Interval se establece en DateInterval.WeekOfYear , el valor devuelto representa el nmero de semanas entre el primer da de la semana que contiene Date1 y el primer da de la semana que contiene Date2. El ejemplo siguiente muestra cmo este procedimiento genera resultados distintos de DateInterval.Weekday. Dim DatTim1 As Date = #1/4/2001# Dim DatTim2 As Date = #1/9/2001# ' This is a Thursday. ' This is the next Tuesday.

' Assume Sunday is specified as first day of the week. Dim WD As Long = D a t e D i f f ( DateInterval.Weekday, DatTim1, DatTim2) Dim WY As Long = D a t e D i f f ( DateInterval.WeekOfYear, DatTim1, DatTim2) En el ejemplo anterior, DateDiff devuelve 0 a WD porque la diferencia entre las dos fechas es menor de siete das, pero devuelve 1 a WY porque existe una diferencia de siete das entre los primeros das de las respectivas semanas del calendario. Si Interval se establece en DateInterval.Year , el valor devuelto se calcula meramente a partir de las partes del ao Date1 y Date2. Como Date1 y Date2 son del tipo de datos Date, contienen valores precisos de fecha y hora en pasos (ticks) de 100 nanosegundos en el temporizador del sistema. Sin embargo, DateDiff siempre devuelve el nmero de intervalos de tiempo como un valor Long.

38

UNITEK GRUPO IDAT

Si Date1 representa una fecha y hora posteriores a Date2, DateDiff devuelve un nmero negativo. Si algn argumento tiene un valor no vlido, se produce un error ArgumentException. Si el argumento Date1 o Date2 tiene un valor que no puede convertirse a un valor Date vlido, se produce un error InvalidCastException. Nota Al comparar el 31 de diciembre con el 1 de enero del ao siguiente, DateDiff devolver 1 para DateInterval.Year , DateInterval.Quarter o DateInterval.Month , aunque slo haya pasado un da. Puesto que todos los valores Date se basan en una estructura DateTime, sus mtodos proporcionan opciones adicionales para buscar intervalos de tiempo. Por ejemplo, se puede utilizar el mtodo Subtract de cualquiera de sus formas sobrecargadas. Uno de ellos sustrae un TimeSpan de una variable Date para devolver otro valor Date; el otro sustrae un valor Date para devolver un TimeSpan. Se puede temporizar un proceso para saber cuntos milisegundos tardar, como en el caso siguiente: Dim StartTime As Date = Now ' Starting date/time.

' Run the process that is to be timed. Dim RunLength As System.TimeSpan = Now.Subtract(StartTime) Dim Millisecs As Integer = RunLength.Milliseconds Ejemplo En este ejemplo se utiliza la funcin DateDiff para mostrar el nmero de das entre una fecha dada y la fecha actual. Dim FirstDate, Msg As String Dim SecondDate As Date FirstDate = InputBox("Enter a date") SecondDate = CDate(FirstDate) Msg = "Days from today: " & D a t e D i f f ( DateInterval.Day, Now, SecondDate) MsgBox (Msg)
39

' Declare variables.

DatePart (Funcin)

UNITEK GRUPO IDAT

Devuelve un valor Integer que contiene el componente especificado de un valor Date dado. P u b l i c O v e r l o a d s F u n c t i o n D a t e P a r t ( B y V a l Interval A s D a t e I n t e r v a l , B y V a l DateValue A s D a t e T i m e , O p t i o n a l B y V a l FirstDa yOfWeekValue A s F i r s t D a y O f W e e k = V b S u n d a y , O p t i o n a l B y V a l F irstWeekOfYearValue A s F i r s t W e e k O f Y e a r = VbFirstJan1) As Integer

O bien P u b l i c O v e r l o a d s F u n c t i o n D a t e P a r t ( B y V a l Interval A s S t r i n g , B y V a l DateValue A s O b j e c t , O p t i o n a l B y V a l DayOfWeek A s F i r s t D a y O f W e e k = F i r s t D a y O f W e e k . S u n d a y , O p t i o n a l B y V a l Wee kOfYear A s F i r s t W e e k O f Y e a r = FirstWeekOfYear.Jan1) As Integer Parmetros Interval Requerido. Valor de enumeracin DateInterval o expresin String que representa la parte del valor de fecha u hora que se desea devolver. DateValue Requerido. Valor Date que se desea evaluar. FirstDayOfWeekValue Opcional. Valor elegido de la enumeracin FirstDayOfWeek que especifica el primer da de la semana. Si no se especifica ningn valor, se utiliza FirstDayOfWeek.Sunday. FirstWeekOfYearValue Opcional. Valor elegido de la enumeracin FirstWeekOfYear que especifica la primera semana del ao. Si no se especifica ningn valor, se utiliza FirstWeekOfYear.Jan1 . Configuracin El argumento Interval puede tener uno de los siguientes valores: Parte del valor de fecha u hora devuelta Da del mes (del 1 al 31)
40

Valor de enumeracin DateInterval.Day

Cadena d

UNITEK GRUPO IDAT

DateInterval.DayOfYear DateInterval.Hour DateInterval.Minute DateInterval.Month DateInterval.Quarter DateInterval.Second DateInterval.Weekday

y h n m q s w

Da del ao (del 1 al 366) Hora Minuto Mes Trimestre Segundo Da de la semana (del 1 al 7) Semana del ao (de la 1 a la 53) Ao

DateInterval.WeekOfYear ww DateInterval.Year yyyy

El argumento FirstDayOfWeekValue puede tener uno de los siguientes valores: Valor de enumeracin FirstDayOfWeek.System Valor 0 Descripcin Primer da de la semana especificado en la configuracin del sistema Domingo (predeterminado) Lunes (de acuerdo con la norma ISO 8601, seccin 3.17) Martes Mircoles Jueves

FirstDayOfWeek.Sunday FirstDayOfWeek.Monday

1 2

FirstDayOfWeek.Tuesday

FirstDayOfWeek.Wednesday 4 FirstDayOfWeek.Thursday 5

41

UNITEK GRUPO IDAT

FirstDayOfWeek.Friday FirstDayOfWeek.Saturday

6 7

Viernes Sbado

El argumento FirstWeekOfYearValue puede tener uno de los siguientes valores: Valor de enumeracin FirstWeekOfYear.System Valor 0 Descripcin Primera semana del ao especificada en la configuracin del sistema Semana en la que se encuentra el 1 de enero (predeterminado) Semana que contiene al menos cuatro das del nuevo ao (de acuerdo con la norma ISO 8601, seccin 3.17) Primera semana completa del nuevo ao

FirstWeekOfYear.Jan1

FirstWeekOfYear.FirstFourDays 2

FirstWeekOfYear.FirstFullWeek 3

Excepciones o errores Tipo de excepcin ArgumentException InvalidCastException Nmero de error 5 13 Condicin Interval no es vlido. DateValue no se puede convertir a Date.

Comentarios Se puede utilizar la funcin DatePart para evaluar un valor de fecha u hora y devolver un componente especfico. Por ejemplo, se podra utilizar DatePart para calcular el da de la semana o la hora actual.

42

UNITEK GRUPO IDAT

Si se elige DateInterval.Weekday para el argumento Interval, el valor devuelto es coherente con los valores de la enumeracin FirstDayOfWeek. Si elige DateInterval.WeekOfYear , DatePart utiliza las clases Calendar y CultureInfo del espacio de nombres System.Globalization para determinar la configuracin actual. El argumento FirstDayOfWeekValue afecta a los clculos que utilizan los valores DateInterval.Weekday y DateInterval.WeekOfYear para Interval. El argumento FirstWeekOfYearValue afecta a los clculos que especifican DateInterval.WeekOfYear para Interval. Si algn argumento tiene un valor no vlido, se produce un error ArgumentException. Si el argumento DateValue tiene un valor que no puede convertirse a un valor Date vlido, se produce un error InvalidCastException. Puesto que todos los valores Date se basan en una estructura DateTime, sus mtodos proporcionan opciones adicionales para recuperar partes de fecha u hora. Por ejemplo, se puede obtener el valor de fecha completo de una variable Date, con el valor de hora establecido en medianoche, como se muestra a continuacin: Dim CurrDatTim As Date = Now ' Current date and time. ' At midnight.

Dim LastMidnight As Date = CurrDatTim.Date Ejemplo

En este ejemplo se utiliza la funcin DatePart sobre una fecha para mostrar el trimestre del ao en que se produce. Dim FirstDate, Msg As String Dim SecondDate As Date FirstDate = InputBox("Enter a date:") SecondDate = CDate(FirstDate)
43

'Declare variables.

UNITEK GRUPO IDAT

Msg = "Quarter: " & D a t e P a r t ( DateInterval.Quarter, SecondDate) MsgBox (Msg)

44

Вам также может понравиться