Está en la página 1de 21

Introduccin

Historia
Visual Basic .NET (VB.NET) es un lenguaje de programacin orientado a
objetos que se puede considerar una evolucin de Visual Basic
implementada sobre el framework.NET. Su introduccin result muy
controvertida, ya que debido a cambios significativos en el lenguaje
VB.NET no es retro compatible con Visual Basic, pero el manejo de las
instrucciones es similar a versiones anteriores de Visual Basic,
facilitando as el desarrollo de aplicaciones ms avanzadas con
herramientas modernas. Para mantener la eficacia en el desarrollo de
las aplicaciones. La gran mayora de programadores de VB.NET utilizan
el entorno de desarrollo integrado Microsoft Visual Studio en alguna
de sus versiones (desde el primer Visual Studio .NET hasta Visual
Studio .NET 2015, que es la ltima versin de Visual Studio para la
plataforma .NET), aunque existen otras alternativas, como SharpDevelop
(que adems es libre).

Al igual que con todos los lenguajes de programacin basados en .NET,


los programas escritos en VB .NET requieren el Framework .NET o Mono
para ejecutarse.

Con la aparicin de Windows a mediados de los aos ochenta genero una


gran revolucin en el mundo de los computadores .Los usuarios contaban
ahora con un entorno grafico de trabajo, el cual hacia ms fcil su
labor y dejaba atrs el trabajo en modo comando.

Sin embargo el desarrollo de aplicaciones para el nuevo modo grafico


MS-DOS era una tarea tediosa y lenta. Aquellos programadores que se
aventuraban a ser una aplicacin para Windows, deban comenzar casi
desde cero. Tanto era el cambio que realizar el ms sencillo programa
se converta en todo una odisea.
Otro de los principales problemas era que el programador deba
centrarse en el desarrollo de la interface de usuario, desvindose de
lo verdaderamente importante la lgica del negocio.
No existan herramientas de desarrollo que facilitaran la labor del
programador.
Conscientes de lo que estaba ocurriendo de que los desarrolladores no
migraran de forma masiva a crear programas para Windows.

Microsoft inicio un proyecto con el nombre Thunder (Trueno) orientada


a crear una herramienta que facilitara la escritura de programas de
Windows. En 1991 este proyecto dio como resultado la primera versin
de Visual Basic.
VB 1.0 cualquier programador con pocos conocimientos poda crear
aplicaciones. El inconveniente de la versin de VB 1.0 y VB 2.0 era
que no tenan soporte para manipular bases de datos.
VB 3.0 introdujo soporte para manipular bases de datos y nos libera de
los controles VBX hacia los controles OLE.
VB 4.0 se podan crear aplicaciones para 16 o 32 bits.
VB 5.0 Permite la compilacin a cdigo nativo, esto permiti que los
programas se ejecutaran tan veloces como C++.
VB 6.0 Incluyo un nuevo modelo de acceso a datos mejorados ADO (Activex
Data Objects).
A pesar de los intentos de dotarle de todo lo necesario para el
desarrollo de aplicaciones Web VB careca de algunos aspectos por los
cuales no poda entrar en el mundo de la programacin.

Algunos de estos aspectos son la falta de soporte para la programacin


orientada a objetos, la falta de herencia, la creacin y manipulacin
de multihebra.

Entonces aparece VB.NET el cual aporta un gran nmero de


caractersticas a los programadores.
Entre las nuevas caractersticas por VB.NET tenemos full orientacin
a Objetos, herencia, la nueva generacin de formularios para la
creacin de interfaces (Windows Form), soporte XML, gestin de errores
estructurados etc.

Captulo 1. Sintaxis del Lenguaje


En la informtica, la sintaxis se entiende como el grupo de normas que
marcan las secuencias correctas de los elementos propios de un lenguaje
de programacin, que funcionan gobernando la vinculacin de las
distintas variables que configuran las instrucciones operativas.
En programacin, existen tres variables relevantes: la sintaxis, la
semntica y la jerarqua. La primera tiene que ver con que un lenguaje
de programacin de un software o aplicacin puede entenderse como una
serie de caracteres en particular en combinacin. La sintaxis viene a
estar compuesta de las reglas que determinan si dicha combinacin o
"string" es vlida o no y, por lo tanto, operativa.
Trminos comunes a la hora de hablar de sintaxis de programacin son:
los identificadores, las palabras reservadas, las literales o
constantes y los smbolos especiales.
Es comn que en determinadas aplicaciones o programas recibamos un
error clasificado por el mismo programa como "Error de sintaxis"; esto
hace referencia a una falla en la programacin de dicho software o en
la combinacin de las variables en su uso.

