Ingeniero en Informática


Visual Basic


MANUALILLO DE VISUAL BASIC.NET

Este manualillo sólo pretende ser una mera introducción a lo que es vb.net, y es poca la información encontrada hasta ahora del lenguaje, no espero cubrir todo sino medianamente informar de a cuerdo a lo que he leído de diversas fuentes. Estoy aprendiendo también y creo que realizando este trabajito se aprenden muchas cosas. Cualquier error por favor me disculpan no pretendo ser un duro en esto sino como dije antes es una forma de aprender y que otros aprendan.

Tampoco se explica lo que es la plataforma .Net FrameWork, como introducción sino que a medida que se avance el usuario se dará cuenta de que es y como se usa.

Al final de cada capítulo se realizan ejemplos para que puedan usarlos de prueba, claro esta que estos ejemplos son en modo consola, posteriormente se introducirán en el entorno visual.

Este manual no es exactamente para un novato, debe tener ideas de programación, al menos haber programado en algún lenguaje.

Cuando se finalice el capítulo 7 se cambiará todo a páginas html.

En el primer capitulo se estudia los tipos de datos soportados por vb.net.

El capítulo 2 se estudia los operadores

El capítulo 3 se estudia las instrucciones básicas que comprenden las condiciones, los ciclos etc.

Aquí se realizará un estudio de los tipos de datos como objetos de clase, donde se les mostrará los métodos intrínsecos que poseen.

El capítulo 4 se estudia las funciones y procedimientos

El capítulo 5 se estudia las arreglos y las matrices

El capítulo 6 se estudia las excepciones

El capítulo 7 Archivos

El capitulo 8 El entorno visual de Microsoft visual basic.net, aquí en este capítulo se verán ejemplos con algunos controles básicos como son las etiquetas, los cuadros de texto, iteración con la forma, botones, listas, combos y algunos otros.

El capitulo 9 se estudiarán los menús, las barras de herramientas, de estado, cuadros de diálogos comunes.

El capitulo 10 se verán las clases

1. Tipos de datos

Los tipos de datos soportados por vb.net son

Boolean

Byte

Char

Date

Decimal

Double

Integer

Long

Short

Single

String

Object

Ahora se muestra una tabla para indicar los valores que pueden almacenar

Dato

Cantidad de memoria

Capacidad

Boolean

2 bytes

True o False

Byte

1 byte

1 Byte sin signo comprende un número entre 0 a 255

Char

2 bytes

Un carácter Unicode o número sin signo comprendido con un rango de 0 y 65535

Date

8 bytes

fechas comprendidas entre

el 1 de enero del año 1

y el 31 de diciembre de

9999, y horas desde las

0:00:00 (medianoche) a las 1:59:59.

Decimal

16 bytes

El mayor valor posibles es de +/-79.228.162.514.264.337.593.543.950.335. Para números con 28 decimales, el mayor valor posible es de +/- 7,9228162514264337593543950335 mientras que el menor valor posible distinto de cero es +/- ,0000000000000000000000000001 (+/-1E-28).

Double

8 bytes

Se almacenan como números IEEE de punto flotante de doble precisión Los valores van desde -1,79769313486231570E+308 a -

4,94065645841246544E-324 para números negativos y de 4,94065645841246544E-324 a 1,79769313486231570E+308 para números positivos.

Integer

4 bytes

Valores con signo comprendidos entre -2.147.483.648 y 2.147.483.647.

Long

8 bytes

valores con signo comprendidos entre -9.223.372.036.854.775.808 y 9.223.372.036.854.775.807.

Short

2 bytes

- 32.768 a 32.768

Single

4 bytes

Se almacenan como números IEEE de punto flotante de precisión simple con valores que van de -3,4028235E+38 a -1,401298E-45 para números negativos y de 1,401298E-45 a 3,4028235E+38 para números positivos. Los números de precisión simple almacenan aproximaciones de números reales.

String

La longitud de un objeto String puede ir desde cero hasta, aproximadamente, dos mil millones de caracteres. Cada carácter es un valor Unicode de 16 bits.

Object

4 bytes

Al declarar una variable como Object, puede utilizarla posteriormente para hacer referencia a cualquier objeto reconocido por la aplicación.

