Está en la página 1de 37

CONSULTA

TICS APLICADAS

NOMBRES:
JARLEXON TORO
BRAYAN SNEIDER TORO

INSTIRUTO TECNOLOGICO DEL PUTUMAYO


MOCOA PUTUMAYO
18/06/2019
1-FUNCIONES DE CADENAS

Funciones para el tratamiento de cadenas Las funciones de cadena, como su nombre lo indica, se
utilizan para trabajar y tratar las cadenas de caracteres.
A continuación las más importantes de ellas.

- Función Lcase y Ucase.

Estas dos funciones se utilizan para convertir cadenas de texto a minúscula y mayúscula. La
función Lcase cambia o convierte una cadena de texto a minúscula y un ejemplo de como
utilizarla sería así:

EJEMPLO:

La función Ucase. funciona de la misma manera que Lcase pero convierte el contenido de una
cadena a mayúsculas. Por ejemplo, si tenemos un control Label1 que contiene un texto que dice:
"Porcentaje de sueldos", escribiendo la siguiente línea: 

El control Label1 pasaría a mostrar o mejor dicho contener en su propiedad caption:"PORCENTAJE


DE SUELDOS".

-Función Trim, LTrim y RTrim


Estas tres funciones se utilizan para eliminar los espacios vacíos de una cadena. LTrim elimina los
espacios vacíos de la parte izquierda de la cadena, RTrim de la parte derecha y Trim de ambas
partes.

Ejemplos: Tenemos una variable llamada ciudad con el valor " Barcelona".
Para eliminar los espacios vacíos de la izquierda haríamos lo siguiente:

Si en un TextBox quisiéramos borrar todos los espacios vacíos de la parte derecha de la cadena:

 La Función Trim elimina todos los espacios vacíos de ambos lados de la cadena. Ejemplo:

 Función Len. La función Len nos permite conocer la cantidad de caracteres que tiene una
determinada cadena. O sea que esta función nos devuelve un número. Ejemplo:

 La función Len devuelve un número debemos asignar ese número devuelto en una
variable de tipo numérica. Ejemplo:
 Función Asc y Chr. La función Asc nos permite obtener el código ASCII de un de terminado
caracter.

Ejemplo: Si queremos obtener el código ASCII del caracter "a", que es el número 97 podríamos
hacer lo siguiente:

En definitiva la función Asc lleva un solo parámetro de tipo String del cual queremos obtener dicho
número.

La Función Chr actúa a la inversa de la función Asc, esto quiere decir, que a partir de un
determinado número nos devolverá el caracter ASCII. Obviamente que en vez de pasarle a la
función un parámetro String es decir la letra, debemos pasarle un número ASCII y nos devolverá el
carácter asociado.

Ejemplo:

La variable pasa a valer en este caso el caracter "a"

- Función InsTr

La función InStr se utiliza para buscar una cadena o parte de una cadena dentro de otra cadena. Si
la función encuentra la cadena a buscar devuelve un número que representa la posición donde
encontró la cadena, si no la encuentra devuelve un 0. Los parámetros que lleva esta función son:
Como esta función devuelve un número debemos almacenarla en una variable de tipo numérica
para utilizarla.

Ejemplo:

En este ejemplo la función encontró la cadena "mate" en la posición 15, o sea que la variable
posición pasa a valer 15.

Si observamos bien, la función en el primer parámetro, denominado comienzo, nos pide que le
digamos desde que posición comenzar a buscar. En nuestro ejemplo, este parámetro lo obviamos,
esto quiere decir que comenzará desde la posición 0 de la cadena a buscar. Pero podríamos
especificar una posición en particular, por ejemplo desde la 5 , 10 etc..., según lo que necesitemos
hacer.

Otro ejemplo de InsTr :

Este ejemplo, muestra como buscar dentro de un control TextBox, el cual tiene dos opciones, un
botón para buscar la primera frase, y otro que sigue buscando a partir de donde esté ubicda la
selección.

Otro ejemplo de InsTr :

Este ejemplo, muestra como buscar dentro de un control TextBox, el cual tiene dos opciones, un
botón para buscar la primera frase, y otro que sigue buscando a partir de donde esté ubicda la
selección.

Para armar el ejemplo colocar un Textbox llamado Text_Buscar que es donde se ingresará la frase
y otro TextBox llamado Text1 que tendrá el texto. Este ultimo con la propiedad Multiline en True.

También colocar dos CommandButton: Command1 y Command2


Nota: también hay una función similar a Instr llamada InstrRev , y lo que hace es devolver la
posición 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 función instrRev

Extraer de un path o ruta, solo la extensión del archivo Función Left, Right y Mid Estas funciones
son utilizadas para extraer partes de una cadena. La función Left:

tiene 2 parámetros: El primero es la cadena de la cual se extraerán caracteres, y el segundo un


número desde el cual comenzar a extraer caracteres desde la parte izquierda. Ejemplo:
2.FUNCIONES CON NUMEROS

