Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo Resumen del lenguaje de programación Visual Basic .NET Contenidos del tema. 1. Datos y Constantes en VBNet........................................................................................ 3 Tipos de datos.................................................................................................................3 Tipos de Datos definidos por el usuario.........................................................................5 Declaración de variables................................................................................................ 5 Declaración de constates................................................................................................ 6 Conversiones seguras entre tipos de datos..................................................................... 6 2. Edicción del código........................................................................................................ 6 Comentarios....................................................................................................................6 Separador de instrucciones.............................................................................................6 Continuación de línea.....................................................................................................6 3. Operadores:.................................................................................................................... 6 Aritméticos..................................................................................................................... 6 Condicionales................................................................................................................. 7 Lógicos........................................................................................................................... 7 De cadena....................................................................................................................... 8 Operadores de asignación...............................................................................................8 4. Sentencias de control...................................................................................................... 8 Sentencias if................................................................................................................... 8 Sentencia Select..............................................................................................................9 Sentencia While............................................................................................................10 Sentecia Do … Loop Until...........................................................................................10 Sentecia For..................................................................................................................10 5. Colecciones de objetos y Bucles For ... Each............................................................... 11 6. Matrices........................................................................................................................ 12 Unidimensionales......................................................................................................... 12 Multimensionales......................................................................................................... 12 ReDim.......................................................................................................................... 12 Sentencia For Each.......................................................................................................12 LBound y UBound....................................................................................................... 13 7. Cadenas de caracteres................................................................................................... 13 Compare to................................................................................................................... 13 Concat...........................................................................................................................13 Length...........................................................................................................................14 ToLower, ToUpper.......................................................................................................14 Trim.............................................................................................................................. 14 Rtrim.............................................................................................................................14 Ltrim.............................................................................................................................14 StartsWith, EndsWith...................................................................................................15 Justo Sáez Arenas _ Dpto Informática _ 1 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo SubString...................................................................................................................... 15 Chars.............................................................................................................................15 IntegerAsc(Char).......................................................................................................... 15 Char Chr(integer)......................................................................................................... 15 IndexOf.........................................................................................................................16 Replace......................................................................................................................... 16 Insert.............................................................................................................................16 Split.............................................................................................................................. 16 8. Procedimientos y funciones..........................................................................................17 Procedimientos............................................................................................................. 17 Funciones......................................................................................................................18 En este tema se presenta un resumen de las principales carácteristicas sintácticas y funciones del lenguaje de programación de Visual Basic .Net. Entre otros contenidos se especifican los tipos de datos y variables que utiliza, los operadores, sentencias de control generales y especificas del lenguaje, así como las principales funciones de tratamiento de cadena. También se comenta al final del capítulo la forma de utilización de procedimientos y funciones. Justo Sáez Arenas _ Dpto Informática _ 2 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo 1. Datos y Constantes en VBNet. Tipos de datos La tabla siguiente muestra los tipos de datos de Visual Basic.NET, los tipos correspondientes de Common Language Runtime (CLR), su asignación de almacenamiento nominal y sus intervalos de valores. Tipo de Visual Basic Estructura de tipo Common Language Runtime Boolean System.Boolean 2 bytes True o False Byte System.Byte 1 byte 0 a 255 (sin signo) Char System.Char 2 bytes 0 a 65535 (sin signo) Date System.DateTime 8 bytes 0:00:00 del 1 de enero de 0001 a 11:59:59 PM del 31 de diciembre de 9999. Decimal System.Decimal 0 a +/79.228.162.514.264.337.593.543.950.335 sin separador decimal; 0 a +/-7,9228162514264337593543950335 con 28 posiciones a la derecha del signo decimal; el número más pequeño distinto de cero es +/-0,0000000000000000000000000001 (+/1E-28). Justo Sáez Arenas Asignación de almacenamient o nominal 16 bytes Intervalo de valores _ Dpto Informática _ 3 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo Double System.Double (punto flotante con precisión doble) 8 bytes -1,79769313486231570E+308 a -4,94065645841246544E-324 para valores negativos; 4,94065645841246544E-324 a 1,79769313486231570E+308 para valores positivos. Integer System.Int32 4 bytes -2.147.483.648 a 2.147.483.647 Long (entero largo) System.Int64 8 bytes -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 Object System.Object (clase) 4 bytes Cualquier tipo puede almacenarse en una variable de tipo Object. Short System.Int16 2 bytes -32.768 a 32.767 Single System.Single (punto flotante con precisión simple) 4 bytes -3,4028235E+38 a –1,401298E-45 para valores negativos; 1,401298E-45 a 3,4028235E+38 para valores positivos. String (cadena de longitud variable) En función de la De 0 a 2.000 millones de caracteres plataforma de Unicode aprox. implementación System.String (clase) Tipo de (hereda de En función de la datos System.ValueTyp plataforma de definido e) implementación por el usuario (estructur a) Justo Sáez Arenas Cada miembro de la estructura tiene un intervalo de valores determinado por su tipo de datos e independiente de los intervalos de valores correspondientes a los demás miembros. _ Dpto Informática _ 4 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo Tipos de Datos definidos por el usuario. Se pueden definir estructuras de datos, de tal forma que luego se puede utilizar como un tipo de dato. Por ejemplo: Structure empresa Dim empr As String Dim cont As String Dim tfno As String Dim mail As String Dim nota As String End Structure Pudiendo luego utilizarlo como: Dim cliente As empresa. Declaración de variables Dim a As Integer ‘ Declaración simple Dim entero as Integer = 1 ‘Declaración con inicialización Dim entero1, entero2, entero3 as Integer ‘Declaración de varias variables en una sola línea Dim entero as integer = 1, entero2 as integer = 2 ‘Declaración e inicialización Justo Sáez Arenas _ Dpto Informática _ 5 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo Para declarar variables públicas Public Variable as TipoDato Declaración de constates Const descuento = 16 ‘Declaración de entero Const saludo = “hola” ‘Declaración de cadena de caracteres Const Tipo = “t” ‘Declaración de carácter Cosnt prefijo as string = “91” ‘Declaración de constante indicando el tipo Conversiones seguras entre tipos de datos Byte ⇒ Short ⇒ Integer ⇒ Long ⇒ Decimal ⇒ Single ⇒ Double ⇒ Char ⇒ String 2. Edicción del código. Comentarios Comienzan con el carácter ‘ y continúan hasta el final de la línea Separador de instrucciones En una misma línea podemos tener mas de una instrucción si las separamos con el carácter “:” Continuación de línea Si una instrucción es muy larga y entra en una sola línea se puede utilizar el carácter “_”. 3. Operadores: Aritméticos + Suma - Resta * Multiplicación Justo Sáez Arenas _ Dpto Informática _ 6 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo / División real. Los operandos pueden ser reales o enteros. \ División entera. Si alguno de los operandos es real es convertido a entero. El resultado es entero ^ Exponenciación ab = a^b Mod Módulo o resto de la división entera. Sólo si los dos operandos son enteros el resultado será entero. Condicionales = Igual <> Distinto < Menor <= Menor o igual > Mayor >= Mayor o igual Lógicos And Or Xor Devuelve verdadero si sólo uno es cierto. Not Justo Sáez Arenas _ Dpto Informática _ 7 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo De cadena. Para unir cadenas se pueden utilizar dos caracteres “+” y “&” aunque suele utilizarse más el último. Operadores de asignación = Simple += Suma -= Resta *= Multiplicación /= División real \= División entero ^= Exponenciación &= Concatenación de cadenas 4. Sentencias de control Sentencias if If condición then Sentencias End if Justo Sáez Arenas _ Dpto Informática _ 8 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo If condición then Sentencias Else Sentencias End if If condición then Sentencias Elseif condicion Sentencias End if If condición then If condición then Sentencias End if Else Sentencias End if Sentencia Select Select Case variable/expresion Case Valor Sentencias Justo Sáez Arenas _ Dpto Informática _ 9 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo Case Valor To Valor2 ‘Rango de valores Sentencias Case Valor, Valor2, Valor3 ‘ Valores concretos Sentencias [ Case else Sentencias] End Select Sentencia While While Condición Sentencias End While Sentecia Do … Loop Until Do Sentencias Loop Until/While Condición Sentecia For For variable = expresion1 To expresión2 St ep expresion3 Sentencias ‘con la variable Next [variable] Justo Sáez Arenas _ Dpto Informática _ 10 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo 5. Colecciones de objetos y Bucles For ... Each Una colección es un grupo de objetos relacionados entre sí. Por ejemplo cada formulario cuenta con una colección de controles. Podemos declarar variables de tipo Control que representan el objeto activo en cada una de las pasadas del bucle For Each... Next Podrá hacer referencia a los objetos contenidos en una colección, bien de forma individual o bien en grupos. 1. Refrencia individual. Por ejemplo en una instrucción Msgbox(Controls(2).Name) Mostraría el nombre del control cuyo índice es 2, dentro de la colección de controles. 2. Refrencia en grupo. Utilizando un bucle For Each...Next For Each ctrl In Controls ctrl.Text = "¡Púlsame!" Next Los bucles For Each ... Next han sido diseñados para procesar colecciones. La propiedad Tag A veces es interesante utilizar la propiedad ‘Tag’ de los controles, para marcarles con alguna etiqueta que luego puedo chequear dentro del bucle For Each... Next, con la finalidad de poder realizar acciones solo en los controles marcados. También se puede cambiar en tiempo de ejecución. Button1.tag=”movible” Justo Sáez Arenas _ Dpto Informática _ 11 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo 6. Matrices Unidimensionales Dim matriz (indice_superior) as Tipo ‘Declaración y creación de la matriz a la vez Dim dias_semana() as string = {“lunes”, “martes”,”miercoles”,”jueves”, “viernes”, “sabado”, “domingo”} Dias_semana(2) = “martes” Multimensionales Dim tablero(Dim1,Dim2) as Tipo_Dato p.e: • Declaración: Dim tablero(2,3) as Boolean • Asiganacion de valores: Tablero (0,0) = False ReDim. Nos permite moficar el tamaño del array. Hay que tener en cuenta que si redimensionamos a un tamaño menor que la cantidad de datos que ya contiene se perderán los dartos que queden fuera de ese tamaño. Sentencia For Each Es especialmente útil con las matrices pues permite tratar todos los elementos de la matriz. For each i in matriz Sentencias Next Dim num(2, 2) As Integer Justo Sáez Arenas _ Dpto Informática _ 12 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo Dim enterocorto As Integer For Each enterocorto In num Label1.text= num(enterocorto, enterocorto) Next También es útil para realizar operaciones con todos los elementos que aparecen en un formulario, como por ejemplo moverles por pantalla. LBound y UBound Nos permiten conocer el límite inferior (Lbound) y superior( UBound) de una matriz. 7. Cadenas de caracteres La clase String, que pertenece al espacio de nombre System, proporciona métodos para examinar caracteres individuales de una cadena de caracteres, comparar cadenas, buscar y extraer subcadenas, copiar cadenas, convertir cadenas a mayúsculas, minúsculas, etc. Pero Cuidado: Los objetos String son no modificables. Por tanto las operaciones no se aplican directamente sobre la cadena, sino que producen una cadena nueva. Compare to Devuelve 0 si es igual y 1 si es distinto Cadena = “valor” cadena.CompareTo("Texto de Prueba") ‘Devolvería 1 Concat Concatena dos cadenas Cadena1= ”Hola” : Cadena2 = “¿Qué tal?” CadenaConcatenada = String.Concat(Cadena1, cadena2) ó CadenaConcatenada = Cadena1 & cadena2 Justo Sáez Arenas _ Dpto Informática _ 13 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo ó CadenaConcatenada = Cadena1 + cadena2 Length Devuelve la longitud de la cadena. Dim longitud as integer Cadena=”Ernesto Mate” Longitud= cadena.Length ‘Longitud contendrá 12 ToLower, ToUpper Convierten a minúsculas y mayúsculas respectivamente una cadena. Cadena1=”Hola” Cadena2=”QUE TAL” Cad_Final1 = Cadena1.ToUpper ‘Cad_Final1 tendrá “HOLA” Cad_Final2 = Cadena2.ToLower ‘Cad_Final2 tendrá “que tal” Trim Elimina los caracteres en blanco que haya al principio y al final de la cadena. Cadena= “ Hola “ Cad_Final = Cadena.Trim Cad_Final = “Hola” Rtrim Elimina los caracteres en blanco que haya al final de la cadena. Ltrim Elimina los caracteres en blanco que haya al principio de la cadena. Justo Sáez Arenas _ Dpto Informática _ 14 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo StartsWith, EndsWith Devuelve el valor True si el prefijo o el sufijo coinciden con el argumento indicado. Dim Ok As boolean Ok = Cadena.StartsWith("Ba") Ok = cadena.EndsWith(".") SubString Devuelve una subcadena desde posición y de una longitud. ‘Desde la posición 0 y de longitud 5" Console.WriteLine(cadena.Substring(3, 15)) Chars Devuelve el carácter indicado en una determinada posición de la cadena. cadena.Chars(0) ‘Devuelve la primera posición de una cadena IntegerAsc(Char) Nos devuleve el código ASCII de un carácter dado. Dim Codigo as Integer Codigo = Asc(“a”) Char Chr(integer) Nos devuleve el carácter ASCII de un entero dado. Dim letra as Char letra = Chr(65) Justo Sáez Arenas _ Dpto Informática _ 15 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo IndexOf Devuelve el índice de la primera ocurrencia. Cadena=”Bill Gates” Pos = cadena.IndexOf("Gates") ‘Pos será 5. Replace Reemplaza todas las ocurrencias por lo que le indiquemos. Cad_final = cadena.Replace("e", "E") Insert Inserta una cadena en una posición indicada Cadena= ”2014” Cad_Final = cadena.Insert(2, "000000")’Inserta una secuencia de ceros en la posición 2. Cad_Final será 2010000004 Split Devuelve una matriz con los elementos de la cadena Matriz= cadena.Split(“ “) llena la matriz con las palabras de la cadena, que están separadas por un espacio. Justo Sáez Arenas _ Dpto Informática _ 16 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo 8. Procedimientos y funciones. Procedimientos Se usan para simplificar el código y hacerlo más modular. Su principal función es la de agrupar una serie de instrucciones que realizan una operación concreta y que suele repetirse a lo largo del código. No se utilizan en el caso de que la función a realizar sea obtener y devolver un valor. Declaración de procedimientos [Public| Private] Sub Nombre() Sentencias End Sub [Public| Private] Sub Nombre(ByVal var1 as integer, optional ByRef var2 as String) Sentencias End Sub Tipos de parámetros - ByVal: Por valor, es decir, una copia de la variable. - ByRef: Por referencia, es decir un puntero a la variable con la que se quiere trabajar. - Optional: Opcional, el usuario puede utilizar este parámetro o no. La sintaxis en los procedimientos en los que los parámetros son opcionales es: [Public| Private] Sub Nombre(Optional [ByVal|ByRef] Nombre As tipo = Valor_def) Sentencias End Sub Llamada a los procedimientos Call Nombre_Procedimiento Funciones Las funciones son módulos de código cuya función es realizar un cálculo y a partir de los datos de entrada obtener un resultado final. Se utilizan siempre que queramos obtener un valor. Justo Sáez Arenas _ Dpto Informática _ 17 Desarrollo de Aplicaciones Informáticas Visual Basic .NET – Resumen del lenguaje. IES Quevedo Declaración de funciones [Public| Private] Function Nombre() As tipo Sentencias ‘Sentencia de devolución ‘Return valor o nombre_Función= valor End Function Tipos de parámetros Los mismos que en los procedimientos y los mismos modificadores. Llamada a las funciones En las llamadas a las funciones hay que tener en cuenta que éstas devuelven un valor. Por ejemplo: Variable= Nombre_Funcion(Parámetros) Por ejemplo: Dim Resultado as Integer Resultado = Factorial(5) 'Factorial es una función que estará definida en algún lugar del programa. Justo Sáez Arenas _ Dpto Informática _ 18