manual de vb.net en nuestro idioma parte 4

Ver el tema anterior Ver el tema siguiente Ir abajo

manual de vb.net en nuestro idioma parte 4

Mensaje  HERNAN DARIO RODRIGUEZ el Mar 17 Ago - 10:07:44

Continuando con el capítulo anterior, veremos ahora algunos ejemplos

Ejemplo de la función CBool
Este ejemplo utiliza la función CBool para convertir expresiones en valores Boolean. Si una expresión se evalúa a un valor distinto de cero, CBool devuelve True; en caso contrario, devuelve False.
Dim A, B, C As Integer
Dim Check As Boolean
A = 5
B = 5
Check = CBool(A = B)
C = 0
Check = CBool(C)

Ejemplo de la función Cbyte

Este ejemplo utiliza la función CByte para convertir expresiones en valores Byte.

Dim MyDouble As Double
Dim MyByte As Byte
MyDouble = 125.5678
MyByte = CByte(MyDouble) 'Lo redondea a 126.

Ejemplo de la función CChar
En este ejemplo, la función CChar convierte el primer carácter de una expresión String en un tipo Char.
Dim MyString As String
Dim MyChar As Char
MyString = "BCD" ' CChar convierte solamente el primer caracter en de una cadena en Char.
MyChar = CChar(MyString) ' MyChar is set to "B".
El argumento de entrada para CChar debe ser el tipo de datos String. No puede utilizar CChar para convertir un número en un carácter, porque CChar no acepta un tipo de datos numéricos. Este ejemplo obtiene un número que representa un punto de código (código de carácter) y lo convierte en el carácter correspondiente. Utiliza InputBox para obtener la cadena de dígitos, CInt para convertir la cadena en el tipo Integer y ChrW para convertir el número en el tipo Char.

Dim MyDigits As String
Dim CodePoint As Integer
Dim MyChar As Char
MyDigits = InputBox("Digite un número")
CodePoint = CInt(MyDigits)
MyChar = ChrW(CodePoint)
Console.WriteLine("Valor de MyChar ={0}", MyChar)
Console.Read().
Ejemplo de la función CDate
Este ejemplo utiliza la función CDate para convertir cadenas en valores Date. En general, no se recomienda especificar las fechas y horas como cadenas en el código, tal y como se puede ver en este ejemplo. Utilice literales de fecha y hora, por ejemplo #Feb 12, 1969# y #4:45:233 PM#.

Dim MyDateString, MyTimeString As String
Dim MyDate, MyTime As Date
MyDateString = "February 12, 1969"
MyTimeString = "4:35:47 PM"
' ...
MyDate = CDate(MyDateString)
MyTime = CDate(MyTimeString)

Llegado a este punto se hará una aclaración con el manejo de las fechas en la versión anterior de visual basic 6.

Las fechas se podían almacenar como tipos de datos double porque las fechas en realidad lo eran.
Por ejemplo para visual basic 6

Dim var As Double
Dim fecha As Date
fecha = Now
MsgBox Format(fecha, "yyyy/mm/dd")
var = fecha
MsgBox Format(var, "yyyy/mm/dd")

Actualmente no es así, la fecha no tiene nada que ver con el tipo de datos double. Lo anterior produciría un error vb.net

Para hacerlo se debe realizar lo siguiente


Dim var As Double
Dim Fecha, Fecha2 As Date
fecha = Now
Console.WriteLine(Format(Fecha, "yyyy/MM/dd"))
var = fecha.ToOADate()
Fecha2 = Date.FromOADate(var)
Console.WriteLine("Valor de la variable var {0}", var)
Console.WriteLine(Format(Fecha2, "yyyy/MM/dd"))
Console.Read()

Este otro ejemplo mostrará algunas propiedades del objeto date

