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" Ejemplo If
Dim Number As Integer = 8 Select Number ' Evalúa número. Case 1 To 5 ' Número entre 1 y 5 Debug.WriteLine(“Entre 1 y 5") Case 6, 7, 8 ' Número entre 6 y 8 Debug.WriteLine(“Entre 6 y 8") Case 9 To 10 ' Número entre 9 y 10 Debug.WriteLine(“Mayor que 8") Case Else ' Otros valores Debug.WriteLine(“No entre 1 y 10") End Select Sentencia Select … Case
Dim Counter As Integer = 0 While Counter < 20 ‘ Evaluar el valor de Counter. Counter += 1 ' Incrementar Counter. End While ' Finalizar cuando counter=20 Debug.WriteLine (Counter) ' Imprime 20
Sentencias iterativas (While)
Dim Words, Digit As Integer Dim MyString As String For Words = 10 To 1 Step -1 ' Realizar 10 repeticiones For Digit = 0 To 9 ' Otras 10 MyString = MyString & CStr(Digit) 'Añadir num a string Next Digit ' Incrementar counter MyString = MyString & " " ' Añadir un space. Next Words
Sentencias iterativas (For)
Module Test Sub F() Try G() Catch e As Exception Console.WriteLine("Exception in F: " & e.Message) e = New Exception("F") ' Relanzar excepción. Throw e End Try End Sub
Excepciones I
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 Excepciones II
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 Delegates
Public Class EventSource ' Declara un evento Public Event LogonCompleted(ByVal UserName As String) Sub CauseEvent() ' Lanza un evento después de login correcto. RaiseEvent LogonCompleted(“Deusto") End Sub End Class Eventos
Interface ICustomerInfo ' Declaración de una interfaz Property CustomerName() As String Sub UpdateCustomerStatus() Event UpdateComplete() End Interface
Ejemplo complejo clases I
Public Class CustomerInfo ' CustomerInfo implementa interfaz IcustomerInfo Implements ICustomerInfo Private CustomerNameValue As String ' Para guardar el valor de la propiedad Public Event UpdateComplete() Implements ICustomerInfo.UpdateComplete Public Property CustomerName() As String Implements _ ICustomerInfo.CustomerName Get Return CustomerNameValue End Get Set(ByVal Value As String) CustomerNameValue = Value ' Guarda el valor del atributo. End Set End Property Public Sub UpdateCustomerStatus() Implements _ ICustomerInfo.UpdateCustomerStatus ' Añadir código para modificar estado cuenta ' Lanzar evento para indicar que este método se ha ejecutado. RaiseEvent UpdateComplete() End Sub End Class Ejemplo complejo clases II
‘ Métodos para probar clase Public Sub TestImplements() Dim Cust As New CustomerInfo() ' Asociar manejador para eventos lanzados por objeto Cust AddHandler Cust.UpdateComplete, AddressOf HandleUpdateComplete ' Asignar valor a la propiedad CustomerName Cust.CustomerName = “Diego" ' Recuperar y visualizar valor propiedad MsgBox(“Nombre cliente: " & Cust.CustomerName) ' Invoca UpdateCustomerStatus para lanzar evento UpdateComplete event. Cust.UpdateCustomerStatus() End Sub
Ejemplo complejo clases III
Sub HandleUpdateComplete() ' Manejador de evento para UpdateComplete. MsgBox(“Actualización completada.") End Sub Ejemplo complejo clases IV
Declara el nombre de un espacio de nombres Namespace { name | name.name } [componenttypes ] End Namespace componenttypes contiene enumeraciones, estructuras, interfaces, clases, módulos, delegates y otros espacios de nombres similares a paquetes en Java Sentencia Namespace
Declaración 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. ' Añade una clase. End Class End Namespace End Namespace Lo mismo en una sola línea: Namespace N1.N2 ' Declara dos espacios de nombres: N1 y N2. Class A ' Declara una clase dentro de N1.N2. ' Añade una clase aquí. End Class End Namespace
Ejemplo Namespaces
[ ] [{ Overloads | Overrides | Overridable | NotOverridable | MustOverride | Shadows | Shared }] [{ Public | Protected | Friend | Protected Friend | Private }] Sub name [(arglist)] [ Implements interface.definedname ] [ statements ] [ Exit Sub ] [ statements ] End Sub Procedimientos con Sub I
Lista de atributos de este procedimiento Overloads ? Este procedimiento (método) sobrecarga otro declarado en una clase base Overrides ? sobreescribe método de clase base Overridable/NotOverridable ? método puede [NO] ser sobrecargado MustOverride ? método es abstracto, debe ser sobreescrito por clase que deriva Cada argumento en arglist tiene el siguiente formato: [ ] [ Optional ] [{ ByVal | ByRef }] [ ParamArray ] argname[( )] [ As argtype ] [ = defaultvalue ]
Procedimientos con Sub II
' 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 algún argumento es 0, salir del procedure Exit Sub ' Exit Sub immediately. ‘ equivalente a Return End If Area = Length * Width ' Calcula área del rectángulo. Debug.WriteLine(Area) ' Imprime valor de área. End Sub
Ejemplo Sub
Sintáxis 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. La función puede ser llamada como: Dim ReturnedValue As Double ReturnedValue = CalcSum(4, 3, 2, 1) ' Args(0) = 4, Args(1) = 3, and so on. Sentencia Function
Pueden aparecer en cualquier lugar en un módulo. Se ejecutan si ciertas condiciones se cumplen Se pueden también usar para hacer debugging de tu aplicación, es la única situación en la que se ejecutan. Sentencias de compilación condicional
Hola Mundo en VB.NET ' fichero: hola.vb ' compilar: vbc hola.vb Imports System
module Hello sub main() Console.WriteLine(“Hola desde VB.NET”) end sub end module
Para compilar y ejecutar desde línea de comando: Crear código fuente usando un editor de texto y llamarlo hola.vb. Invocar el compilador, escribiendo el comando: vbc hola.vb Si no hay errores de compilación, el compilador genera el fichero hola.exe Para ejecutar el comando escribir: hola
Compilando y ejecutando Hola Mundo
Página anterior | Volver al principio del trabajo | Página siguiente |