Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Visual Net
Visual Net
NET
Dr. Diego Lz. de Ipia Gz. de Artaza http://paginaspersonales.deusto.es/dipina
El lenguaje VB.NET
En Visual Basic, un programa tiene los bloques estndar en todo programa. El cdigo de Visual Basic se guarda en mdulos de proyecto Proyecto se compone de ficheros que se compilan en una aplicacin Todo cdigo en VB.NET debe seguir la siguiente secuencia:
Sentencias Option Sentencias Imports Procedimiento Main Sentencias Class, Module, y Namespace Adems un programa puede contener sentencias de compilacin condicionales.
Sentencias Option I
Establecen reglas para el cdigo subsiguiente, ayudando a prevenir errores sintcticos y de lgica
La sentencia Option Explicit asegura que todas las variables estn declaradas y escritas correctamente
Evita que todas las variables declaradas sean de tipo Object Las variables se declaran usando Dim, Private, Public, or ReDim
Option Explicit On Fuerza la declaracin explcita de variables Dim MyVar As Integer ' Declara variable. MyInt = 10 Genera error al no estar la variable declarada MyVar = 10 ' Variable declarada por lo que no genera error
Sentencias Option II
La sentencia Option Strict ayuda a prevenir errores lgicos y de perdida de datos que ocurren cuando se trabaja con variables de diferente tipo.
Prohbe conversiones implcitas
Option Strict On Fuerza a declarar variables tambin Dim MyVar As Integer ' Declara variables. MyVar = 1000 ' Intento de convertir Integer a float genera error MyVar = 1234567890.987654321
Sentencias Imports
Permiten nombrar clases y otros tipos definidos en los espacios de nombres importados (o assemblies) sin tener que especificar el cmino absoluto a ellas.
Imports [ aliasname = ] namespace o Imports [ aliasname = ] namespace.element
Si no se especifica alias los elementos definidos en el namespace se referencian sin prefijo y si no prefijados con el alias Se pueden especificar varios Imports en un programa y deben de aparecer antes de las sentencias Module y Class
Imports Str = Microsoft.VisualBasic.Strings ' Coloca Imports al comienzo de tu programa Class MyClass1 Sub ShowHello() MsgBox(Str.Left(Hola", 5)) ' Visualiza "Hola" End Sub End Class
Procedimiento Main
Punto de comienzo" de una aplicacin el primer procedimiento accedido cuando ejecutas tu cdigo. Algunas de las tareas que puedes llevar a cabo dentro del cdigo del Main:
Cargar un formulario Averiguar si alguna copia de tu programa existe Abrir una conexin a una base de datos
Cuatro variedades:
Sub Main() la ms comn Sub Main(ByVal CmdArgs() As String) Function Main() As Integer Function Main(ByVal CmdArgs() As String) As Integer
Sentencia Class I
Declara el nombre de una clase, as como la definicin de variables, propiedades, eventos y mtodos que la componen
[ <attrlist> ] [ Public | Private | Protected | Friend | Protected Friend ] [ Shadows ] [ MustInherit | NotInheritable ] Class name [ Inherits classname ] [ Implements interfacenames ] [ statements ] End Class
Sentencia Class II
Public sin restricciones de acceso Private entidad accesible slo en contexto en que es declarada Protected accesible dentro de una clase o en hija de ella Friend accesible slo dentro del programa que contiene la declaracin de la entidad MustInherit no se pueden crear instancias de esta clase NotInheritable no se permite ms herencia name nombre de la clase Inherits esta clase deriva de classname classname (requerido) nombre de la clase de la que deriva Implements esta clase implementa una interfaz interfacename nombre de la interfaz derivada
Sentencia Class IV
Clases sin modificador de acceso son declaradas Friend por defecto Todo elemento dentro de una clase es por defecto pblico (mtodos) excepto campos y constantes que son privados Ejemplos: Public Class ThisClass ' [declaracin de variable, propiedad, mtodo y eventos] End Class
Declaracin de Propiedad
[ <attrlist> ] [ Default ] [ Public | Private | Protected | Friend | Protected Friend ] _ [[ ReadOnly | WriteOnly ] [ Overloads | Overrides ] _ [ Overridable | NotOverridable ] | MustOverride | Shadows | Shared ] _ Property varname([ ByVal parameter list ]) [ As typename ] [ Implements interfacemember ] [ <attrlist> ] Get [ block ] End Get [ <attrlist> ] Set(ByVal value As typename ) [ block ] End Set End Property
Declaracin de variable
Dim se usa para declarar espacio de almacenamiento para variables Ejemplos de uso:
Dim AnyValue, MyValue As Object ' Los nmeros se inicializan por defecto a 0. Dim Number As Integer Dim FirstNumber, SecondNumber, ThirdNumber As Integer Dim MyDate As Date, MyValue As Single, MySwitch As Boolean ' DayArray es un array de 51 Objects indexados de 0 a 50. Dim DayArray(50) As Object ' Matrix2 es un array bidimensional de tipo entero Dim Matrix2(3, 4) As Integer
Declaracin de constantes
Const define constantes Ejemplos de uso:
Const MyConst As Integer = 459 ' Declara una constante pblica de tipo string ' disponible slo a nivel de clase Public Const MyString As String = "HELP" ' Declara una constante privada de tipo Integer Private Const MyInt As Integer = 5
Sentencias If
Sintxis:
If condition [ Then ] [ statements ] [ ElseIf elseifcondition [ Then ] [ elseifstatements ] ] [ Else [ elsestatements ] ]
Ejemplo If
Dim Number, Digits As Integer Dim MyString As String Number = 53 ' Inicializa variable. If Number < 10 Then Digits = 1 ElseIf Number < 100 Then Digits = 2 Else Digits = 3 End If If Digits = 1 Then MyString = "One" Else MyString = "More than one"
Excepciones I
Module Test Sub F() Try G() Catch e As Exception Console.WriteLine("Exception in F: " & e.Message) e = New Exception("F") ' Relanzar excepcin. Throw e End Try End Sub
Excepciones II
Sub G() Throw New Exception("G") End Sub Sub Main() Try F() Catch e As Exception Console.WriteLine("Exception in Main: " & e.Message) End Try End Sub End Module
Delegates
Delegate Function DoubleFunc(x As Double) As Double Class A Private f As New DoubleFunc(AddressOf Square) Overloads Shared Function Square(x As Single) As Single Return x * x End Function Overloads Shared Function Square(x As Double) As Double Return x * x End Function End Class
Eventos
Public Class EventSource ' Declara un evento Public Event LogonCompleted(ByVal UserName As String) Sub CauseEvent() ' Lanza un evento despus de login correcto. RaiseEvent LogonCompleted(Deusto") End Sub End Class
Sentencia Namespace
Declara el nombre de un espacio de nombres Namespace { name | name.name } [componenttypes ] End Namespace
componenttypes contiene enumeraciones, estructuras, interfaces, clases, mdulos, delegates y otros espacios de nombres similares a paquetes en Java
Ejemplo Namespaces
Declaracin namespaces anidados:
Namespace N1 ' Declara espacio de nombres N1. Namespace N2 ' Declara espacio de nombres N2 dentro de N1. Class A ' Declara una clase dentro de N1.N2. ' Aade una clase. End Class End Namespace End Namespace
Ejemplo Sub
' Procedure Sub procedure con dos argumentos. Sub SubComputeArea(ByVal Length As Double, ByVal Width As Double) Dim Area As Double ' Declara variable local. If Length = 0 Or Width = 0 Then ' Si algn argumento es 0, salir del procedure Exit Sub ' Exit Sub immediately. equivalente a Return End If Area = Length * Width ' Calcula rea del rectngulo. Debug.WriteLine(Area) ' Imprime valor de rea. End Sub
Sentencia Function
Sintxis similar a Sub pero devuelve un valor
' Procedure Sub con dos argumentos. Public Function CalcSum(ByVal ParamArray Args() As Double) As Double Dim I As Integer CalcSum = 0 If Args.Length <= 0 Then Exit Function ' No se han pasado args. For I = 0 To UBound(Args, 1) CalcSum += Args(I) Next I End Function ' Devuelve ltimo valor de CalcSum.