Dim Fecha As Date
Fecha = Now
Console.WriteLine("La fecha es: {0}", Fecha.ToString)
Console.WriteLine("El día es: {0}", Fecha.Day.ToString)
Console.WriteLine("El mes es: {0}", Fecha.Month.ToString)
Console.WriteLine("El año es: {0}", Fecha.Year.ToString)
Console.WriteLine("Día de la semana: {0}", Fecha.DayOfWeek)
Console.WriteLine("La hora es: {0}", Fecha.Hour.ToString)
Console.WriteLine("con " & Fecha.Minute.ToString & " Segundos")
Console.WriteLine("con " & Fecha.Millisecond.ToString & " Milisegundos")
Console.WriteLine("La fecha en formato largo es: {0}", Fecha.ToLongDateString)
Console.WriteLine("La fecha en formato corto es: {0}", Fecha.ToShortDateString)
Console.WriteLine("La hora en formato largo es: {0}", Fecha.ToLongTimeString)
Console.WriteLine("La hora en formato corto es: {0}", Fecha.ToShortTimeString)
Console.Read()

Ejemplo de la función CDbl

Este ejemplo utiliza la función CDbl para convertir expresiones en valores Double.

Dim MyDec As Decimal
Dim MyDouble As Double
MyDec = 234.456784D
MyDouble = CDbl(MyDec * 8.2D * 0.01D) ' Convierte el resultado a Double.

Ejemplo de la función Cdec

Este ejemplo utiliza la función CDec para convertir un valor numérico en Decimal.

Dim MyDouble As Double
Dim MyDecimal As Decimal
MyDouble = 10000000.0587
MyDecimal = CDec(MyDouble) ' Convierte a Decimal.

Ejemplo de la función CInt
Este ejemplo utiliza la función CInt para convertir un valor en Integer.
Dim MyDouble As Double
Dim MyInt As Integer
MyDouble = 2345.5678
MyInt = CInt(MyDouble) ' MyInt is set to 2346.


Ejemplo de la función CLng
Este ejemplo utiliza la función CLng para convertir valores en Long.
Dim MyDbl1, MyDbl2 As Double
Dim MyLong1, MyLong2 As Long
MyDbl1 = 25427.45
MyDbl2 = 25427.55
MyLong1 = CLng(MyDbl1) ' MyLong1 contiene 25427.
MyLong2 = CLng(MyDbl2) ' MyLong2 contiene 25428.

Ejemplo de la función CObj
Este ejemplo utiliza la función CObj para convertir un valor numérico en Object. La variable Object en sí contiene sólo un puntero de cuatro bytes, que señala al valor Double que tiene asignado.
Dim MyDouble As Double
Dim MyObject As Object
MyDouble = 2.7182818284
MyObject = CObj(MyDouble)

Ejemplo de la función CShort
Este ejemplo utiliza la función CShort para convertir un valor numérico en Short.
Dim MyByte as Byte
Dim MyShort as Short
MyByte = 100
MyShort = CShort(MyByte) ' Convierte a Short.

Ejemplo de la función CSng
Este ejemplo utiliza la función CSng para convertir valores en Single.
Dim MyDouble1, MyDouble2 As Double
Dim MySingle1, MySingle2 As Single
MyDouble1 = 75.3421105
MyDouble2 = 75.3421567
MySingle1 = CSng(MyDouble1)
MySingle2 = CSng(MyDouble2)

Ejemplo de la función CStr
Este ejemplo utiliza la función CStr para convertir un valor numérico en String.(Sacado de la ayuda)
Dim MyDouble As Double
Dim MyString As String
MyDouble = 437.324
MyString = CStr(MyDouble) ' MyString tiene "437.324".
Este ejemplo utiliza la función CStr para convertir valores Date en valores String.
Dim MyDate As Date
Dim MyString As String
' ...
MyDate = #February 12, 1969 00:00:00# ' INVALID format.
' Date literals must be in the format #m/d/yyyy# or they are invalid.
' ...
MyDate = #2/12/69 00:00:00# ' Time is midnight.
' The neutral time value of 00:00:00 is suppressed in the conversion.
MyString = CStr(MyDate) ' MyString is set to "2/12/1969".
' ...
MyDate = #2/12/69 00:00:01# ' Time is one second past midnight.
' The time component becomes part of the converted value.
MyString = CStr(MyDate) ' MyString is set to "2/12/1969 12:00:01 AM".
Cstr siempre procesa un valor Date en el formato corto estándar de la configuración regional correspondiente, por ejemplo, "15/2/2003".