Asc, AscW Devuelve un Integer valor que representa el código de carácter


correspondiente a un carácter.

Chr, ChrW Devuelve el carácter asociado con el código de carácter especificado.

Filter Devuelve una matriz de base cero que contiene un subconjunto de


un String matriz basándose en criterios de filtro especificados.

Format Devuelve una cadena con formato según las instrucciones contenidas en un
formato String expresión.

FormatCurrency Devuelve una expresión con formato como un valor de moneda mediante el
símbolo de moneda definido en el panel de control del sistema.

FormatDateTime Devuelve una expresión de cadena que representa un valor de fecha y hora.

FormatNumber Devuelve una expresión con formato de número.

FormatPercent Devuelve una expresión con formato de porcentaje (es decir, multiplicada por
100) con un carácter % final.
InStr Devuelve un entero que especifica la posición inicial de la primera aparición
de una cadena dentro de otra.

InStrRev Devuelve la posición de la primera aparición de una cadena dentro de otra,


comenzando por el lado derecho de la cadena.

Join Devuelve una cadena creada mediante la combinación de varias subcadenas


contenidas en una matriz.

LCase Devuelve una cadena o un carácter convertidos en minúscula.

Left Devuelve una cadena que contiene un número especificado de caracteres del
lado izquierdo de una cadena.

Len Devuelve un entero que contiene el número de caracteres de una cadena.

LSet Devuelve una cadena alineada a la izquierda que contiene la cadena


especificada ajustada a la longitud especificada.

LTrim Devuelve una cadena que contiene una copia de una cadena especificada sin
espacios iniciales.

Mid Devuelve una cadena que contiene un número especificado de caracteres de


una cadena.

Replace Devuelve una cadena en el que una subcadena especificada se ha


reemplazado por otra subcadena un número especificado de veces.

Right Devuelve una cadena que contiene un número especificado de caracteres


desde el lado derecho de una cadena.

RSet Devuelve una cadena alineada a la derecha que contiene la cadena


especificada ajustada a la longitud especificada.

RTrim Devuelve una cadena que contiene una copia de una cadena especificada sin
espacios finales.

Space Devuelve una cadena que consta del número especificado de espacios.

Split Devuelve una matriz unidimensional de base cero que contiene un número
especificado de subcadenas.
StrComp Devuelve -1, 0 o 1, en función del resultado de una comparación de cadenas.

StrConv Devuelve una cadena convertida según lo especificado.

StrDup Devuelve una cadena u objeto que se compone del carácter especificado
repetido el número de veces especificado.

StrReverse Devuelve una cadena en la que se invierte el orden de los caracteres de una
cadena especificada.

Trim Devuelve una cadena que contiene una copia de una cadena especificada sin
espacios iniciales o finales.

UCase Devuelve una cadena o un carácter que contiene la cadena especificada


convertida en mayúsculas.

Puede usar el Option Compare determinado por la configuración regional del sistema de


criterio de ordenación de instrucción para establecer si se comparan las cadenas con un
texto de mayúsculas y minúsculas ( Text) o por las representaciones binarias internas de los
caracteres () Binary). El método de comparación de texto predeterminado es Binary.

Ejemplo
 Este ejemplo se usa el UCase función para devolver una versión de una
cadena en mayúsculas.
VB
' String to convert.
Dim lowerCase As String = "Hello World
1234"
' Returns "HELLO WORLD 1234".
Dim upperCase As String = UCase(lowerCase)
Ejemplo
 Este ejemplo se usa el LTrim función para quitar los espacios iniciales y
la RTrim espacios de función para quitar los finales de una variable de
cadena. Usa el Trim función para quitar ambos tipos de espacios.
VB
' Initializes string.
Dim testString As String = “ <-Trim-> "
Dim trimString As String
' Returns "<-Trim-> “.
trimString = LTrim(testString)
' Returns " <-Trim->".
trimString = RTrim(testString)
' Returns "<-Trim->".
trimString = LTrim(RTrim(testString))
' Using the Trim function alone achieves the same
result.
' Returns "<-Trim->".
trimString = Trim(testString)

Ejemplo
 Este ejemplo se usa el Mid función devuelva un número especificado de
caracteres de una cadena.
VB
' Creates text string.
Dim testString As String = "Mid Function Demo"
' Returns "Mid".
Dim firstWord As String = Mid(testString, 1, 3)
' Returns "Demo".
Dim lastWord As String = Mid(testString, 14, 4)
' Returns "Function Demo".
Dim midWords As String = Mid(testString, 5)

Ejemplo
 Este ejemplo se utiliza Len para devolver el número de caracteres en una
cadena.
VB
' Initializes variable.
Dim testString As String = "Hello World"
' Returns 11.
Dim testLen As Integer = Len(testString)

Ejemplo
Este ejemplo se usa el InStr función para devolver la posición de la primera
aparición de una cadena dentro de otra.
VB
' String to search in.
Dim searchString As String = "XXpXXpXXPXXP"
' Search for "P".
Dim searchChar As String = "P"

