• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
5 Vb.Net
 

5 Vb.Net

on

  • 2,393 views

 

Statistics

Views

Total Views
2,393
Views on SlideShare
2,393
Embed Views
0

Actions

Likes
2
Downloads
111
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    5 Vb.Net 5 Vb.Net Presentation Transcript

    • VB.NET Dr. Diego Lz. de Ipiña Gz. de Artaza http://paginaspersonales.deusto.es/dipina
      • En Visual Basic, un programa tiene los bloques estándar en todo programa.
      • El código de Visual Basic se guarda en módulos de proyecto
        • Proyecto se compone de ficheros que se compilan en una aplicación
      • Todo código en VB.NET debe seguir la siguiente secuencia:
        • Sentencias Option
        • Sentencias Imports
        • Procedimiento Main
        • Sentencias Class , Module , y Namespace
        • Además un programa puede contener sentencias de compilación condicionales.
      • Si el código introducido no sigue este orden se producen errores de compilación.
      El lenguaje VB.NET
      • Establecen reglas para el código subsiguiente, ayudando a prevenir errores sintácticos y de lógica
        • La sentencia Option Explicit asegura que todas las variables están 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 declaración explícita 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 I
        • La sentencia Option Strict ayuda a prevenir errores lógicos y de perdida de datos que ocurren cuando se trabaja con variables de diferente tipo.
          • Prohíbe conversiones implícitas
          • Option Strict On ‘ Fuerza a declarar variables también
          • Dim MyVar As Integer ' Declara variables.
          • MyVar = 1000 '
          • ‘ Intento de convertir Integer a float genera error
          • MyVar = 1234567890.987654321
      Sentencias Option II
        • La sentencia Option Compare establece la manera en la que los strings son comparados, por formato binario (basado en la representación binaria interna de los datos) o textual (case insensitive).
        • ‘ Establece el modo de comparación a binario
        • Option Compare Binary ' Esto es, "AAA" es menor que "aaa".
        • ' Establece el modo de comparación a textual
        • Option Compare Text ' Esto es, "AAA" es igual a "aaa "
      Sentencias Option III
      • Permiten nombrar clases y otros tipos definidos en los espacios de nombres importados (o assemblies) sin tener que especificar el cámino 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
      Sentencias Imports
      • “ Punto de comienzo" de una aplicación — el primer procedimiento accedido cuando ejecutas tu código.
      • Algunas de las tareas que puedes llevar a cabo dentro del código del Main :
        • Cargar un formulario
        • Averiguar si alguna copia de tu programa existe
        • Abrir una conexión a una base de datos
      • Cuatro variedades:
        • Sub Main()  la más común
        • Sub Main(ByVal CmdArgs() As String)
        • Function Main() As Integer
        • Function Main(ByVal CmdArgs() As String) As Integer
      Procedimiento Main
      • La mayoría del código de un aplicación VB lo definen las clases y los módulos
        • Contienen sentencias:
          • Sub
          • Function
          • Event
          • Declaraciones de variables y otras partes del código necesarias para hacer que tu aplicación se ejecute.
      Sentencias Class , Module y Namespace
      • Declara el nombre de una clase, así como la definición de variables, propiedades, eventos y métodos que la componen
        • [ < attrlist > ] [ Public | Private | Protected | Friend | Protected Friend ] [ Shadows ] [ MustInherit | NotInheritable ]
        • Class  name
        • [ Inherits classname  ]
        • [ Implements interfacenames ]
        • [ statements ]
        • End Class
      Sentencia Class I
        • Public  sin restricciones de acceso
        • Private  entidad accesible sólo en contexto en que es declarada
        • Protected  accesible dentro de una clase o en hija de ella
        • Friend  accesible sólo dentro del programa que contiene la declaración de la entidad
        • MustInherit  no se pueden crear instancias de esta clase
        • NotInheritable  no se permite más 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 II
        • statements  variables, propiedades, eventos y métodos dentro de la clase
        • End Class  termina un bloque de clase
        • Cada atributo en attrlist tiene la siguiente sintáxis y partes:
        • attrname [ ( { attrargs | attrinit } ) ], attrlist Parts
          • attrname  (requerido) nombre del atributo
          • attrargs  (o ptional) lista de argumentos del atributo
          • attrinit  (o pcional) lista de campos o propiedades para inicializar el atributo, si hay varios separados por comas
      Sentencia Class III
      • Clases sin modificador de acceso son declaradas Friend por defecto
      • Todo elemento dentro de una clase es por defecto público (métodos) excepto campos y constantes que son privados
      • Ejemplos:
      • Public Class ThisClass
      • ' [declaración de variable, propiedad, método y eventos]
      • End Class
      Sentencia Class IV
      • Ejemplo simple herencia:
      • Public Class ThisClass
      • Inherits AnotherClass
      • ' Añade código para sobreescribir, sobrecargar o extender miembros
      • ' hereda de AnotherClass.
      • ...' Declaraciones de variable, propiedad, método, y eventos
      • End Class
      Ejemplos declaración clases
    • [ < 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
      • Dim  se usa para declarar espacio de almacenamiento para variables
      • Ejemplos de uso:
      • Dim AnyValue, MyValue As Object
      • ' Los números 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
      Declaración de variable
      • Const  define constantes
      • Ejemplos de uso:
      • Const MyConst As Integer = 459
      • ' Declara una constante pública de tipo string
      • ' disponible sólo a nivel de clase
      • Public Const MyString As String = &quot;HELP&quot;
      • ' Declara una constante privada de tipo Integer
      • Private Const MyInt As Integer = 5
      Declaración de constantes
      • Sintáxis:
      • If condition [ Then ]
      • [ statements ]
      • [ ElseIf elseifcondition [ Then ]
      • [ elseifstatements ] ]
      • [ Else
      • [ elsestatements ] ]
      • End If ó
      • If condition Then [ statements ] [ Else elsestatements ]
      Sentencias 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 = &quot;One&quot; Else MyString = &quot;More than one&quot; 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&quot;) Case 6, 7, 8 ' Número entre 6 y 8 Debug.WriteLine(“Entre 6 y 8&quot;) Case 9 To 10 ' Número entre 9 y 10 Debug.WriteLine(“Mayor que 8&quot;) Case Else ' Otros valores Debug.WriteLine(“No entre 1 y 10&quot;) 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 & &quot; &quot; ' Añadir un space. Next Words Sentencias iterativas ( For )
    • Module Test Sub F() Try G() Catch e As Exception Console.WriteLine(&quot;Exception in F: &quot; & e.Message) e = New Exception(&quot;F&quot;) ' Relanzar excepción. Throw e End Try End Sub Excepciones I
    • Sub G() Throw New Exception(&quot;G&quot;) End Sub Sub Main() Try F() Catch e As Exception Console.WriteLine(&quot;Exception in Main: &quot; & 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 Delegate s
    • 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&quot;) 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&quot; ' Recuperar y visualizar valor propiedad MsgBox(“Nombre cliente: &quot; & 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.&quot;) 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
    • [  < 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
      • 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:
      • [  < attrlist >  ] [ 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