Conversiones implícitas y explicitas

Además las conversiones pueden ser de restricción y de aplicación que significa?

La conversión de restricción es la que se usa con funciones como Cint porque? Porque estas conversiones cambian la copia de destino del valor de origen con una pérdida potencial de información.

Las conversiones de ampliación conservan el valor pero pueden cambiar su representación.

La conversión implícita no requiere de ninguna sintaxis especial en el código fuente. Veamos un ejemplo

Dim a as Integer
Dim b as Double
a=432
b=a

El siguiente ejemplo aclara lo dicho.

Option Explicit On
Option Strict On

Module Module1

Sub Main()
Dim a As Integer, c As Integer
Dim b As Double
a = 365
b = a 'conversión implícita
b = 0 'Limpiar la variable
b = 365
a = 0 'Limpiar la variable
a = CInt(b) 'conversión explícita
'sin embargo también se puede usar la conversión explícita
'usando la sentencia Ctype de la siguiente manera
c = CType(b, Integer)
'Este ejemplo es muy sencillo, pero se espera que se entienda
End Sub

End Module

Ámbito de las variables

El ámbito de las variables es el alcance que estas tengan dependiendo desde donde estén declaradas. Se clasifican en

Ámbito de bloque:
Disponible únicamente en el bloque de código en el que se ha declarado.
Ámbito de procedimiento:
Disponible únicamente dentro del procedimiento en el que se ha
declarado
Ámbito de módulo:
Disponible en todo el código del módulo, la clase o la estructura donde se ha declarado
Ámbito de espacio de nombres:
Disponible en todo el código del espacio de nombres.


El ámbito de bloque esta determinado por instrucciones que terminan con (End, Else, Loop o Next)

Por ejemplo

Option Explicit On
Option Strict On
Module Module1
Sub Main()
Dim N As Integer
If N < 1291 Then
Dim Cube As Integer
Cube = CInt(N ^ 3)
End If
Console.WriteLine("Valor de Cube ={0}", Cube)
'La línea anterior generará un error, indicando que la
'variable Cube no ha sido declarada debería ir antes de End If
End Sub

End Module

El ámbito de procedimiento esta determinado sólo para las variables declaradas dentro del mismo, esto quiere decir que una variable declarada dentro de un procedimiento no está disponible fuera de él.

Por ejemplo

Option Explicit On
Option Strict On
Module Module1
Sub Main()
'Este ejemplo generará un error, incluso antes de compilarlo,
'gracias a la compilación en Segundo plano de visual studio.net,
'sin embargo para los que no lo tienen, los errores serán mostrados al
'compilarlo en la ventana de D.O.S.
Dim i As Short = 2
Console.WriteLine("La suma de i + j es i={0},j={1}", i + j)
'Uno de los errores consiste en que el compilador está preguntando donde
'esta declarado la variable j
Public sub Suma()
Dim j As Short = 5
'Por otro lado este procedimiento no puede estar dentro del
'Main
End Sub

End Sub

End Module


El ámbito a nivel de módulo es accesible por cualquier función , clase o estructura

Si se declara “Dim” una variable a nivel de módulo, esta será privada y no puede ser accesible desde otros módulos.




Ejemplo

Option Explicit On
Option Strict On
Module Module1
'tanto Dim como Private es lo mismo para el caso de las declaraciones 'a nivel de módulo

Private strMensaje As String

Sub Main()
Inicializar()
Mostrar()
Console.Read()
End Sub

Sub inicializar()
StrMensaje = "Hola mundo"
End Sub

