• Save
Introducción a la programación
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Introducción a la programación

on

  • 2,313 views

Sintaxis básica del lenguaje de programación Visual Basic.NET

Sintaxis básica del lenguaje de programación Visual Basic.NET

Statistics

Views

Total Views
2,313
Views on SlideShare
2,192
Embed Views
121

Actions

Likes
1
Downloads
0
Comments
0

8 Embeds 121

http://dunbit.blogspot.com 48
http://dunbit.blogspot.mx 27
http://dunbit.blogspot.com.es 27
http://dunbit.blogspot.com.ar 8
http://www.slideshare.net 5
http://dunbitformacion.blogspot.com 3
http://www.linkedin.com 2
https://www.linkedin.com 1
More...

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NoDerivs LicenseCC Attribution-NoDerivs License

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
  • Tipos de datos: Modos en los que se puede almacenar y operar con información. .NET FrameWork contiene los tipos de datos básicos, por lo que independientemente del lenguaje de programación y la plataforma de destino siempre están los mismos. Por compatibilidad con versiones anteriores podemos utilizar tipos de datos que no aparecen por defecto en el entorno de Visual Studio (por ejemplo DateTime no es un tipo que te muestre el diseñador ya que nos muestra date, pero en cambio si lo escribimos no da error y nos deja operar con el) Los tipos de datos numéricos los utilizamos para trabajar con números. Se diferencian los números enteros (no tienen decimales), de los decimales. De los tipos enteros destacar que el tipo de datos Integer ha pasado de utilizar 16 bits para almacenar la información a 32, por lo que admite desde 0 – 4.294.967.296 en vez del rango 0-65.536 de versiones anteriores Programación ASP .NET Ver 4.0 Sep 09
  • Los tipos de datos decimales tienen una mayor precisión que los enteros al poder almacenar valores decimales. El rango de datos que soporta Double es –1,79769313486231570E+308 a –4,94065645841246544E-324 El rango más grande lo almacena el tipo Decimal, +/-7.9228162514264337593543950335E+28 y el valor más pequeño distinto de cero es +/-0.0000000000000000000000000001 (+/-1E-28). El tipo boolean se utiliza para almacenar verdadero/falso, se utiliza principalmente para guardar información de control y realizar acciones en el programa según el estado de ese valor Programación ASP .NET Ver 4.0 Sep 09
  • A la hora de almacenar fechas y horas podemos almacenarlos tanto en tipos de datos para caracteres, como los específicos de fecha y hora. La diferencia principal viene a la hora de operar con ellos, ya que los tipos de datos para caracteres los tenemos que convertir a fecha para poder comparar fechas, añadir o restar días, meses o años a las fechas La principal diferencia entre el tipo Char y Srtring es el tamaño de la información que contienen, ya que el primero solo sirve para almacenar una letra mientras que el segundo permite guardar cadenas de texto Programación ASP .NET Ver 4.0 Sep 09
  • Desaparece el tipo de datos String de longitud fija (siempre ocupa lo mismo independientemente que tenga valor en toda su longitud). Podemos simularlo creando una variable que sea de tipo de datos string e iniciándola (rellenando inicialmente) del número de espacios en blanco que queramos Una ampliación del tipo de datos String es la clase StringBuilder (constructor de cadenas de texto), dispone de una serie de métodos para construir, concatenar y modificar textos. En el ejemplo se crea una variable de nombre S, a la que se le va añadiendo texto utilizando el método append. El resultado final se escribe en una ventana de mensaje y sería “Esto es una prueba” Programación ASP .NET Ver 4.0 Sep 09
  • Esta tabla representa la variación de los tipos de datos entre las versiones anteriores a .NET y .NET En algunos casos cambio el tamaño de almacenamiento, con la consiguiente ampliación de datos que pueden contener, en otros se crean nuevos tipos o se descartan algunos como el string de longitud fija que ahora no existe Programación ASP .NET Ver 4.0 Sep 09
  • En muchas ocasiones es necesario convertir variables definidas de un tipo de datos a otro para poder operar con ellas de forma correcta. .NET contiene una herramienta para convertir una expresión ( una variable, un objeto, un valor) en un tipo distinto. Heredado de las versiones anteriores podemos utilizar funciones especificas para convertir una variable en un tipo en concreto. En el ejemplo la variable X se define del tipo string, se le asigna el valor “34” (al ir entre comillas dobles se considera un texto) y posteriormente se convierte al tipo de datos numérico Integer, almacenando el resultado en la variable Y. Existe la conversión implícita entre tipos de datos, de tal manera que podemos convertir una variable de un tipo a otro sin necesidad de utilizar ninguna función de conversión. Programación ASP .NET Ver 4.0 Sep 09
  • Al definir una variable estamos creando un espacio donde albergar información. Según el tipo de datos que hayamos utilizado a la hora de crear esa variable, esa zona de memoria podrá contener una información u otra. Por defecto, Visual Studio está configurado para que tengamos que definir todas las variables antes de poder usarlas Podemos hacer en un solo paso, definir la variable y asignarle un valor inicial. Si no le asignamos ningún valor manualmente, la variable contiene el valor por defecto del tipo de datos con el que lo hayamos definido A la hora de definir variables del mismo tipo, no es necesario utilizar una línea para cada una, podemos agruparlas detrás del mismo DIM. Todas las variables se definen a la vez. Este sistema no permite inicializarlas a la vez que las definimos Programación ASP .NET Ver 4.0 Sep 09
  • Asignar valores a una variable consiste en rellenarlas con algún dato Esta asignación se puede hacer en el momento de la definición o posteriormente en el programa A una variable le podemos asignar directamente un valor, otra variable o el resultado de una función Cuando le asignamos un valor, si es tipo texto tiene que ir entre comillas “” y cuando es una fecha entre almohadillas # Cuando le asignamos otra variable, toma el valor de la nueva variable, teniendo ahora dos variables con el mismo valor Cuando le asignamos el resultado de una función tenemos que asegurarnos que el tipo de datos devuelto por la función y el de la variables son iguales o que .NET intentará hacer una conversión. Ejemplo: Dim d as string= today().date. La función Today() devuelve la fecha actual y al almacenar esa fecha en una variable tipo string .NET transforma la fecha en texto Programación ASP .NET Ver 4.0 Sep 09
  • Un vector es una lista de variables del mismo tipo, donde cada una tiene un índice que la distingue del resto. A la hora de definir un vector podemos indicarle el tamaño y el tipo de las variables que contiene o indicarse solo el tipo e inicializarlo con un conjunto de valores. NO podemos indicarle un tamaño e inicializarlo a la vez, son formas excluyentes de crear un vector, o indicas el tamaño o lo inicializas con valores El método Sort de un vector permite ordenar de forma automática los valores. Podemos escribirlo de dos maneras, con el nombre de la variable o con el tipo genérico ARRAY Al ser variables más complejas tenemos métodos definidos para realizar tareas como copiar el contenido de uno a otro o calcular la longitud Si tenemos que cambiar la longitud del vector (el número de valores que puede contener) tenemos la función REDIM ( redimensionar), pero es importante entender que se perderá toda la información, ya que lo vuelve a crear, salvo que utilicemos REDIM PRESERVE (redimensionar conservando los datos) Programación ASP .NET Ver 4.0 Sep 09
  • Los vectores multimensionales son una ampliación de los vectores normales y se utilizan normalmente para crear tablas en memoria Además de indicar el tipo, tenemos que indicar la longitud de cada uno de sus “lados”. Podemos hacer igual que en los anteriores indicar la longitud inicializándolo con una lista de valores En cuanto a operar con vectores multidimensionales es muy similar a los unidimensionales, aunque por la complejidad algunas funcionalidades como la ordenación con el método Sort no se pueden utilizar Programación ASP .NET Ver 4.0 Sep 09
  • El concepto de ámbito, es la zona del programa donde podemos utilizar esa variable. Normalmente el ámbito está reducido al procedimiento o la función y dentro de esa estructura a bucles o sentencias de control En el ejemplo del Bucle, la variable imax está definida dentro del bucle For...Next, por lo que solo estará disponible ahí dentro. Fuera de ese punto no podemos utilizarla Programación ASP .NET Ver 4.0 Sep 09
  • Podemos configurar Visual Studio para que tenga un comportamiento determinado a la hora de definir, inicializar y comparar las variables Explicit, si está activo tenemos que declarar todas las variables antes de asignarles cualquier valor. Es muy recomendable para evitar errores de sintaxis, aunque hay que añadir más código con la definición. El valor por defecto de esta opción es Activo Strict, si está activo no permite conversiones implícitas entre variables de distintos tipos. Tendremos que utilizar funciones de conversión para poder asignar valores de tipos distintos. El valor por defecto de esta opción es Desactivado Compare, podemos definir si queremos que distinga entre mayúsculas y minúsculas. El valor por defecto de esta opción es Text Programación ASP .NET Ver 4.0 Sep 09
  • Por sentencias de control, se entiende al código necesario para que el programa tenga un comportamiento distinto según unos parámetros (valores de controles, valor de variables,…) Tenemos dos familias de sentencias de control Selectivas. Dependiendo de la evaluación de una condición ejecuta una acción u otra. Dentro de esta categoría tenemos la estructura IF y la estructura SELECT Bucles. Repiten una acción un número determinado de veces o hasta que se cumpla una condición o mientras que se cumpla esa condición. Programación ASP .NET Ver 4.0 Sep 09
  • IF evalúa una condición y permite bifurcar el código en dos direcciones, por un lado en el caso de que la condición sea cierta o que la condición sea falsa La condición puede ser simple o compleja. En el caso de que sea simple, evalúa un solo elemento y el complejo podemos añadir varias condiciones unidas por los operadores lógicos AND y OR. Un caso especial de operador lógicos son ANDAlso y ORelse. Con estos operadores, solo evalúa la segunda condición si la primera es cierta o falsa respectivamente. Select Case es una ampliación del caso anterior. Podemos querer que el programa se comporte de varias formas en función del valor de una expresión. Si podemos tener más de dos opciones podemos solucionarlo fácilmente con Select Case. El funcionamiento cambia un poco respecto a IF. En este caso tenemos una expresión (variable, función…) que va a poder tomar varios valores. Podemos especificar qué hacer para cada uno de esos valores (en cada case) y un último caso (Else) que determina el comportamiento para todos los casos no especificados anteriormente Programación ASP .NET Ver 4.0 Sep 09
  • For … Next. Las instrucciones de código que están entre estas dos etiquetas se van a repetir un número fijo de veces o iteraciones. Este número viene determinado por un valor inicial hasta un valor final. Si no se especifica nada, el contador va aumentando de uno en uno, aunque se puede modificar utilizando el modificador STEP. Este modificador permite determinar en qué número que tiene que incrementarse o decrementarse el contador. For Each … Next . Se utiliza para recorrer listas. No se basa en un contador, sino que ejecuta las instrucciones entre las etiquetas, tantas veces como elementos haya en la lista. While expresión… end while . Se ejecutan las instrucciones entre estas etiquetas mientras que la expresión sea cierta. No tiene que ver con un número fijo de veces ni con una lista, sino solo con una condión. Esta condición sule basarse en el valor de una variable que se actualiza dentro del bucle. Podemos hacer que tenga el mismo comportamiento que un bucle for utilizando una variable contador Do ….while expresión/do until expresión, Loop ….while expresión. Son similares que el caso anterior. En el primer caso se entra dentro del bucle si la expresión se cumple y en el segundo si no se cumple Para todos estas estructuras podemos utilizar el generador automático de código que viene con el visual studio. Facilita la codificación ya que genera automáticamente el código para la estructura, teniendo nosostros que rellenar las expresiones y el código a ejecutar. Programación ASP .NET Ver 4.0 Sep 09
  • Las estructuras permiten definir a los usuarios elementos para almacenar información formados por variables de diferentes tipos. No llega a la complejidad de un objeto, ya que no podemos programar el comportamiento, solo permite contener información que nosotros podemos asignar o leer. En el ejemplo se crea una estructura de nombre Cliente que esta formado por tres valores. El primero es un identificador de tipo texto, el segundo el teléfono de tipo texto y el tercero el teléfono de noches también de tipo texto. Una vez definida la estructura podemos empezar a utilizarla creando variables que tengan como tipo la estructura creada. Estas variables pueden ser simples o compuestas como los vectores Tanto para asignar un valor a un elemento o para leer el valor de un elemento de la estructura tenemos que utilizar la sintaxis “nombrevariable” . ”nombreelemento” , no podemos indicar únicamente el nombre de la variable ya que al tener varios campos no sabe a cual queremos asignar un valor o leer. Para simplificar el acceso a estos campos internos, utilizamos la sentencia With. Cuando le indicamos al With con qué variable queremos trabajar ya podemos acceder a cada uno de los campos directamente sin necesidad de volver a indicar el nombre de la variable. Este acceso lo podemos hacer así entre las etiquetas With y End With Programación ASP .NET Ver 4.0 Sep 09
  • Las enumeraciones se utilizan para facilitar la programación asignando valores numéricos a textos, de tal manera que no tenemos que utilizar los códigos sino los nombres. Otra ventaja de las enumeraciones es que evita el cometer errores a la hora de asignar valores, ya que conforme estamos programando nos permite utilizar solo los valores asignados para esa numeración La forma de trabajar con las enumeraciones es similar a las estructuras, primero definimos la enumeración y después podemos utilizarla en variables definidas de ese tipo o de tipo numérico Dispone de una serie de métodos para obtener automáticamente todos los valores o nombres de la enumeración o de uno solo en concreto Programación ASP .NET Ver 4.0 Sep 09
  • Las funciones y los procedimientos ayudan a estructurar y reutilizar el código, ganando tiempo y evitando errores de programación La base del código estructurado es encapsular funcionalidad dentro de una función o procedimiento de tal manera que lo podamos llamar desde cualquier parte del código sin necesidad de saber cual es su comportamiento interno Programación ASP .NET Ver 4.0 Sep 09
  • Las funciones y los métodos están siempre dentro de una clase. Podemos utilizarlos tanto en ficheros de código asociados a formularios o páginas web como en librerías de clases La principal diferencia entre las funciones y los procedimientos es que las primeras siempre tienen que devolver un valor del tipo que consta en su definición y los segundos solo pueden devolver datos modificando los variables de entrada o parámetros Para utilizar una función o un parámetro desde el programa, solo es necesario indicar el nombre y especificar los parámetros necesarios, según se hayan definido Programación ASP .NET Ver 4.0 Sep 09
  • Cuando definimos una función, podemos utilizar valores que vengan desde el exterior, para realizar las operaciones dentro. Estos valores que se pasan desde el exterior se llaman parámetros. En el proceso de definición podemos determinar si queremos que esos valores del exterior puedan modificarse dentro pero que no se modifiquen en el exterior (Byval) o que si se modifican dentro, también cambien en el exterior(Byref) Podemos tener una serie de valores predeterminados para los parámetros de tal manera que si cuando se llama desde el código a la función, no se especifican, se utilicen los valores por defecto previamente definidos. Para que este caso funcionen, se tienen que definir los parámetros como Optional Programación ASP .NET Ver 4.0 Sep 09
  • Los procedimientos solo pueden devolver valores (sacar fuera del procedimiento un valor) modificando los parámetros que estén definidos como ByRef Las funciones, obligatoriamente tienen que devolver un valor del tipo especificado en la definición (En el ejemplo As string) La forma de devolver un valor de una función es asignándoselo al nombre de la función o utilizando la palabra reservada Return Programación ASP .NET Ver 4.0 Sep 09
  • La programación orientada a objetos se basa en un análisis del problema que queremos solucionar, enfocándolo a los elementos que participan en cada tarea. Vamos a programar tanto las características que tienen como las funcionalidades en las Clases para crear posteriormente los objetos
  • Las clases son el elemento donde vamos a definir todas las características y funcionalidades de los objetos. Estas clases las escribimos en los archivos con extensión .vb o .cs según el lenguaje que utilicemos para programar. El fichero que contiene la clase no tiene porqué tener el mismo nombre, aunque es recomendable para facilitarnos el trabajo en proyectos pequeños. Un mismo fichero puede contener varias clases que tienen cada una un nombre distinto. En una clase puede contener cuatro tipos distintos de código Constructores, son funciones donde se define como se van a crear los objetos. Una clase puede tener varios constructores, por ejemplo uno para crear un objeto vacio y otro para crear un objeto con unos valores predeterminados. Destructores, son funciones donde definimos que hacer al eliminar un objeto. Si no tiene que realizar ninguna tarea especial, normalmente no se programa. Propiedades, definimos las características del objeto. Van a contener la información del objeto. Métodos, programamos el comportamiento del objeto, respondemos a la pregunta ¿qué podemos hacer?
  • Un concepto que utilizamos cuando definimos un método, propiedad o función dentro de una clase es desde donde se puede acceder a ese elemento. Los modificadores de acceso más usuales son Public y Private. Public lo utilizamos cuando queremos que se pueda acceder desde cualquier parte del código, por ejemplo otra clase, otro proyecto que este relacionado Private es lo contrario, solo queremos que se pueda acceder desde dentro de la clase que estamos programando. Esto se utiliza para variables internas o procesos internos que no tienen relevancia para utilizar el objeto desde otras partes del código
  • Métodos Un método contiene el código necesario para que el objeto realice una función. Por ejemplo si tenemos el objeto carrito de la compra, un método sería añadir nueva compra A la hora de definirlo podemos utilizar tanto funciones como procedimientos, utilizando tantos parámetros como sean necesarios Propiedades Definimos las propiedades para contener valores, siguiendo con el ejemplo de antes, el objeto carrito de la compra una propiedad sería el número de artículos Las propiedades tienen dos apartados distintos, en uno programamos que hacer cuando desde el código se quiere leer la propiedad y en el otro que hacer cuando se quiere escribir un valor en la propiedad. Estos dos pasos se establecen en Get y Set
  • Podemos indicar cuando definimos las propiedades si son sólo de lectura o sólo de escritura. Si son solo de lectura (ReadOnly), el valor se asigna en el momento de creación del objeto y a partir de ese momento solo se puede leer Si son solo de escritura (WriteOnly), podemos asignar un valor pero no lo podemos leer.
  • Se utilizan normalmente para poder utilizar el mismo nombre de función pero con parámetros distintos. Facilita el uso de estos objetos, ya que no necesitamos utilizar una función con distinto nombre que haga lo mismo que otra si sólo cambia el tipo o el número de los parámetros En el ejemplo se crean dos funciones que muestran un texto distinto y devuelven un texto o un número en función de que se utilice con números enteros o con letras
  • Los constructores son un tipo especial de función, que se utiliza para crear los objetos. El nombre NEW es el que se utiliza para los constructores. Cada objeto puede tener varios constructores, pero tal como hemos visto anteriormente, el tipo o el número de parámetros tiene que ser distinto. Por ejemplo, podemos tener un constructor sin parámetros que devuelve un objeto empresa vacio, y otro que se le pasa por parámetro el código de empresa y devuelve un objeto empresa con sus datos cargados
  • Podemos crear un método Finalice() que se ejecutará cuando el objeto se destruya, bien por que lo hemos hecho manualmente o bien por que ha sido destruido por Garbage colection. La ejecución de este código no suele ser inmediata a la destrucción del objeto en este último caso, ya que el servidor lo ejecuta cuando le llega el turno de ejecución en la pila de procesos
  • Una vez definido el objeto en la clase con sus propiedades, métodos, constructores y destructores es cuando lo podemos utilizar en el resto del código. El proceso de definir un objeto es similar al de la variables. Utilizamos la palabra clave DIM, el nombre del objeto y el tipo de objeto que vamos a utilizar Una vez definido tenemos que crearlo o instanciarlo utilizando el constructor New Podemos realizar el proceso de definición e instanciación en la misma sentencia, reduciendo el código de la aplicación
  • La verdadera potencia de los objetos es la herencia. Entendemos como herencia la creación de clases que basándose en una ya existente, amplia su funcionalidad. En una clase derivada podemos utilizar las prop