Dim testPos As Integer


' A textual comparison starting at position 4. Returns 6.
testPos = InStr(4, searchString, searchChar, CompareMethod.Text)

' A binary comparison starting at position 1. Returns 9.


testPos = InStr(1, SearchString, SearchChar, CompareMethod.Binary)

' If Option Compare is not set, or set to Binary, return 9.


' If Option Compare is set to Text, returns 3.

testPos = InStr(searchString, searchChar)

' Returns 0.
testPos = InStr(1, searchString, "W")

Ejemplo
En este ejemplo se muestra varios usos de la Format función a los valores de
formato mediante ambos String formatos y formatos definidos por el usuario. 

Para el separador de fecha (/), separador de hora (:) y los indicadores de A.M./P.M.
(t y tt), el formato de salida que muestre su sistema depende de la configuración
regional que use el código. Cuando horas y fechas se muestran en el entorno de
desarrollo, se usan el formato de hora corta y el formato de fecha corta de la
configuración regional del código.

Nota: Para las configuraciones regionales que utilizan un reloj de 24 horas, los
indicadores de A.M./P.M. (t y tt) no muestran nada.

VB

Dim testDateTime As Date = #1/27/2001 5:04:23 PM#


Dim testStr As String
' Returns current system time in the system-defined long time format.
testStr = Format(Now(), "Long Time")
' Returns current system date in the system-defined Long date format.
testStr = Format(Now(), "Long Date")
' Also returns current system date in the system-defined long date

' format, using the single letter code for the format.
testStr = Format(Now (), "D")

' Returns the value of testDateTime in user-defined date/time


formats.
' Returns "5:4:23".
testStr = Format (testDateTime, "h:m:s")
' Returns "05:04:23 PM".
testStr = Format (testDateTime, "hh:mm:ss tt")
' Returns "Saturday, Jan 27 2001".
testStr = Format (testDateTime, "dddd, MMM d yyyy")
' Returns "17:04:23".
testStr = Format (testDateTime, "HH:mm:ss")
' Returns "23".
testStr = Format (23)

' User-defined numeric formats.


' Returns "5,459.40".
testStr = Format (5459.4, "##,##0.00")
' Returns "334.90".
testStr = Format (334.9, "###0.00")
' Returns "500.00%".
testStr = Format (5, "0.00%")
Abs Devuelve el valor absoluto de un número.

Acos Devuelve el ángulo cuyo coseno es el número especificado.

Asin Devuelve el ángulo cuyo seno es el número especificado.

Atan Devuelve el ángulo cuya tangente corresponde al número


especificado.

Atan2 Devuelve el ángulo cuya tangente es el cociente de dos


números especificados.

BigMul Devuelve el producto completo de dos números de 32 bits.

Ceiling Devuelve el valor integral más pequeño que es mayor o igual


que el especificado Decimal o Double.

Cos Devuelve el coseno del ángulo especificado.

Cosh Devuelve el coseno hiperbólico del ángulo especificado.

DivRem Devuelve el cociente de dos enteros con signo de 32 bits o


64 bits y también devuelve el resto en un parámetro de
salida.

Exp Devuelve e (la base de los logaritmos naturales) elevado a


la potencia especificada.

Floor Devuelve el entero más grande que sea menor o igual que el
especificado Decimal o Double número.

IEEERemainder Devuelve el resto resultante de la división de un número


especificado por otro número especificado.

Log Devuelve el logaritmo natural (base e) de un número


especificado o bien el logaritmo de un número especificado
en una base especificada.

Log10 Devuelve el logaritmo en base 10 de un número especificado.

Max Devuelve el mayor de dos números.

Min Devuelve el menor de dos números.

Pow Devuelve un número especificado elevado a la potencia


especificada.

Round Devuelve un Decimal o Double valor se redondea al valor


entero más próximo o a un número especificado de dígitos
fraccionarios.

Sign Devuelve un Integer valor que indica el signo de un número.

Sin Devuelve el seno del ángulo especificado.

Sinh Devuelve el seno hiperbólico del ángulo especificado.

Sqrt Devuelve la raíz cuadrada de un número especificado.

Tan Devuelve la tangente del ángulo especificado.

Tanh Devuelve la tangente hiperbólica del ángulo especificado.

Truncate Calcula la parte entera de un Decimal o Double número.

Para utilizar estas funciones sin calificación, importe el System.Math espacio de


nombres en el proyecto, agregue el código siguiente a la parte superior del archivo
de origen:
VB
Imports System.Math

Ejemplo
Este ejemplo se usa el Abs método de la Math clase para calcular el valor absoluto
de un número.
VB

' Returns 50.3.


Dim MyNumber1 As Double = Math.Abs(50.3)
' Returns 50.3.
Dim MyNumber2 As Double = Math.Abs(-50.3)