Sub Mostrar()
Console.WriteLine(StrMensaje)
End Sub

End Module

El Ámbito de espacio de nombres se verá más adelante.



Ahora veremos las enumeraciones

Las enumeraciones son un tipo de datos cuyos valores se definen como una lista de constantes que pueden ser Byte, Short, Integer, o Long. El tipo por defecto es Integer, además no se pueden crear dentro de procedimientos.
Los valores definidos no se pueden modificar en tiempo de ejecución. Los valores pueden incluir números positivos o negativos, como muestra el siguiente ejemplo:


Enum Valores
Positivo =1
Negativo =-1
Cero =0
End Enum


El tipo predeterminado de los elementos de la enumeración es int. De forma predeterminada, el primer enumerador tiene valor 0 y el valor de cada enumerador sucesivo se incrementa en 1
Cada elemento de una enumeración es del mismo tipo declarado como su nombre como en el siguiente ejemplo.

Enum Color As Long
Red
Green
Blue
End Enum
En este ejemplo Red tendrá valor 0, Green valor 1 y así sucesivamente. Cada elemento será de tipo Long

Enum Dias
Sabado=1
Domingo
Lunes
Martes
Miércoles
Jueves
Viernes
End Enum
Observe que al iniciar Sabado en 1 Domingo será 2 Lunes 3 etc, etc

La función format en vb.net

Las siguientes diferencias fueron extraídas de la ayuda
Formato de fecha y hora
Visual Basic 6.0
En Visual Basic 6.0, para mostrar una fecha en formato corto o largo, utiliza el especificador de formato "ddddd" o "dddddd". Los especificadores DayOfWeek ("w") y WeekOfYear ("ww") muestran el primer día de la semana y la primera semana del año, respectivamente. El carácter en minúscula "m" muestra el mes con un número sin cero a la izquierda. El especificador Quarter ("q") muestra el trimestre del año con un número del 1 al 4.
Para mostrar los minutos como un número con o sin ceros iniciales, utiliza el especificador de formato "Nn" o "N". Los caracteres "Hh" muestran la hora como un número con ceros iniciales, y "ttttt" muestra la hora completa. Para mostrar las letras "A" o "P" en mayúscula o minúscula con una hora anterior o posterior al mediodía, utiliza "AM/PM", "am/pm", "A/P", "a/p" o "AMPM."
Visual Basic .NET
En Visual Basic .NET, "ddddd" y "dddddd" se comportan de la misma forma que "dddd", mostrando el nombre completo del día. No muestran la fecha en formato corto ni en formato largo. DayOfWeek ("w") y WeekOfYear ("ww") no son compatibles. En su lugar, utilice la función DatePart de la forma siguiente:
Format(Datepart(DateInterval.Weekday, Now))
Format(Datepart(DateInterval.WeekOfYear, Now))
"M" y "m" se aplican a cosas diferentes, por lo que ahora ambas distinguen mayúsculas de minúsculas. Utilice "M" para el mes de la parte de la fecha del formato de fecha y hora, y "m" para los minutos de la parte de la hora.
El especificador de formato Quarter no es compatible. En su lugar, utilice la función DatePart de la forma siguiente:
Format(DatePart(DateInterval.Quarter, Now))
Para mostrar los minutos como un número con o sin ceros iniciales, utilice "m" o "mm". No se admite el formato "ttttt". "H" y "h" se aplican a cosas diferentes, por lo que ahora ambas distinguen mayúsculas de minúsculas. Utilice "H" para mostrar un reloj de 24 horas y "h" para un reloj de 12 horas. Los formatos AM/PM se reemplazan por "t" y "tt".
Formato numérico
Visual Basic 6.0
En Visual Basic 6.0, la función Format convierte cadenas en números.
Los números negativos con una cadena de formato negativo vacía muestran una cadena vacía.
Se muestran los separadores decimales finales.
Visual Basic 6.0 admite cuatro secciones de formato: positivo, negativo, cero y nulo.
El exponente para dar formato de notación científica admite el marcador de posición "#".
El especificador de fecha y hora corta ("c"), muestra la fecha y la hora con el formato ddddd ttttt.
Visual Basic .NET
En Visual Basic .NET, la función Format no convierte cadenas en números. Por lo tanto, la primera de las dos líneas siguientes de código no es correcta en Visual Basic .NET, mientras que la segunda es correcta:
Format("1.234", "#.#") ' Displays "#.#".
Format(CSng("1.234"),"#.#") ' Displays "1.234".
Los números negativos con una cadena de formato negativo vacía muestran el signo negativo, como en el ejemplo siguiente:
Format(-1, ";") ' Displays "-".
No se muestran los separadores decimales finales, como en los ejemplos siguientes:
Format(123, "###.") ' Displays "123"
Format(123, "###.#") ' Displays "123"
Visual Basic .NET admite tres secciones de formato: positivo, negativo y cero. Si se redondea a cero un valor distinto de cero según las secciones de formato primera o segunda, se da formato al cero resultante según la tercera sección.
El exponente para dar formato de notación científica no admite el marcador de posición "#". Utilice en su lugar el marcador de posición "0" (cero). Por lo tanto, la primera de las dos líneas siguientes de código no es correcta en Visual Basic .NET, mientras que la segunda es correcta:
Format(123, "#e+#") ' Displays "12e+3".
Format(123, "#e+0") ' Displays "1e+2".
El especificador de fecha y hora corta ("c") se reserva para el formato de Moneda; para el formato de fecha, utilice el formato General Fecha/Hora ("g").
Formato de cadena
Visual Basic 6.0
En Visual Basic 6.0, se crean expresiones para cadenas de formato definido por el usuario con los especificadores @, &, <, > y !.
Visual Basic .NET
Visual Basic .NET no es compatible con cadenas de formato definido por el usuario, por lo que los especificadores de formato @, &, <, > y ! ya no se admiten.