1.1. Convenciones del Lenguaje


Las convenciones de codificacin dan un aspecto coherente al cdigo,
de modo que los lectores pueden centrar su atencin en el contenido y
no en el diseo.
Las convenciones permiten que los lectores comprendan el cdigo con
ms rapidez porque les permite hacer suposiciones basadas en su
experiencia anterior.
Las convenciones facilitan la copia, la modificacin y el mantenimiento
del cdigo.
Las convenciones muestran los "procedimientos recomendados" de Visual
Basic.

Todo programa necesita una rutina o procedimiento de entrada, que sea


el primero que se ejecute. En VB.NET ese procedimiento recibe el nombre
especial de Main(), y debe de estar contenido dentro de un Mdulo de
cdigo.
Module Module1
Sub Main()

End Sub
End Module

En el caso de una aplicacin de consola creada desde VB.NET, se crea


un mdulo de forma automtica que contiene el procedimiento Main()
vaco. Dentro de este procedimiento escribiremos el cdigo.
Me , My, MyBase y MyClass en Visual Basic tienen nombres similares pero
finalidades diferentes. En este tema se describe cada una de estas
entidades para distinguirlas.
La palabra clave Me siempre hace referencia a la instancia especfica
de una clase o estructura donde se est ejecutando el cdigo. Me se
comporta como una variable de objeto o de estructura que hace
referencia a la instancia actual. El uso de la palabra clave Me es
especialmente til para transferir informacin acerca de la instancia
de una clase o estructura que se est ejecutando actualmente a un
procedimiento de otro mdulo, estructura o clase.
La caracterstica My proporciona acceso fcil e intuitivo a una serie
de clases de .NET Framework, lo que permite que el usuario de Visual
Basic interacte con el equipo, la aplicacin, la configuracin, los
recursos, etc.
La palabra clave MyBase se comporta como una variable de objeto que
hace referencia a la clase base de la instancia actual de una clase.
MyBase suele usarse para obtener acceso a los miembros de la clase base
que se reemplazan o se sombrean en una clase derivada. MyBase.New se
utiliza para llamar explcitamente a un constructor de una clase base
desde un constructor de una clase derivada.
La palabra clave MyClass se comporta como una variable de objeto que
hace referencia a la instancia actual de una clase tal y como se
implement originalmente. MyClass es similar a Me, pero todas las
llamadas de mtodo realizadas a travs de ella se tratan como si el
mtodo fuese NotOverridable.

1.2. Tipos de datos primitivos


Los tipos primitivos se identifican por palabras clave, que son alias
de tipos predefinidos en el espacio de nombres System. Un tipo
primitivo no se puede distinguir en absoluto del tipo de estructura a
la que asigna el alias: escribir la palabra reservada Byte es
exactamente lo mismo que escribir System.Byte.
Dado que un tipo primitivo asigna el alias a un tipo regular, todos
los tipos primitivos tienen miembros. Por ejemplo, Integer tiene los
miembros declarados en System.Int32. Los literales se pueden tratar
como instancias de sus tipos correspondientes.
Los tipos primitivos son distintos de otros tipos de estructuras porque
permiten determinadas operaciones adicionales:
Todos los tipos primitivos permiten crear valores escribiendo
literales. Por ejemplo, 123I es un literal del tipo Integer.
No se pueden declarar constantes de los tipos primitivos.
Cuando los operandos de una expresin son todos constantes de tipo
primitivo, el compilador puede evaluar la expresin en el momento de
compilacin. Dicha expresin se conoce por el nombre de expresin
constante.
Visual Basic .NET define los tipos primitivos siguientes:

Los tipos de valores integrales:


Byte (entero de 1 byte sin nombre)
Short (entero de 2 bytes con nombre)
Integer (entero de 4 bytes con nombre)
Long (entero de 8 bytes con nombre).
Estos tipos se asignan a System.Byte, System.Int16, System.Int32, y
System.Int64, respectivamente. El valor predeterminado de un tipo
integral es equivalente al literal 0.

Los tipos de valores de punto flotante:


Single (punto flotante de 4 bytes)
Double (punto flotante de 8 bytes).
Estos tipos se asignan a System.Single y System.Double,
respectivamente. El valor predeterminado de un tipo de punto flotante
equivale al literal 0. El tipo Decimal (valor decimal de 16 bytes),
que corresponde a System.Decimal. El valor predeterminado decimal
equivale al literal 0D.

El tipo de valor Boolean, que representa un valor de veracidad, es


normalmente el resultado de una operacin lgica o relacional. El
literal es de tipo System.Boolean. El valor predeterminado del tipo
Boolean equivale al literal False.

El tipo de valor Date, que representa una fecha, una hora o ambas y
corresponde a System.DateTime. El valor predeterminado del tipo Date
equivale al literal # 01/01/0001 12:00:00AM #.

El tipo de valor Char, que representa una carcter nico unicode y


corresponde a System.Char. El valor predeterminado del tipo Char
equivale a la expresin constante ChrW(0).

El tipo de referencia String, que representa una secuencia de los


caracteres Unicode, se asigna a System.String. El valor predeterminado
del tipo String es una referencia Null.

PrimitiveTypeName ::= NumericTypeName | Boolean | Date | Tipo Char


NumericTypeName ::= IntegralTypeName | FloatingPointTypeName | Tipo
Decimal
IntegralTypeName ::= Byte | Short | Integer | Tipo Long
FloatingPointTypeName ::= Single | Double
Tipos de Datos
.NET Framework VB
System.Boolean Boolean
System.Byte Byte
System.Int16 Short
System.Int32 Integer
System.Int64 Long
System.Single Single
System.Double Double
System.Decimal Decimal
System.Char Char
System.String String
System.Object Object
System.DateTime Date
System.SByte SByte
System.UInt16 UShort
System.UInt32 UInteger
System.UInt64 ULong

1.3. Variables, literales, constantes y numeraciones.


1.3.1. Variables
Una variable se declara para especificar su nombre y sus
caractersticas. La instruccin de declaracin para variables es
Instruccin Dim (Visual Basic). Su ubicacin y contenido determinan
las caractersticas de la variable.
Valor local y variables miembros
Una variable local es aquella que se declara dentro de un
procedimiento. Una variable miembro es un miembro de un tipo de Visual
Basic; se declara en el nivel de mdulo, dentro de una clase, estructura
o mdulo, pero no dentro de ningn procedimiento interno de esa clase,
estructura o mdulo.
La categora de una variable miembro, en una clase o estructura,
depende de que la variable est o no compartida. Si una variable se
declara con la palabra clave Shared, es una variable compartida, y
existe en una nica copia compartida por todas las instancias de la
clase o estructura.
De lo contrario, es una variable de instancia, y se crea una copia
independiente de ella para cada instancia de la clase o estructura.
Una copia determinada de una variable de instancia slo est disponible
en la instancia de la clase o estructura en que se cre. Es
independiente de una copia de la variable de instancia en cualquier
otra instancia de la clase o estructura.
La clusula As de la instruccin de declaracin permite definir el tipo
de datos o de objetos de la variable que se est declarando.

Module Module1
Sub Main()

Dim edad As Integer


Dim peso As Double
Dim nombre As String
Dim fechaActual As Date
Dim sexo As Boolean
'sexo = false es hombre y true es mujer

edad = 19
peso = 70.8
nombre = "Mirna Citlali"
fechaActual = "26/09/2017"
sexo = True

Console.WriteLine("Nombre: " & nombre)


Console.WriteLine("Edad: " & edad)
Console.WriteLine("Peso: {0}", peso)
Console.WriteLine("Sexo: {0}", sexo)
Console.WriteLine("Fecha: {0}", fechaActual)
Console.ReadKey()
End Sub

End Module