Ejemplo
Este ejemplo se usa el Atan método de la Math clase para calcular el valor de pi.
VB
Public Function GetPi() As Double
' Calculate the value of pi.
Return 4.0 * Math.Atan(1.0)
End Function

Ejemplo
Este ejemplo se usa el Cos método de la Math clase para devolver el coseno de un
ángulo.
VB
Public Function Sec(ByVal angle As Double) As Double
' Calculate the secant of angle, in radians.
Return 1.0 / Math.Cos(angle)
End Function

Ejemplo
Este ejemplo se usa el Exp método de la Math clase para devolver e elevado a una
potencia.
VB
Public Function Sinh(ByVal angle As Double) As Double
' Calculate hyperbolic sine of an angle, in radians.
Return (Math.Exp(angle) - Math.Exp(-angle)) / 2.0
End Function

Ejemplo
Este ejemplo se usa el Log método de la Math clase para devolver el logaritmo
natural de un número.
VB

Public Function Asinh(ByVal value As Double) As Double


' Calculate inverse hyperbolic sine, in radians.
Return Math.Log(value + Math.Sqrt(value * value + 1.0))
End Function

Ejemplo
Este ejemplo se usa el Round método de la Math clase para redondear un número
entero más cercano.
VB
' Returns 3.
Dim MyVar2 As Double = Math.Round(2.8)

Ejemplo
Este ejemplo se usa el Sign método de la Math clase para determinar el signo de
un número.
VB
' Returns 1.
Dim MySign1 As Integer = Math.Sign(12)
' Returns -1.
Dim MySign2 As Integer = Math.Sign(-2.4)
' Returns 0.
Dim MySign3 As Integer = Math.Sign(0)

Ejemplo
Este ejemplo se usa el Sin método de la Math clase para devolver el seno de un
ángulo.
VB
Public Function Csc(ByVal angle As Double) As Double
' Calculate cosecant of an angle, in radians.
Return 1.0 / Math.Sin(angle)
End Function

Ejemplo
Este ejemplo se usa el Sqrt método de la Math clase para calcular la raíz cuadrada
de un número.
VB

' Returns 2.
Dim MySqr1 As Double = Math.Sqrt(4)
' Returns 4.79583152331272.
Dim MySqr2 As Double = Math.Sqrt(23)
' Returns 0.
Dim MySqr3 As Double = Math.Sqrt(0)
' Returns NaN (not a number).
Dim MySqr4 As Double = Math.Sqrt(-4)

Ejemplo
Este ejemplo se usa el Tan método de la Math clase para devolver la tangente de
un ángulo.

VB

Public Function Ctan(ByVal angle As Double) As Double


' Calculate cotangent of an angle, in radians.
Return 1.0 / Math.Tan(angle)
End Function

3-OPERADORES LOGICOS.
 El y operador realiza lógico junto con dos Boolean expresiones. Si ambas expresiones se
evalúan como True, a continuación, And devuelve True. Si al menos una de las expresiones
se evalúa como False, a continuación, And devuelve False.

 El operador o realiza lógico disyunción o inclusión con dos Boolean expresiones. Si una de


las expresiones se evalúa como True, o ambos se evalúan como True, a
continuación, Or devuelve True. Si ninguna de las expresiones se evalúa
como True, Or devuelve False.

 El operador Xor realiza lógico exclusión con dos Boolean expresiones. Si exactamente una


expresión se evalúa como True, pero no ambos, Xor devuelve True. Si ambas expresiones
se evalúan como True o ambos se evalúan como False, Xor devuelve False.

El ejemplo siguiente ilustra la And, Or, y Xor operadores.

VB

Dim a, b, c, d, e, f, g As Boolean

a = 23 > 14 And 11 > 8


b = 14 > 23 And 11 > 8
' The preceding statements set a to True and b to False.

c = 23 > 14 Or 8 > 11
d = 23 > 67 Or 8 > 11
' The preceding statements set c to True and d to False.

e = 23 > 67 Xor 11 > 8


f = 23 > 14 Xor 11 > 8
g = 14 > 23 Xor 8 > 11
' The preceding statements set e to True, f to False, and g to False.

Evaluación cortocircuitadas operaciones lógicas


El AndAlso Operator es muy similar a la And operador, ya que también realiza la
conjunción lógica en dos Boolean expresiones. La diferencia clave entre los dos es
que AndAlso exhibe cortocircuitarcomportamiento. Si la primera expresión en
una AndAlso expresión se evalúa como False, no se evalúa la segunda expresión ya
que no puede modificar el resultado final, y AndAlso devuelve False.

De forma similar, el OrElse Operator realiza la evaluación "cortocircuitada"


disyunción lógica de dos Boolean expresiones. Si la primera expresión en
una OrElse expresión se evalúa como True, no se evalúa la segunda expresión ya
que no puede modificar el resultado final, y OrElse devuelve True.

Ventajas y desventajas de cortocircuito

Evaluación cortocircuitada puede mejorar el rendimiento mediante la evaluación no