Introducción a la programación Presentation Transcript

  • 1. Conceptos básicos de programación en Visual Basic.NET [email_address] dunbit.blogspot.com dunbitFormacion.blogspot.com dunbitTecnico.blogspot.com
  • 2. Índice
    • Variables y tipos de datos
    • Sentencias de control
    • Estructuras de Datos
    • Procedimientos y Funciones
    • Programación orientada a Objetos
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 3. a. Variables y tipos de datos
    • .NET FrameWork contiene los tipos
    • System.object
    • Mantienen los tipos anteriores
    • Tipos de datos numéricos Enteros
      • Byte (entero de 1 byte sin signo)
      • Short (entero de 2 bytes con signo)
      • Integer (entero de 4 bytes con signo)
      • Long (entero de 8 bytes con signo)
      • Estos tipos se asignan a System.Byte , System.Int16 , System.Int32 , y System.Int64 , respectivamente.
      • El valor predeterminado de un tipo integral es 0 .
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 4. Tipos de Datos Numéricos
      • Tipos Decimales
      • Single (punto flotante de 4 bytes)
      • Double (punto flotante de 8 bytes). Estos tipos se asignan a System.Single y System.Double , respectivamente. El valor predeterminado de un tipo de punto flotante equivale al literal 0 .
      • El tipo Decimal (valor decimal de 16 bytes), que corresponde a System.Decimal . El valor predeterminado decimal equivale al literal 0D .
      • Tipos Lógicos
      • El tipo de valor Boolean , que representa un valor de veracidad, es normalmente el resultado de una operación lógica o relacional. El literal es de tipo System.Boolean . El valor predeterminado del tipo Boolean equivale al literal False .
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 5. Tipos de Datos
      • Tipo para Fechas
      • El tipo de valor Date , que representa una fecha, una hora o ambas y corresponde a System.DateTime . El valor predeterminado del tipo Date equivale al literal # 01/01/0001 12:00:00AM # .
      • Tipos para caracteres
      • El tipo de valor Char , que representa una carácter único unicode y corresponde a System.Char . El valor predeterminado del tipo Char equivale a la expresión constante ChrW( 0 ) .
      • El tipo de referencia String , que representa una secuencia de los caracteres Unicode, se asigna a System.String . El valor predeterminado del tipo String es una referencia Null.
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 6. Tipos de Datos
    • Simular string de longitud fija
      • Dim s as string = space(10)
    • Clase System.String, System.Text.StringBuilder  devuelve la misma instancia modificada
        • Dim s as new system.stringBuilder
        • S.append(“Esto”)
        • S.append(“ es”)
        • S.append(“ una”)
        • S.append(“ prueba”)
        • Msgbox s.tostring
      • Métodos: Length, Copy, Replace, Trim, toLower,toUpper
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 7. Variaciones de los tipos
    • Integer  Short
    • Long  Integer
    • No existe  Long
    • Variant  no exite, Object
    • Currency  no existe, decimal
    • Date  no se guarda como Double
    • String (longitud fija)  No existe
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 8. Conversión de tipo de datos
    • Ctype(expresión, tipo)
      • Expresión, variable, resultado de una función, constante
      • Tipo, cualquier expresión Dim as ...
        • Dim x as string, y as integer
        • X=“34”
        • Y=ctype(x, integer)
    • Funciones especificas
      • Cint, Clong, Csng, Cdate...
    • Conversión implícita
      • Y=X
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 9. Variables inicialización
    • Sintaxis
      • Palabra reservada DIM
      • Nombre de la variable
      • Palabra reservada AS
      • Tipo de datos
      • Opcional inicialización
      • Múltiples variables
            • Dim I,J,X As Integer  Todas integer
    • Podemos inicializar a la vez que se declara
          • Dim i as integer =21
          • Dim dHoy as date=today()
          • Dim dblFloat as double =123.1234
          • Dim dBirthay as date =#1/1/95#
          • Dim calculo as integer = 1*5
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 10. Operadores de Asignación
    • Asignación de valores de forma tradición
      • Variable=variable {operador} expresión
      • A=A + 25
    • Asignación Reducida
      • Variable {Operador} = Expresión
      • A+=25
    • Operadores
      • *= /= += -= ^=
      • &=
      • Dim M as string=“Primera parte”
      • M &=“ segunda parte”
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 11. Vectores
    • Definición e Inicialización
      • Cualquier tipo de datos, Empiezan siempre de 0
      • Dim a() as string ={“Lunes”, “Martes”}
    • Tipos de datos por referencia
      • No contienen el valor sino un puntero
    • Ordenar Vectores
      • A.Sort(A)  equiv  Array.Sort(A)
    • Tamaño de un vector  A.Length
    • Copiar un vector  A.copyto(b,0)
    • Redimensionar  Redim, Preserve
    • Declarando e inicializando Arrays
        • Dim Month(12) as integer
        • Dim aMonth() as integer={1,2,3,4,5,6,7,8,9,10,11,12}
        • Dim x as string
        • Redim x(5)
        • Dim y(2) as string
        • Redim preserve y(5)
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 12. Vectores Multidimensionales
    • Vectores con más de una dimensión
    • Definición e Inicialización
      • Dim a2(,) as integer
      • Dim b2(1,1) as integer
      • Dim c2(,) as integer ={{1,2,3},{4,5,6}}
    • Tamaño
      • C2.length  longitud total
      • C2.GetUpperBound(0)  longitud de la primera dimesión
      • C2.Rank  Nº de dimensiones
    • Redimensionar  cambia el tamaño pero no el numero de dimensiones Redim Preserve (x,z)
    • Copiar con Copy
    • Diferencias
      • No se puede ordenar .Sort ni copiar con .CopyTo
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 13. Ámbito de variables
    • Ámbito de las variables
      • Procedimiento/Función
        • Public Sub....
        • .... Dim i as integer ...
        • End Sub
      • Bucle
          • Dim i as Integer
          • For i =1 to 10
            • Dim imax as integer
            • Imax =i
          • Next i
          • Msgbox(“imMax)  Error
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 14. Opciones de Visual Studio para las variables
    • Explicit. Obliga a declarar todas las variables
    • Strict. Limita las conversiones implícitas entre tipos de datos. Solo permite cuando el tipo de destino es mayor
          • Dim i as integer, d as double, l as long
          • D=12.2333
          • I=D ‘ error
          • I=256
          • L=I ‘no error
    • Compare.
      • Binario  Distingue mayúsculas
      • Text  no distingue
    • Predeterminar los valores desde:
      • Herramientas  Opciones  (Activar la casilla) Mostrar todas las configuraciones  Proyectos y soluciones  Valores predeterminados de VB
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 15. El Lenguaje Visual basic .Net b. Sentencia de Control
    • If – then – Else – End IF
    • Select Case
    • For variable= valor TO valor final STEP incremento
    • For Each variable In colección
    • While expresión
    • Do Loop
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 16. Sentencia de Control
    • If – then – Else – End IF
      • Operadores AND, OR,NOT
      • Operadores AndAlso, OrElse
    • Select Case
      • Select Case expresion
      • Case valor
      • Case Else
      • End Case
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 17. Bucles
    • Para un número fijo de iteraciones
      • For variable= valor TO valor final STEP incremento
        • ...
        • NEXT variable
      • For Each variable In colección
        • ...
        • Next
    • Depende de una expresión el número de iteraciones
      • While expresión
        • ...
        • End while
      • Do while/until expresion
        • Loop while/until expresion
    • Generador automático de código
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 18. El Lenguaje Visual basic .Net C. Estructuras de Datos dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 19. Enumeraciones dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 20. Lenguaje Visual Basic .NET d. Procedimientos y Funciones
    • Llamar a los procedimientos y Funciones
    • Paso de argumentos ByRef y ByVal
    • Funciones y Procedimentos “Static”
    • Devolver valores desde las funciones
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 21. Definición y llamadas
    • Englobadas dentro de un módulo o clase
    • Organización del código
    • Funciones  devuelven valor
      • Function pruebaFunction(param as tipo) as tipo
    • Procedimientos  No devuelven valor
      • Sub pruebaSub(param as tipo)
    • Llamadas
      • Se tiene que usar o asignar el valor devuelto de una función
      • Call, no es obligatorio
      • Uso obligatorio de paréntesis para los parámetros
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 22. Parámetros
    • Valores de entrada y/o salida que se utilizan o modifican en la función o procedimiento
    • ByRef, se pasa la dirección de la variable en memoria, por lo que se puede modificar desde dentro.
    • ByVal, se pasa una copia de la variable. No se modifica la variable externa, aunque se cambie dentro. Valor por defecto
    • Parámetros Opcionales,
      • se identifica con Optional
      • Obligatorio asignar un valor
      • IsMissing no se puede utilizar
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 23. Devolver Valores
    • En procedimientos, mediante parámetros pasados ByRef
    • En Funciones
      • Asignando el valor a devolver a la función
          • Function prueba() as string
            • Prueba=“valor”
          • End Function
      • Uso de Return  sale de la función por lo que tiene que ser la última instrucción
          • Function prueba() as string
            • Return “valor”
          • End Function
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 24. 2.f Programación Orientada a Objetos
    • Definición de clases
    • Creando y Destruyendo Objetos
    • Herencia
    • Interfaces
    • Trabajar con Clases
    • Herencia con Formularios
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 25. Proceso de definición
    • Añadir una clase al proyecto
      • Podemos tener mas de una clase por fichero
    • Asociar un nombre correcto a la clase
    • Crear constructores según se necesite
    • Crear destructores si es necesario
    • Declarar las propiedades
    • Declarar métodos y eventos
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 26. Uso de modificadores de acceso
    • Grado de acceso a los distintos elementos de una clase
    • Public, desde cualquier punto
    • Private, solo desde la clase
    • Friend, desde la clase y otras clases del mismo ensamblado
    • Protected, desde la clase y sus clases derivadas
    • Protected friend, desde la clase, otras clases del mismo ensamblado y de sus clases derivadas
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 27. Declaraciones
    • Declaración de Métodos
          • Public Sub Test(byval x as integer)
          • End sub
          • Public Function Test() as integer
          • End Function
    • Declaración de Propiedades
          • [Default][Readonly][WriteOnly] Property Nombre ([Lista de parametros]) as tipo
            • Get
            • End Get
            • Set
            • End Set
          • End Property
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 28. Declaraciones II
    • ReadOnly, solo podemos implementar el apartado Get
      • Public ReadOnly Property MyData() as Integer
      • Get
        • Return intMyData
        • End Get
      • End Property
    • WriteOnly, solo podemos implementar el apartado Set
      • Public WriteOnly Property MyData() as Integer
      • Set (byval value as Integer)
        • intMyData=Value
        • End Set
      • End Property
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 29. Sobrecarga de Métodos
    • Métodos con el mismo nombre aceptan distintos parámetros
    • Dependiendo de los parámetros ejecuta una acción distinta
    • Si se sobrescribe un método heredado hay que utilizar la clave Overloads en la definición del método
        • Public Function Display (s as string) as string
        • Msgbox(“texto: “ & s)
        • Return “String”
        • End Function
        • Public Function Display (i as integer) as integer
        • Msgbox(“número: “ & i)
        • Return 1
        • End Function
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 30. Constructores
    • Sub New sustituye a Class_Initialize, ejecuta código cuando el objeto es istanciado
    • Se puede Sobrecargar
          • Public Sub New()
            • Intvalue=-1
          • End Sub
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 31. Destructores
    • Sub Finalize sustituye a Class_Terminate
    • Se utiliza para limpiar recursos
    • Se ejecuta el código cuando es destruido por Garbage collection. Puede no ser inmediatamente.
          • Protected Sub Finalize()
            • Conn.close
          • End Sub
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 32. Crear Objetos
    • Definir objetos
      • Definir una variable con el tipo de datos de la clase del objeto
      • Dim c1 as ClasePrueba
    • Definir e instanciar
      • Definir la variable y crear el objeto llamando al constructor de la clase
      • C1= new ClasePrueba
      • Dim c2 as ClasePrueba=new ClasePrueba
      • Dim c3 as new ClasePrueba
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 33. Herencia
    • Concepto de herencia,
      • Crear una clase derivándola de una clase existente
      • Propiedades, métodos, estructuras y eventos son heredables.
    • Overriding y Overloading
      • Sobrescribir vs sobrecargar
    • Shadowing
      • Ocultar los metodos seleccionados de la clase base
    • MyBase
      • Hacer referencia a la clase base desde la clase heredada
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 34. Palabras clave
    • Inherit, sirve para crear una clase derivada
          • Public Class ClaseDerivada
          • Inherit ClaseBase
          • ....
          • End Class
    • NotInheritable, indica que la clase no puede servir como clase base
          • Public NotInheritable Class ClaseBase
          • ....
          • End Class
          • Public Class ClaseDerivada
          • Inherit ClaseBase ‘Error
          • ....
          • End Class
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 35. Palabras Clave II
    • MustInherit, la clase no puede ser instanciada, tiene que derivarse y crear el objeto de la clase derivada
          • Public MustInherit Class ClaseBase
          • ....
          • End Class
          • Dim x as new ClaseBase() ‘Error
    • Protected, solo se puede acceder por sus clases hijas
          • Public MustInherit Class ClaseBase
          • Public i as Integer
          • Protected s as string
          • End Class
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 36. Overriding / Overloading
    • Reemplazar el código de un método en una clase derivada
    • Overridable, se puede sobrescribir en una clase derivada
          • Public Overridable Sub Metodo()
          • ....
          • End Class
    • MustOverride, se tiene que implementar en todas las clases derivadas
          • Public MustOverride Sub Metodo()
    • Overrides, Sobrescribe un metodo de la clase base
          • Public Overrides Sub Metodo()
          • ....
          • End Class
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 37. Overriding / Overloading
    • NotOverridable, evita que se sobrescriba más allá de la clase derivada
          • Public NotOverridable Overridable Sub Metodo()
          • ....
          • End Class
    • Overloading, sobrecarga de un metodo con distintos parámetros
          • Public Overloads Sub Metodo(byVal i as integer)
          • ....
          • End Class
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 38. Shadowing
    • Oculta los miembros de la clase base desde una clase derivada
          • Class aBase
          • Public Sub M1()
          • ...
          • End Sub
          • Class aShadow
          • Inherits aBase
          • Public shadows Sub M1(Byval i as integer)
          • ....
          • End Class
          • Dim x as New aShadow
          • x.M1
          • x.M1(29)
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 39. MyBase
    • Se refiere a la clase base
    • Se puede acceder solo a los miembros public, protected, friend
          • Public Class ClaseDerivada
          • inherits ClaseBase
          • Public Sub New()
          • Mybase.New()
          • intValue=1
          • End Sub
          • ....
          • End Class
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 40. Herencia de un Formulario
    • ¿Por qué heredar un formulario?
      • Es una clase
      • Las aplicaciones mantienen un entorno más homogeneo
      • Cambios en la clase base se propagan al resto de formularios
      • Asistentes, formularios de validación
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 41. Formulario Base
    • Diseñar el formulario pensando en los formularios heredados
    • Crear el formulario base como un formulario normal
    • Identificar los propiedades de los controles
      • Private, No se pueden modificar las propiedades fuera del formulario base
      • Public, Se puede modificar sin restricciones
      • Protected, Se pueden modificar las propiedades desde los formularios derivados
      • Friend, Se puede modificar desde dentro del proyecto que contiene el formulario base
    • Añadir la clave Overriable a los métodos apropiados
    • Construir la solución del formulario base.
    dunbit@hotmail.com dunbitFormacion.blogspot.com
  • 42. Formulario Heredado
    • Asegurar que el base es lo más completo posible
    • Referenciar al ensamblado del formulario base
    • Crear un nuevo formulario heredado desde el menú agregar
    • Cambiar las propiedades de los controles si es necesario
    • Sobrescribir los métodos necesarios si se han creado con la clave Override
    dunbit@hotmail.com dunbitFormacion.blogspot.com