En el cdigo de arriba podemos ver como se concatena un texto y un


valor para ser mostrado puede ser de dos maneras poniendo {0} despus
del valor dentro del string y despus coma seguida de la variable o
bien despus del string poner & sin coma seguido de la variable.
La inferencia de tipos se usa para determinar los tipos de datos de
las variables locales que se han declarado sin ninguna clusula As. El
compilador deduce el tipo de la variable a partir del tipo de la
expresin de inicializacin. Esto permite declarar variables sin
especificar un tipo de forma explcita
Module Module1
Sub Main()

Dim texto1 As String = "Este texto es explcito"


Dim texto2 = "Este texto es una variable local"
Console.WriteLine(texto1)
Console.WriteLine(texto2)
Console.ReadKey()

End Sub

End Module

1.3.2. Literales
Un literal es una representacin textual de un valor determinado de un
tipo. Los tipos literales incluyen Boolean, entero, punto flotante,
cadena, carcter y fecha.
True y False son literales del tipo Boolean que se asignan a verdadero
y falso, respectivamente.
Los literales enteros pueden ser decimales (base 10), hexadecimales
(base 16) u octales (base 8). Un literal entero decimal es una cadena
de dgitos decimales. Un literal hexadecimal es &H seguido de una
cadena de dgitos hexadecimales (0-9, A-F). Un literal octal es &O
seguido de una cadena de dgitos octales (0-7). Los literales decimales
representan directamente el valor decimal de un literal integral,
mientras que los literales octales y hexadecimales representan el valor
binario del literal entero (por tanto, &H8000S es 32768, no una
excepcin de desbordamiento).
El tipo de un literal est determinado por su valor o por el carcter
de tipo que le sigue. Si no se especifica ningn carcter de tipo, los
valores del intervalo del tipo Integer tendrn el tipo Integer; los
valores fuera del intervalo de Integer tendrn el tipo Long. Si el tipo
de un literal de entero corresponde al tamao necesario para contener
el literal entero, se producir un error de tiempo de compilacin.
Un literal de punto flotante es un literal entero seguido de un punto
decimal opcional (el carcter de punto ASCII), la mantisa y un
exponente opcional de base 10. De forma predeterminada, un literal de
punto flotante es del tipo Double. Si se especifican los caracteres de
tipo Single, Double o Decimal, los literales sern de ese tipo. Si el
tipo de un literal de punto flotante no corresponde al tamao necesario
para contener el literal de punto flotante, se producir un error de
compilacin.
Module Module1
Sub Main()

Dim literalBooelan As Boolean = True


Dim literalEntera1 As Integer = 100
Dim literalEntera2 As Integer = &HE63
Dim literalEntera3 As Integer = &O1254

Console.WriteLine(literalBooelan)
Console.WriteLine(literalEntera1)
Console.WriteLine(literalEntera2)
Console.WriteLine(literalEntera3)
Console.ReadKey()

End Sub

End Module

Un literal de cadena es una secuencia de cero o ms caracteres Unicode


que comienza y finaliza con un carcter de comillas dobles ASCII.
Dentro de una cadena, una secuencia de caracteres de comillas dobles
es un escape que representa una comilla doble en la cadena. Una
constante de cadena es del tipo String.

Cada literal de cadena no genera necesariamente una nueva instancia de


cadena. Cuando dos o ms literales de cadena que son equivalentes segn
el operador de igualdad de cadena que utiliza semntica de comparacin
binaria aparecen en el mismo programa, estos literales de cadena se
refieren a la misma instancia de cadena.

Utilice el prefijo &h o &H para indicar un literal hexadecimal, el


prefijo &bo &B para indicar un literal binario, y el prefijo &o o &O
para indicar un literal octal. Los literales decimales no tienen
prefijo

Por ejemplo, el resultado del programa siguiente es True porque los


dos literales hacen referencia a la misma instancia de cadena.
Module Module1
Sub Main()

Dim a As Object = "hello"


Dim b As Object = "hello"
Console.WriteLine(a Is b)
Console.ReadKey()
End Sub
End Module

Un literal de carcter representa un nico carcter Unicode del tipo


Char. Dos caracteres de comillas dobles es un escape que representa un
carcter de comillas dobles.