de una expresión que no se puede modificar el resultado de la operación
lógica. Sin embargo, si esa expresión realiza acciones adicionales, la evaluación
"cortocircuitada" omite esas acciones. Por ejemplo, si la expresión incluye una
llamada a un Function procedimiento, que el procedimiento no se llama si la
expresión se cortocircuita y ningún código adicional contenida en el Function no se
ejecuta. Por lo tanto, la función podría ejecutarse solo en algunas ocasiones y no se
pueden probar correctamente. O la lógica del programa puede depender del
código en el Function.

El ejemplo siguiente muestra la diferencia entre And, Ory sus homólogos de


evaluación "cortocircuitada".
VB

Dim amount As Integer = 12


Dim highestAllowed As Integer = 45
Dim grandTotal As Integer
VBCopiar
If amount > highestAllowed And checkIfValid(amount) Then
' The preceding statement calls checkIfValid().
End If
If amount > highestAllowed AndAlso checkIfValid(amount) Then
' The preceding statement does not call checkIfValid().
End If
If amount < highestAllowed Or checkIfValid(amount) Then
' The preceding statement calls checkIfValid().
End If
If amount < highestAllowed OrElse checkIfValid(amount) Then
' The preceding statement does not call checkIfValid().
End If

VB
Function checkIfValid(ByVal checkValue As Integer) As Boolean
If checkValue > 15 Then
MsgBox(CStr(checkValue) & " is not a valid value.")
' The MsgBox warning is not displayed if the call to
' checkIfValid() is part of a short-circuited expression.
Return False
Else
grandTotal += checkValue
' The grandTotal value is not updated if the call to
' checkIfValid() is part of a short-circuited expression.
Return True
End If
End Function

En el ejemplo anterior, tenga en cuenta que algo de código importante dentro


de checkIfValid()no se ejecuta cuando se cortocircuita la llamada. La
primera If instrucción llama a checkIfValid()aunque 12 > 45 devuelve False,
porque And no cortocircuita. El segundo If no ejecuta la instrucción checkIfValid(),
porque cuando 12 > 45 devuelve False, AndAlso cortocircuita la segunda
expresión. La tercera If instrucción llama a checkIfValid() aunque 12 <
45 devuelve True, porque Or no cortocircuita. El cuarto If no ejecuta la
instrucción checkIfValid(), porque cuando 12 <
45 devuelve True, OrElse cortocircuita la segunda expresión.

Operaciones bit a bit


Operaciones bit a bit evalúan dos valores enteros en formato binario (base 2). Se
comparan los bits en las posiciones correspondientes y, a continuación, asignan
valores basados en la comparación. El ejemplo siguiente ilustra la And operador.
VB

Dim x As Integer
x = 3 And 5

El ejemplo anterior establece el valor de x en 1. Esto ocurre por las razones
siguientes:

 Los valores se tratan como binarios:

3 en formato binario = 011

5 en formato binario = 101


 El And operador compara las representaciones binarias, una posición binaria
(bits) a la vez. Si ambos bits en una posición determinada son 1, 1 se coloca
en esa posición en el resultado. Si alguno de estos bits es 0, se coloca un 0 en
esa posición en el resultado. En el ejemplo anterior esto funciona como sigue:

011 (3 en formato binario)

101 (5 en formato binario)

001 (el resultado, en formato binario)

 El resultado se trata como valor decimal. El valor 001 es la representación


binaria de 1, por lo que x = 1.

Bit a bit Or operación es similar, salvo que se asigna 1 el bit del resultado si uno o
ambos de los bits comparados es 1. Xor asigna 1 el bit de resultado si exactamente
uno de los bits comparados (no ambos) es 1. Not toma un solo operando e invierte
todos los bits, incluido el bit de signo y asigna ese valor al resultado. Esto significa
que para números positivos, firma Not siempre devuelve un valor negativo y para
los números negativos, Not siempre devuelve el valor cero o positivo.

El AndAlso y OrElse operadores no admiten las operaciones bit a bit.

4-OTRAS FUNCIONES CON NUMEROS.

Estos son los operadores de comparación definidos en Visual Basic.

 < Operador
 <= Operador
 > Operador
 >= Operador
 = Operador
 <> Operador
 Is (operador)
 IsNot (operador)
 Like (operador)

Estos operadores comparan dos expresiones para determinar si son iguales y, si no, cómo se
diferencian. Is, IsNot, y Like se tratan detalladamente en las páginas de Ayuda independientes.Los
operadores de comparación relacional se tratan detalladamente en esta página.
result = expression1 comparisonoperator expression2
result = object1 [Is | IsNot] object2
result = string Like pattern

Elementos

Result.
Obligatorio. Un Boolean valor que representa el resultado de la comparación.

Expression.
Obligatorio. Cualquier expresión.

Comparisonoperator.
Obligatorio. Cualquier operador de comparación relacional.

object1, object2
Obligatorio. Los nombres de objeto de referencia.

