El documento resume los conceptos básicos de programación en VB.NET, incluyendo la estructura básica de un programa, declaraciones como Option, Imports, clases, módulos, propiedades, métodos y excepciones. Explica cómo utilizar sentencias como If, Select Case, bucles For y While, y eventos.
1. VB.NET Dr. Diego Lz. de Ipiña Gz. de Artaza http://paginaspersonales.deusto.es/dipina
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14. [ < 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 Declaración de Propiedad
15.
16.
17.
18. 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
19. 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
20. 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 )
21. 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 )
22. 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
23. 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
24. 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 Delegate s
25. 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
26. Interface ICustomerInfo ' Declaración de una interfaz Property CustomerName() As String Sub UpdateCustomerStatus() Event UpdateComplete() End Interface Ejemplo complejo clases I
27. 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
28. ‘ 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
29. Sub HandleUpdateComplete() ' Manejador de evento para UpdateComplete. MsgBox(“Actualización completada.") End Sub Ejemplo complejo clases IV
30.
31.
32. [ < attrlist > ] [{ 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
33.
34. ' 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
35.
36.
37. 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