Un literal de fecha representa un determinado momento en el tiempo


expresado como un valor del tipo Date. El literal puede especificar la
fecha y la hora, slo la fecha o slo la hora. Si se omite el valor de
fecha, se supone que es el 1 de enero del ao 1. Si se omite el valor
de hora, se supone que son las 12:00:00 a.m.

Para evitar problemas con la interpretacin del valor del ao en un


valor de fecha, el valor del ao no puede tener dos dgitos. Cuando se
expresa una fecha del primer siglo de nuestra era, se deben especificar
los ceros precedentes.

Se puede especificar el valor de hora mediante un valor de 24 horas o


de 12. Los valores de hora que omiten a.m. o p.m. se supone que son
valores de 24 horas. Si el valor de hora omite los minutos, se utiliza
el literal 0 de forma predeterminada. Si el valor de hora omite los
segundos, se utiliza el literal 0 de forma predeterminada. Si se omiten
los minutos y los segundos, se debe especificar a.m. o p.m.

Si el valor de fecha especificado est fuera del intervalo del tipo


Date, se producir un error de compilacin.
Module Module1
Sub Main()

Dim F As Date = #9/26/2017#

Console.WriteLine(F.Date)
Console.ReadKey()

End Sub

End Module
Nothing es un literal especial. No se considera que tenga un tipo y se
puede convertir a cualquier tipo del sistema de tipos. Cuando se
convierte a un tipo determinado, es el equivalente del valor
predeterminado de ese tipo.
Module Module1
Sub Main()

Dim i As Integer
Dim t As String
Dim b As Boolean
Dim f As Date
i = Nothing
t = Nothing
b = Nothing
f = Nothing

Console.WriteLine(i)
Console.WriteLine(t)
Console.WriteLine(b)
Console.WriteLine(f)
Console.ReadKey()

End Sub

End Module

1.3.3. Constantes
La instruccin Const se utiliza para declarar una constante y
establecer su valor. Al declarar una constante, puede asignar un nombre
significativo a un valor. Una vez que se declara una constante, no se
puede modificar ni se le puede asignar un nuevo valor.
Una constante puede declararse dentro de un procedimiento o en la
seccin de declaraciones de un mdulo, clase o estructura. Las
constantes de nivel de clase o de estructura son de tipo Private de
manera predeterminada, pero tambin se pueden declarar como Public,
Friend, Protected o Protected Friend segn el nivel apropiado de acceso
al cdigo.
La constante debe tener un nombre simblico vlido (las reglas son las
mismas que se aplican para la creacin de nombres de variables) y una
expresin que se componga de constantes numricas o de cadena, y
operadores; no obstante, no se pueden utilizar llamadas a funciones.
Module Module1
Public Const pi As Double = 3.1416
Sub Main()

Const dias As Byte = 7

Console.WriteLine(pi)
Console.WriteLine("La semana tiene {0} das y el pi vale {1}", dias, pi)
Console.ReadKey()
End Sub

End Module

1.3.4. Numeraciones
Las enumeraciones proporcionan una forma cmoda de trabajar con
conjuntos de constantes relacionadas y de asociar valores de constantes
con nombres. Por ejemplo, se puede declarar una enumeracin para un
conjunto de constantes de tipo entero asociadas con los das de la
semana, y despus utilizar los nombres de los das en el cdigo en
lugar de sus valores enteros.
Module Module1

Sub Main()
Dim diaHoy As String = Dias.Martes.ToString.Replace("_"c, " "c)

Dim dia As String = Dias.Vienes.ToString.Replace("_"c, " "c)

Dim d As Dias = Dias.Sbado


'Le damos formato con el mtodo ToString para que nos regrese el valor del Enum
Console.WriteLine("Da = {0}", d.ToString("f"))
Console.WriteLine(diaHoy)
Console.WriteLine(dia)
Console.ReadKey()

End Sub
Enum Dias As Byte
Lunes
Martes
Mircoles
Jueves
Vienes
Sbado
Domimgo
End Enum
End Module

1.4. Alcance de las variables