String.
Obligatorio. Cualquier expresión String.

pattern
Obligatorio. Cualquier String expresión o un intervalo de caracteres.

Comentarios
En la tabla siguiente contiene una lista de los operadores de comparación relacional y las
condiciones que determinan si result es True o False.

Operador True si False si

< (Menor que) expression1 < expression2 expression1 >= expression2

<= (Menor o igual que) expression1 <= expression2 expression1 > expression2

> (Mayor que) expression1 > expression2 expression1 <= expression2

>= (Mayor o igual que) expression1 >= expression2 expression1 < expression2

= (Igual a) expression1 = expression2 expression1 <> expression2

<> (No es igual a) expression1 <> expression2 expression1 = expression2

 
El Is operador, el IsNot operador y el Like operador tiene funcionalidades de comparación
específica que difieren de los operadores en la tabla anterior.

Comparación de números
Cuando se compara una expresión de tipo Single a uno de tipo Double, Single expresión se
convierte
en Double. Este comportamiento es opuesto del comportamiento encontrado en Visual Basic 6.

De forma similar, cuando se compara una expresión de tipo Decimal en una expresión de


tipo Single o Double, Decimal expresión se convierte
en Single o Double. Para Decimal expresiones, cualquier valor fraccionario menor que 1E-28 podría
perderse. Dicha pérdida de valor fraccionario puede hacen que se consideran iguales cuando no
estén dos valores. Por este motivo, debe tener cuidado al usar la igualdad (=) para comparar dos
variables de punto flotante. Es más seguro comprobar si el valor absoluto de la diferencia entre los
dos números es menor que el mínimo aceptable.

Punto flotante imprecisión


Cuando se trabaja con números de punto flotante, tenga en cuenta que no siempre tienen una
representación precisa en memoria. Esto podría provocar resultados inesperados en ciertas
operaciones, como la comparación de valor y el Mod (operador). Para obtener más información,
consulte solución de problemas de los tipos de datos.

Comparar cadenas
Cuando se comparan cadenas, las expresiones de cadena se evalúan según su criterio de
ordenación alfabética, que depende el Option Compare configuración.
Option Compare Binary comparaciones en un criterio de ordenación que se deriva de las
representaciones binarias internas de los caracteres de cadenas de bases de datos.  El criterio de
ordenación viene determinada por la página de códigos. El ejemplo siguiente muestra un criterio
de ordenación binario típico.

A<B<E<Z<a<b<e<z<À<Ê<Ø<à<ê<ø
Option Compare Text bases de datos de cadena comparaciones en un criterio de ordenación
textual entre mayúsculas y minúsculas determinado por la configuración regional de la
aplicación. Al establecer Option Compare Text y ordenar los caracteres en el ejemplo anterior, se
aplica el criterio de ordenación de texto siguiente:

(A=a) < (À= à) < (B=b) < (E=e) < (Ê= ê) < (Ø = ø) < (Z=z)

Dependencia de la configuración regional

Al establecer Option Compare Text, el resultado de una comparación de cadenas puede depender


de la configuración regional en que se ejecuta la aplicación. Pueden comparar dos caracteres
como iguales en una configuración regional, pero no en otro. Si está utilizando una comparación
de cadenas para tomar decisiones importantes, por ejemplo, si desea aceptar un intento de inicio
de sesión, debe aparecer la alerta para la sensibilidad de la configuración regional.  Considere la
posibilidad de cualquier Option Compare Binary o que realiza la llamada la StrComp, que tiene la
configuración regional en la cuenta.
Programación sin tipos con operadores de comparación relacional
El uso de operadores de comparación relacional con Object expresiones no se permite en Option
Strict On. Cuando Option Strict es Offy expression1 o expression2 es un Object expresión, los tipos
de tiempo de ejecución determinan cómo se comparan. En la tabla siguiente se muestra cómo se
comparan las expresiones y el resultado de la comparación, dependiendo del tipo en tiempo de
ejecución de los operandos.

Si los operandos son La comparación es

Ambos String Ordenar en función de las características de ordenación de


cadenas de comparación.

Ambas numéricas Convierten objetos en Double, comparación numérica.

Uno numérico y El String se convierte en un Double y se realiza una comparación


otro String numérica. Si el String no se puede convertir a Double,
un InvalidCastException se produce.

Uno o ambos son tipos Se inicia una InvalidCastException.


de referencia
distinto String

Tratan las comparaciones numéricas Nothing como 0. Tratan las comparaciones de


cadenas Nothingcomo "" (una cadena vacía).

Sobrecarga

Los operadores de comparación relacional (<. <=``>, >=, =, <>) puede ser sobrecargado, lo que


significa que una clase o estructura puede redefinir su comportamiento cuando un operando tiene
el tipo de esa clase o estructura. Si el código usa cualquiera de estos operadores en una clase o
estructura de este tipo, asegúrese de que comprender el comportamiento redefinido. Para
obtener más información, consulta Operator Procedures.
Tenga en cuenta que el = (operador) se puede sobrecargar únicamente como un operador de
comparación relacional, no como un operador de asignación.