Para asignar a una variable un valor se procede de la siguiente manera

  • se declara la variable y

  • luego se asigna con el operador “=”. Se presentan 2 opciones

  • a. Dim va As Integer

    va=5

  • Dim va As Integer=5

  • Y las constantes se declaran como

    Const n as Integer=10 `En esta línea no usamos Dim porque es constante precisamente.

    También se pueden declarar varias variables en una misma línea por ejemplo:

    Dim a,b,c As Short

    En la línea anterior a, b y c serán de tipo Short

    Lo anterior se pudo haber escrito como:

    Dim a As Short

    Dim b As Short

    Dim c As Short

    O bien

    Dim a As Short,b As Short,c As Short

    No es recomendable dejar una variable sin indicar el tipo por ejemplo:

    Dim i

    Esto generaría un error después de declarar la Option Strict en On, porque indicaría que no se debe dejar sin declarar el tipo.

    Algo que no se puede hacer es lo siguiente:

    Dim i,b As short=5

    Porque generaría un error indicando que no se puede inicializar varias variables al tiempo.

    Lo cual se haría de la siguiente manera

    Dim As Short,b As short=5

    Aunque solo b tendrá un valor de 5

    Igualmente

    Dim a As Short,b,c As integer,d As Short=3

    Sólo d tendrá un valor de 3

    Todas las variables numéricas al no inicializarlas tendrán como valor inicial 0, las variables de tipo char tendrán un null o vacía.

    Ejemplos 1

    Module Module1

    Sub Main()

    Dim A As Short = 2, B As Short

    B = 4

    Console.Write("A={0},B={1}", A, B)

    Console.Read()

    End Sub

    End Module

    Esto da como resultado

    A=2,B=4

    2. Operadores

    Los operadores se utilizan para realizar operaciones aritméticas con los datos contenidos dentro de las variables. Estos son:

    * / \

    +-

    *= /= += -= y otros que están mostrados en una tabla más adelante

    Los paréntesis indican cómo se necesita ejecutar una operación aritmética. Por ejemplo observe el resultado de las dos operaciones siguientes.

    Dim i As Short=5

    Dim j As Short=10

    1 i* j+5

    2 i* (j+5)

    La línea 1 da como resultado 55

    La línea 2 da cómo resultado 75

    Los operadores += y -= se utilizan para sumar o restar la unidad a una variable por ejemplo

    Dim i As Short

    i+=1

    i-=1

    sin embargos se pueden usar de la manera normal o sea

    i=i+1

    ó

    i=i-1

    Los otros operadores se usan de igual forma

    El siguiente cuadro resume los operadores de vb.net

    Acción

    Elemento del lenguaje

    Aritméticos

    ^, -, *, /, \, Mod, +, =

    Asignación

    =, ^=, *=, /=, \=, +=, -=¸ &=

    Comparación

    =, <>, <, >, <=, >=, Like, Is

    Concatenación

    &, +

    Operadores lógicos/bit a bit

    Not, And, Or, Xor, AndAlso, OrElse

    Varias operaciones

    AddressOf, GetType

    Por ejemplo si usamos una variable string

    Dim var1 As String = "10"

    Dim var2 As String = "3"

    var1 += var2 ' El valor de var1 ahora es "103".

    Sería una buena practica de programación si se activa la opción Option Strict o sea que esté en On y no en Off para que obligue a que los tipos de datos que se usen sean del tipo adecuado. Además de Option Explicit en On para que todas las variables sean declaradas

    Cuando está activa esta opción no se puede realizar la siguiente asignación

    Dim carácter As Char=”A”

    Porque generaría un error indicando que no se puede convertir un tipo string a char lo mejor sería definirla como

    Dim carácter As Char=”A”c

    Ejemplo 2

    Option Strict On

    Module Module1

    Sub Main()

    Dim A As Char = "E"c, B As Char = "A"c

    Dim union As String

    union &= A

    union &= B

    Console.Write("union={0}", union)

    Console.Read()

    End Sub

    End Module

    Esto da como resultado

    Union=EA

  • Instrucciones básicas

  • Las instrucciones básicas de todo lenguaje comprende las condiciones y los ciclos.

    Entre ellas veremos:

    If

    Esta se usa para preguntar por ejemplo

    Dim i As Short=5

    If i > 0 then

    `Haga cualquier cosa

    End if

    Como también se puede evaluar la parte negativa

    If i > 0 then

    `Haga cualquier cosa

    else

    `Tambien haga cualquier cosa

    End if

    Cómo también se puede evaluar varias alternativas cómo

    If i =1 0 then

    `Muestre el valor

    elseif i=2 then

    `Muestre el valor

    else

    `Tambien haga cualquier otra cosa

    End if

    También podemos usar la funcion IIF, que funciona de la siguiente forma

    iif(i=1,”uno”,”otro”) o iif(i>0,”Positivo”,”Negativo”), si tuviéramos el siguiente caso

    if B=5 then

    A=1

    Elseif B<=0 then

    A=-1

    Elseif B>5 then

    A=1

    Else

    A=0

    End if

    Lo llevaríamos a la función iif de la siguiente forma

    A=iif(B=5,1,iif(B<=0,-1,iif(B>5,1,0)))

    Sin embargo tenemos otra opción, la función Switch

    A=Switch(B=5,1,B<=0,-1,B>5,1)

    Como observará el primer elemento de cada pareja es la expresión a evaluar.

    También se puede anidar las instrucciones if

    Por ejemplo

    If A>0 then

    If (A mod 2 )=0 then

    `Número par

    Else

    `Número impar

    End if

    Else

    `Nùmero negativo

    End if

    Select case

    Esta instrucción permite evaluar múltiples valores por ejemplo:

    Dim B As Short =30

    Select case B

    Case 5

    `Si fuera igual a 5

    Caso Is < 10

    `Si fuera menor a 10

    Case Is> 20

    `Si fuera mayor a 20

    Case 23 to 25

    `Si fuera mayor o igual a 23 y menor e igual a 25

    Case 1 to 2

    `Si fuera 1 o 2

    Case 26 to 28,31

    `Si fuera mayor o igual a 26 y menor e igual a 28 o si es 31

    Case else

    `Si no es ninguna de las anteriores

    End select

    Do While

    Este ciclo es mejor mostrarlo un ejemplo supongo que con eso es suficiente

    Se ciclo se realiza mientras la condición sea verdadera o para este caso mientras i sea mayor que 0, observe que si i no fuera mayor que cero al ingresar no realizaría el ciclo

    Option Strict On

    Module Module1

    Sub Main()

    Dim i As Integer = 5

    Do While i > 0

    Console.WriteLine(i)

    i -= 1

    Loop

    Console.Read()

    End Sub

    End Module

    Debe generar como resultado

    5

    4

    3

    2

    1

    Do

    Loop While

    Igual que anterior es mejor mostrarlo con un ejemplo

    Este ciclo se realiza mientras i sea mayor que 0, observe que si i fuera menor que cero al menos ingresaría una vez al ciclo

    Option Strict On

    Module Module1

    Sub Main()

    Dim i As Integer = 5

    Do

    Console.WriteLine(i)

    i -= 1

    Loop While i > 0

    Console.Read()

    End Sub

    End Module

    Debe generar como resultado

    5

    4

    3

    2

    1

    El ciclo for se analizará cuando veamos arreglos

    Ejemplo 3

    Option Strict On

    Module Module1

    Sub Main()

    Dim B As Short = 6, A As Short

    If B = 5 Then

    A = 1

    ElseIf B <= 0 Then

    A = -1

    ElseIf B > 5 Then

    A = 1

    Else

    A = 0

    End If

    Console.Write("A={0}", A)

    Console.Read()

    End Sub

    End Module

    Esto da como resultado

    A=1

    Ejemplo 4

    Option Strict On

    Module Module1

    Sub Main()

    Dim B As Short = 30

    Select Case B

    Case 5

    'Si fuera igual a 5

    Console.Write("B={0}", B)

    Case Is < 10

    'Si fuera menor a 10

    Console.Write("B={0}", B)

    Case Is > 20

    'Si fuera mayor a 20

    Console.Write("B={0}", B)

    Case 23 To 25

    'Si fuera mayor o igual a 23 y menor e igual a 25

    Console.Write("B={0}", B)

    Case 1 To 2

    'Si fuera 1 o 2

    Console.Write("B={0}", B)

    Case 26 To 28, 31

    'Si fuera mayor o igual a 26 y menor e igual a 28 o si es 31

    Console.Write("B={0}", B)

    Case Else

    'Si no es ninguna de las anteriores

    Console.Write("ninguna de las anteriores")

    End Select

    Console.Read()

    End Sub

    End Module

    Esto da como resultado

    B=30

    Ejemplo 5

    Option Strict On

    Module Module1

    Sub Main()

    Dim i As Integer

    Dim j As Integer

    Dim c As Char

    i = Console.Read()'aqui lee un carácter

    c = Microsoft.VisualBasic.Chr(i)'Lo convierte a carácter

    j = Microsoft.VisualBasic.Val(c)'Lo convierte a integer

    j += 5

    Console.WriteLine("j: {0}", j)'Muestra el resultado

    Console.ReadLine()

    End Sub

    End Module

    Si le digitamos 5 para el valor de i

    Esto da como resultado

    J:10

    Observe que en este ejemplo se usan las funciones de la versión anterior de visual basic.net

    TIPOS DE DATOS COMO OBJETOS DE CLASE

    Antes de introducirnos en este tema se debe aclara que es una clase y objeto

    Clase: Son tipos de datos a partir de los cuales podemos crear objetos, estos pueden contener miembros, métodos, propiedades etc.

    Objeto: Es una instancia de una clase

    Los tipos de datos en visual basic.net son objetos de clase, cada vez que se crea un objeto bien sea short, integer o cualquier otro se crea un objeto de clase short, integer o cualquier otro tipo de datos.

    Las clases numéricas

    En esta sección veremos las siguientes clases

    La clase Integer

    Esta clase almacena un datos de tipo entero. Alguno de sus métodos son:

    CompareTo Compara esta instancia con un objeto especificado y devuelve una indicación de los valores relativos.

    Equals Devuelve un valor que indica si la instancia equivale a un objeto especificado.

    GetHashCode Devuelve el código hash de esta instancia.

    GetType Obtiene el tipo de objeto de la instancia actual

    Parse Convierte la representación en forma de cadena de un número en el entero de 32 bits con signo equivalente.

    ToString Convierte el valor numérico de esta instancia en la representación de cadena equivalente.

    Ahora se realizarán ejemplos para mostrar cada uno de los métodos anteriores

    CompareTo Este método lo que hace es una comparación con otro objeto o consigo mismo verificando si es igual en su contenido.

    Por ejemplo

    Este ejemplo compara dos objetos de tipo integer verificando el contenido.

    Hay 3 posibilidades

    Si el resultado es =0 indica que el contenido en el objeto es igual que el contenido almacenado en el objeto pasado como parámetro

    Si el resultado es >0 indica que el contenido en el objeto es mayor que el contenido almacenado en el objeto pasado como parámetro

    Si el resultado es >0 indica que el contenido en el objeto es menor que el contenido almacenado en el objeto pasado como parámetro

    Module Module1

    Sub Main()

    Dim i As Integer = 5

    Dim j As Integer = 4

    Dim r As Integer

    r = i.CompareTo(j)

    If r > 0 Then

    Console.Write("i={0} es mayor que j={1}", i, j)

    ElseIf r < 0 Then

    Console.Write("j={0} es menor que i={1}", j, i)

    Else

    Console.Write("i={0} es igual a j={1}", i, j)

    End If

    Console.Read()

    End Sub

    End Module

    Dará como resultado

    i=5 es mayor que j=4

    Equals compara dos objetos del mismo tipo retorno true o false

    Por ejemplo

    Module Module1

    Sub Main()

    Dim i As Integer = 5

    Dim j As Integer = 4

    Dim r As Boolean

    r = i.Equals(j)

    If r = True Then

    Console.Write("i={0} es igual a j={1}", i, j)

    Else

    Console.Write("i={0} es diferente de j={1}", i, j)

    End If

    Console.Read()

    End Sub

    End Module

    Dará como resultado

    I=5 es diferente de j=4

    Si j tuviera 5 el resultado sería

    I=5 es igual a j=4

    GetHashCode Devuelve el codigo hash de esta instancia (Realmente no sé la utilidad)

    Ejemplo

    Module Module1

    Sub Main()

    Dim i As Integer = 5

    Console.Write("Código hash para i:{0}={1}", i, i.GetHashCode())

    Console.Read()

    End Sub

    End Module

    Dará como resultado

    i:5=5

    GetType indica el tipo de objeto

    Ejemplo

    Module Module1

    Sub Main()

    Dim i As Integer = 5

    Console.Write("i es un Tipo de dato {0}", i.GetType())

    Console.Read()

    End Sub

    End Module

    Dará como resultado

    i es un Tipo de dato System.Int32

    Se preguntarán porque System.Int32 lo que pasa es que ése es el verdadero nombre que tiene el tipo de dato Integer en la plataforma .net framework y ahora se llama Integer para conservar la compatibilidad con las versiones anteriores, es simplemente lo vb.net muestra pero realmente hace uso de la anterior.

    Parse convierte una cadena que representa un número Integer a un número Integer

    Ejemplo

    Module Module1

    Sub Main()

    Dim i As Integer

    Dim valor As String

    valor = 31000

    'Primera opción

    i = Integer.Parse(valor)

    'Segunda opción

    ' se coloca en comentario

    'si quiere coloca en comentario la línea de

    'la primera opción y quita el comentarió de l

    'la segunda

    'i = i.Parse(valor)

    Console.Write("i={0}", i)

    Console.Read()

    End Sub

    End Module

    ToString Este método convierte a cadena el número especificado

    Ejemplo

    Module Module1

    Sub Main()

    Dim i As Integer = 31550

    Dim valor As String

    valor = i.ToString()

    Console.Write("valor={0}", valor)

    Console.Read()

    End Sub

    End Module




    Descargar
    Enviado por:El remitente no desea revelar su nombre
    Idioma: castellano
    País: Nicaragua

    Te va a interesar