Una declaracin especifica los tipos de acceso de la entidad que
declara. El tipo de acceso de una entidad no cambia el mbito del
nombre de una entidad. El dominio de accesibilidad de una declaracin
es el conjunto de todos los espacios de declaracin por los que se
puede obtener acceso a la entidad declarada.
Los cinco tipos de acceso que hay son Public, Protected, Friend,
Protected Friend, y Private. Public es el tipo de acceso ms permisivo
y los otros cuatro tipos son subconjuntos de Public. El tipo de acceso
menos permisivo es Private y los otros cuatro tipos de acceso son todos
supraconjuntos de Private.
El tipo de acceso de una declaracin se especifica mediante un
modificador opcional de acceso, que puede ser Public, Protected,
Friend, Private o una combinacin de Protected y Friend. Si no se
especifica ningn modificador de acceso, el tipo de acceso
predeterminado depender del contexto de declaracin; los tipos de
acceso permitidos tambin dependern del contexto de declaracin.

Las entidades declaradas mediante el modificador Public tienen


acceso Public. No hay restricciones en el uso de entidades Public.

Las entidades declaradas mediante el modificador Protected tienen


acceso Protected. El acceso Protected slo se puede especificar
en miembros de clases (tanto miembros de tipo regular como clases
anidadas). Una clase derivada puede obtener acceso a un
miembro Protected, siempre que el miembro no sea un miembro de
una instancia o el acceso se realice a travs de una instancia de
la clase derivada. El acceso Protected no es un supraconjunto del
acceso Friend.

Las entidades declaradas mediante el modificador Friend tienen


acceso Friend. Una entidad con acceso Friend es accesible
nicamente dentro del programa que contiene la declaracin de la
entidad.

Las entidades declaradas mediante los modificadores Protected


Friend tienen acceso combinado de tipo Protected y Friend.

Las entidades declaradas mediante el modificador Private tienen


acceso de tipo Private. Una entidad Private slo es accesible
dentro del contexto de su declaracin, incluida cualquier entidad
anidada.

La accesibilidad en una declaracin no depende de la accesibilidad del


contexto de la declaracin. Por ejemplo, un tipo declarado con acceso
Private puede contener un miembro de tipo con acceso Public.

Public Class A
Public Shared X As Integer = 12
Friend Shared Y As Integer = 40
Private Shared Z As Integer = 60
End Class

Friend Class B
Public Shared X As Integer = 333
Friend Shared Y As Integer = 798
Private Shared Z As Integer = 685

Public Class C
Public Shared X As Integer = 234
Friend Shared Y As Integer = 234
Private Shared Z As Integer = 56
End Class

Private Class D
Public Shared X As Integer = 90
Friend Shared Y As Integer = 89
Private Shared Z As Integer = 55
End Class
End Class

1.5. Conversiones entre tipos de datos


Estas funciones se compilan en lnea, es decir, el cdigo de conversin
forma parte del cdigo que evala la expresin. A veces no se produce
una llamada a un procedimiento para realizar la conversin, lo que
mejora el rendimiento. Cada funcin convierte una expresin a un tipo
de datos especfico.

CType (Funcin)
La funcin CType toma un segundo argumento, typename, y convierte
expression en typename, donde typename puede ser cualquier tipo de
datos, estructura, clase o interfaz para la que exista una conversin
vlida.
Sub Main()

Dim a As Double = 300


Dim b As Single = CType(a, Single)

Dim obj As Object = "9/2/2017"


Dim dt As DateTime = CType(obj, DateTime)
Console.WriteLine(a)
Console.WriteLine(b)
Console.WriteLine()
Console.WriteLine(obj)
Console.WriteLine(dt)
Console.ReadKey()
End Sub

CBool (Funcin)
Contiene valores que pueden ser slo True o False. Las palabras clave
True y False corresponden a los dos estados de las variables boolenas.
Convierte valores de tipo de datos numricos a Boolean, 0 se convierte
False y todos los dems valores se convierten True.
Sub Main()

Dim a, b, c As Integer
Dim Check As Boolean
a = 5
b = 6
Console.WriteLine("{0} es igual a {1}", a, b)

Check = CBool(a = b)
Console.WriteLine(Check)