Ejemplo

El ejemplo siguiente muestra varios usos de los operadores de comparación relacional, que se
utilizan para comparar expresiones. Operadores de comparación relacional devuelven
un Booleanresultado que representa si se evalúa como la expresión indicada True. Al aplicar
el > y <operadores en cadenas, la comparación se realiza mediante el criterio de ordenación
alfabético normal de las cadenas. Este orden puede depender de la configuración regional. Si el
criterio de ordenación distingue mayúsculas de minúsculas o no depende de la Option
Compare configuración.

VB

Dim x As testClass
Dim y As New testClass()
x=y
If x Is y Then
' Insert code to run if x and y point to the same instance.
End If

En el ejemplo anterior, se devuelve la primera comparación False y las comparaciones restantes


devuelven True.

5-GENERACIÓN DE NÚMEROS ALEATORIOS

FUNCIÓN Rnd
 
La generación de números aleatorios adquiere gran relevancia para un programador, pudiendo
usarse para:
 
   Construcción preliminar de programas, en los que a falta de datos definitivos
introducimos datos aleatorios.

 
   Simular procesos aleatorios (número resultante de tirar un dado, elección de un color por
parte de una persona, número premiado en un sorteo de lotería, cantidad de personas
que entran a un supermercado en una hora...)

   Verificación de programas, y en particular simular datos que le llegan al programa como


si fueran datos provinientes de entradas de usuario, de una base de datos, de un fichero,
etc.
 
 Otras aplicaciones.

Conviene recordar que "aleatorio" no puede confundirse con "cualquier cosa", "descontrol",
"incierto", "impredecible", etc. Usaremos aleatorio más en el sentido de no predeterminado que
en el de no predecible, ya que en general vamos a definir qué tipo de resultado queremos obtener
y en qué rango de valores debe estar. Vamos a imaginar que Visual Basic genera números
aleatorios como si fuera un robot lanzador de dardos muy preciso (robot Rnd). De este modo,
cuando se le dice que comience a tirar dardos en distintas posiciones, repite siempre los lugares.
Por ejemplo, si la diana está marcada con números, cada vez que le decimos que tire genera la
misma secuencia: 7, 5, 6, 3, etc. ¿Cómo conseguir convertir este proceso predefinido en aleatorio?
Pues simplemente poniendo a girar la diana (mayordomo Randomize) esta vez a una velocidad
que depende del segundo del día en que nos encontremos. Así pues, el proceso lo dividimos en
decirle al mayordomo que ponga a girar la diana y en decirle al robot que dispare. Bueno, un poco
simple, pero ¿para qué complicarnos? Veamos la sintaxis a emplear:

 Asignación de valor aleatorio a una variable

Randomize         [Instrucción que inicializa el generador de números aleatorios]

Variable = Rnd  [Obtención de un número aleatorio igual o mayor que cero y menor que uno]
En las versiones más recientes de Visual Basic la sintaxis es Randomize(): Variable = Rnd()

 Mostrar un valor aleatorio.

Randomize: MsgBox (“El número aleatorio es “ & Rnd) para las versiones menos recientes
Randomize() : MsgBox("El número aleatorio es " & Rnd()) para las versiones más recientes

 
El valor devuelto por Rnd es de tipo Single, aunque si la variable a la que se asigna el contenido de
Rnd es de otro tipo, tendrá lugar la conversión del valor originario para adaptarlo al tipo de
variable de que se trate. Un aspecto importante a tener en cuenta es que el valor devuelto se
encuentra en el rango 0<= Rnd < 1. Es decir, el número devuelto puede ser cero pero no puede ser
uno. Podemos trasladarnos a un intervalo distinto simplemente multiplicando. Por ejemplo Rnd *
100 ó Rnd() * 100 devolverá números comprendidos entre cero y cien excluido el cien. Si usamos
CInt(Rnd * 100) ó CInt(Rnd () * 100) estaremos convirtiendo el tipo Single que nos devuelve el Rnd
en un tipo Integer, con lo que obtenemos valores enteros comprendidos entre 0 y 99.

Un caso muy habitual será el de querer generar números aleatorios comprendidos en un intervalo
delimitado por un límite superior y un límite inferior siendo estos límites valores positivos. Para
ello podemos usar la fórmula:
 
N = (Limsup - Liminf) * Rnd + Liminf
 
Limsupy Liminf son los límites superior e inferior respectivamente (valores positivos) y N el
número aleatorio generado. El primer sumando puede adquirir el valor comprendido entre cero y
el intervalo diferencia, excluido éste. El segundo sumando determina que el valor debe estar
necesariamente comprendido entre el límite inferior y el límite superior.
Consideremos ahora que queremos generar valores enteros comprendidos entre a y b incluidos
ambos, siendo a y b valores positivos. La fórmula a emplear sería:
N = Int((b - a + 1) * Rnd + a)
 
 
En este caso, usamos un truncamiento para garantizar que el valor superior del intervalo se
encuentre entre los posibles valores de N.