Ejemplo sacado de la ayuda
En este ejemplo se muestran los diversos usos de la función Format para dar formato a valores tanto con formatos String como otros definidos por el usuario. Para el separador de fecha (/), hora (Smile e indicadores de AM/PM (t y tt), el formato de salida que muestre su sistema dependerá de la configuración regional que use el código. Cuando las horas y fechas se muestren en el entorno de desarrollo, se utilizará el formato de fecha y hora corta de la configuración regional del código.
Dim MyDateTime As Date = #1/27/2001 5:04:23 PM#
Dim MyStr As String
' Returns current system time in the system-defined long time format.
MyStr = Format(Now(), "Long Time")
' Returns current system date in the system-defined long date format.
MyStr = Format(Now(), "Long Date")
' Also returns current system date in the system-defined long date
' format, using the single letter code for the format.
MyStr = Format(Now(), "D")
' Returns the value of MyDateTime in user-defined date/time formats.
MyStr = Format(MyDateTime, "hⓂs") ' Returns "5:4:23".
MyStr = Format(MyDateTime, "hh🇲🇲ss tt") ' Returns "05:04:23 PM".
MyStr = Format(MyDateTime, "dddd, MMM d yyyy") ' Returns "Saturday,
' Jan 27 2001".
MyStr = Format(MyDateTime, "HH🇲🇲ss") ' Returns "17:04:23"
MyStr = Format(23) ' Returns "23".
' User-defined numeric formats.
MyStr = Format(5459.4, "##,##0.00") ' Returns "5,459.40".
MyStr = Format(334.9, "###0.00") ' Returns "334.90".
MyStr = Format(5, "0.00%") ' Returns "500.00%".

Nos veremos en la siguiente entrega

avatar
HERNAN DARIO RODRIGUEZ

Mensajes : 14
Puntos : 45
Fecha de inscripción : 04/08/2010
Edad : 35
Localización : cali

Ver perfil de usuario

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.