c = 1
Check = CBool(c)
Console.WriteLine("Un nmero mayor a cero ")
Console.WriteLine(Check)

c = 0
Check = CBool(c)
Console.WriteLine("El nmero cero ")
Console.WriteLine(Check)

c = -1
Check = CBool(c)
Console.WriteLine("Un nmero menor a cero ")
Console.WriteLine(Check)

Console.ReadKey()

End Sub

CByte (Funcin)
Cuando se utiliza CByte para convertir nmeros de coma flotante, los
valores fraccionarios hasta, pero no incluyendo .5 se redondean hacia
abajo, mientras que los valores anteriores, pero no incluyendo .5 se
redondean hacia arriba. Los valores cuya componente fraccional es
exactamente igual a 0,5 se redondean si su componente integral es impar
y hacia abajo si su componente integral es par.
Compruebe que el valor que pasa a CByte no es ni negativo ni superior
a 255
Si la expresin que se va a convertir es una cadena, la cadena debe
ser capaz de convertir a una expresin numrica; esto se puede
comprobar con la funcin IsNumeric
Sub Main()

Dim a As Byte
Dim b As Integer
b = 200.55

a = CByte(b)
Console.WriteLine(a)
Console.ReadKey()

End Sub

CChar (Funcin)
No convierte directamente entre Char y los tipos numricos. Se puede
utilizar el Asc o AscW funcin para convertir un valor Char a un Integer
que representa su punto de cdigo. Puede utilizar la funcin Chr o ChrW
para convertir un valor Integer en Char que tiene ese punto de cdigo.
CDate (Funcin)
CDbl (Funcin)
CDec (Funcin)
CInt (Funcin)
CLng (Funcin)
CObj (Funcin)
CSByte (Funcin)
CShort (Funcin)
CSng (Funcin)
CStr (Funcin)
CUInt (Funcin)
CULng (Funcin)
CUShort (Funcin)

Captulo 2. Mi primer proyecto Visual Basic.NET


2.1. Estructura de una solucin
Un proyecto se organiza segn una estructura jerrquica. El elemento
de ms alto nivel en esta estructura es la solucin.
La solucin es un contenedor lgico que agrupa a un conjunto de
proyectos distintos que pueden o no estar vinculados entre s. Cada
uno de los proyectos contiene uno o varios archivos que permitirn al
compilador generar un archivo ejecutable o una biblioteca de clases.
La compilacin de una solucin puede dar como resultado varias
aplicaciones y/o archivos .dll formando un conjunto coherente.

2.1.1. Creando una solucin


Cuando se trabaja con Visual Basic.NET existen dos formas de crear una
solucin. La ms evidente es utilizando Men>Archivo>Nuevo Proyecto o
bien seleccionado la plantilla Nueva Solucin en el cuadro de dialogo
que se abre.

1 2
Introducimos la informacin para obtener el resultado esperado como
por ejemplo el nombre de la solucin, ubicacin en la que se desea
guardar y el modo de creacin de solucin: En la instancia de Visual
Studio en curso que se requiere un proyecto que ya est abierto, o una
nueva instancia.
Una solucin puede contener muchos elementos organizados en un rbol.
Esta vista estndar del Explorador de Soluciones presenta la solucin
activa como un contenedor lgico de uno o ms proyectos y de los
elementos asociados a ellos. Puede abrir elementos de proyecto para
modificarlos, adems de llevar a cabo otras tareas de administracin
directamente desde esta vista. Dado que los distintos proyectos
almacenan los elementos de manera diferente, la estructura de carpetas
del Explorador de soluciones no refleja necesariamente el
almacenamiento fsico real de los elementos enumerados.
Un proyecto que se muestra en negrita est seleccionado como Proyecto
de inicio con fines de ejecucin y depuracin. Si hay ms de un proyecto
de inicio, se muestra en negrita el nodo de la solucin en la vista de
rbol. Los proyectos de inicio se ejecutan automticamente al iniciar
el depurador de Visual Studio. De forma predeterminada, el primer
proyecto creado en la solucin se designa como el proyecto de inicio,
pero se puede cambiar qu proyectos se ejecutan primera al generar o
ejecutar la solucin

1.2. Estructura de un proyecto