Una instrucción Randomize te puede servir para varios Rnd. De todas formas, cuando tengas
dudas, pon un Randomize asociado a cada uno de los Rnd.

Recuerda que en algunas versiones se usa Randomize y Rnd sin paréntesis y en otras se usa
Randomize() y Rnd () con paréntesis.

FUNCIONES CON FECHAS.

6- FUNCIONES DE FORMATO PARA FECHAS Y HORA

Ejemplos de los principales Formatos con nombre para el manejo de Fechas y Horas:

Funciones para calcular fechas 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 cálculos
 DateAdd: Devuelve un Variant que contiene una fecha que indica el intervalo de tiempo
que se ha agregado

 DateDiff: Devuelve el número de intervalos de tiempo entre dos fechas determinadas

 DatePart: Devuelve una parte específica de una fecha dada

 DateSerial: Devuelve un valor Date para un año, mes y día determinados.

Ejemplos El siguiente ejemplo utiliza la función DateDiff para mostrar el itervalo entre dos fechas.
El intervalo lo muestra en segundos, minutos, días, semanas meses y años, como muestra el
siguiente gráfico.

Colocar en el formulario un Command1.


Ejemplo con DateAdd

Lo siguiente, muestra como añadir y restar fechas.

Nota: para restar, usar el signo negativo, como se usa en el último ejemplo. Para poder restar y
agregar segundos a una hora, usar en el parámetro intervalo la "S", para minutos usar la "n", para
horas la "h", para restar y sumar semanas la "ww"

En el siguiente enlace podés ver algunos otros ejemplos que trabajan con dichas funciones

 Funciones para trabajar con fechas en visual basic


 Calcular edad de una persona usando DateDiff
 Averiguar con Dateserial, el Primer y último día de un mes

6 - Funciones para obtener la fecha u hora actual de la PC

7-FUNCIÓN FORMAT:
La función Format es más completa que las anteriores funciones, porque puede manejar mas tipos
de datos, y no devuelve solo cadenas, esta también puede devolver números y fechas. La función
Format posee dos parámetros:

En el primero debemos colocar cualquier expresión válida. El segundo es opcional y a continuación


veremos una descripción de los formatos de VB:

 GeneralNumber: Devuelve el número sin formato.


 Currency: Devuelve el número en formato moneda, con el símbolo "$" y 2 decimales a las
derecha.
 Fixed: Devuelve como mínimo un dígito a la izquierda y 2 ala derecha del decimal.
 Standar: Similar a Fixed, pero incluye un separador de miles.
 Percent: Multiplica el número por cien y le agrega el símbolo "%"
 True/False: Devuelve Verdadero para un valor distinto de 0, y Falso para 0.
 On/OFF: Devuelve "Activado" para un valor distinto de 0, y "Desactivado" para 0.

La forma de pasar el parámetro es entre comillas.

EJEMPLO:

Nota: Si ingresamos un número decimal, debemos utilizar el "." y no la coma "," ya que la coma
determina el comienzo de otro parámetro dentro de la función y Visual Basic daría error de
sintaxis

Funciones de formato

Visual Basic posee varias funciones para darle formato a distintos tipos de datos e información. A
continuación, se ve algunos ejemplos de las principales funciones:
 FormatCurrency: Esta función se utiliza para trabajar con números con formato en
dinero. Ejemplo: si tenemos un número 3 y utilizamos la función nos devolvería
"$3".
 FormatPercent: Esta función es utilizada para trabajar con porcentajes. Ejemplo: si
tendríamos un número 321, nos devolvería: "32,1%”.
 FormatDateTime: Esta función trabaja con fechas y horas.
 FormatNumber: Formatea expresiones números

NumDigitsAfterDecimal: Parámetro de tipo opcional. Este indicará cuantos números decimales


devolverá la función:

Ejemplo:

Ejemplo de la función FormatDateTime

Esta función, en el primer parámetro se le debe pasar la fecha u hora a formatear, y el segundo
parámetro es el tipo de formato, pueden ser 5 tipos.

 vbGeneralDate, vbLongDate, vbShortDate, vbLongTime y vbShortTime.

Este parámetro es de tipo opcional. al colocar la coma dentro de la función, visual basic despliega
la lista de constanetas mencionadas, como muestra el gráfico:

Un ejemplo para ver estos formularios utilizados FormatDateTim: colocar cinco option Button,
cada botón de opción mostrara los diferentes formatos en el caption del formulario, es decir en la
barra de título.
CODIGO EN EL FORMULARIO
FormatNumber- ejemplos:

Formatea 0.489698 a 0,49

Formatea 1.958754 a 1,96

VB

Dim x, y As Boolean
x = Not 23 > 14
y = Not 23 > 67
' The preceding statements set x to False and y to True.

También podría gustarte