Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 1
Unidad 1
Es una mejora a Visual Basic formando parte de Visual Studio y compartiendo el entorno de desarrollo con Microsoft Visual C++ .NET, Microsoft Visual C# .NET, etc. Historia: Visual Basic es un lenguaje de programacin desarrollado por Alan Cooper para Microsoft. El lenguaje de programacin es un dialecto de BASIC, con importantes aadidos. Su primera versin fue presentada en 1991 con la intencin de simplificar la programacin utilizando un ambiente de desarrollo completamente grfico que facilitar la creacin de interfaces grficas y en cierta medida tambin la programacin misma. Desde el 2001 Microsoft ha propuesto abandonar el desarrollo basado en la API Win32 y pasar a trabajar sobre un Framework o marco comn de libreras independiente de la versin del sistema operativo, .NET Framework, a travs de Visual Basic .NET (y otros lenguajes como C Sharp (C#) de fcil transicin de cdigo entre ellos) que presenta serias incompatibilidades con el cdigo Visual Basic existente. Visual Basic (Visual Studio) constituye un IDE (entorno de desarrollo integrado o en ingls Integrated Development Environment) que ha sido empaquetado como un programa de aplicacin, es decir, consiste en un editor de cdigo (programa donde se escribe el cdigo fuente), un depurador (programa que corrige errores en el cdigo fuente para que pueda ser bien compilado), un compilador (programa que traduce el cdigo fuente a lenguaje de mquina), y un constructor de interfaz grfica o GUI (es una forma de programar en la que no es necesario escribir el cdigo para la parte grfica del programa, sino que se puede hacer de forma visual).
1.1
La programacin dirigida por eventos es un paradigma de programacin en el que tanto la estructura como la ejecucin de los programas van determinados por los sucesos que ocurran en el sistema o que ellos mismos provoquen.
Programacin II Unidad 1. 1
1.1.1 Objetos. Cuando se crea una aplicacin en Visual Basic, se trabaja con objetos constantemente. Se pueden utilizar objetos proporcionados por Visual Basic, como controles, formularios y objetos de acceso a datos. Tambin se pueden usar los objetos de otras aplicaciones dentro de una aplicacin de Visual Basic. Incluso pueden crearse objetos propios y agregarles propiedades y mtodos adicionales. Los objetos actan como unidades de creacin prefabricadas para programas: permiten escribir una porcin de cdigo y utilizarla una y otra vez. Un objeto es una combinacin de cdigo y datos que puede tratarse como una unidad. Un objeto puede ser una porcin de una aplicacin, como un control o un formulario. Una aplicacin entera tambin puede ser un objeto.
1.1.2 Eventos. Un evento es un mensaje que enva un objeto anunciando que ha sucedido algo. Los eventos se implementan mediante delegados, una forma de puntero de funcin orientado a objetos que permite invocar una funcin indirectamente mediante una referencia a la funcin. Eventos y controladores de eventos. A pesar de que se puede visualizar un proyecto de Visual Studio como una serie de procedimientos que se ejecutan consecutivamente, en realidad la mayora de los programas estn dirigidos por eventos, es decir, el flujo de ejecucin est determinado por elementos externos denominados eventos. Un evento es una seal que comunica a una aplicacin que ha sucedido algo importante. Por ejemplo, cuando un usuario hace clic en un control de un formulario, el formulario puede provocar un evento Click y llamar a un procedimiento que controla el evento. Los eventos tambin permiten que las tareas separadas se comuniquen.
Programacin II Unidad 1. 3
Declarar eventos. Los eventos se declaran en clases, estructuras, mdulos e interfaces mediante la palabra clave Event, como se muestra en el siguiente ejemplo: Event AnEvent(ByVal EventNumber As Integer) Producir eventos. Un evento es como un mensaje que anuncia que ha pasado algo importante. A la accin de difundir el mensaje se le llama producir el evento. En Visual Basic, los eventos se producen con la instruccin RaiseEvent, como en el siguiente ejemplo: RaiseEvent AnEvent(EventNumber) Los eventos se deben provocar dentro del mbito de la clase, mdulo o estructura donde se declaran. Por ejemplo, una clase derivada no puede producir eventos heredados de una clase base. Remitentes de eventos. Cualquier objeto capaz de producir un evento es un remitente de eventos, y tambin recibe el nombre de origen de eventos. Los formularios, controles y objetos definidos por el usuario son ejemplos de remitentes de eventos. Controladores de eventos. Los controladores de eventos son procedimientos llamados cuando se produce un evento correspondiente. Puede utilizar cualquier subrutina vlida con una firma coincidente como controlador de eventos. No obstante, no puede utilizar una funcin como controlador de eventos, porque no puede devolver un valor al origen del evento.
Programacin II Unidad 1.
1.1.3 Mtodos. En la programacin orientada a objetos, un mtodo es una subrutina asociada exclusivamente a una clase (llamados mtodos de clase o mtodos estticos) o a un objeto (llamados mtodos de instancia). Anlogamente a los procedimientos en los lenguajes imperativos, un mtodo consiste generalmente de una serie de sentencias para llevar a cabo una accin, un juego de parmetros de entrada que regularn dicha accin y, posiblemente, un valor de salida (o valor de retorno) de algn tipo.
1.1.4 Propiedades. Las propiedades son aquellas caractersticas de un objeto que lo define "fsicamente", bien por su forma o color, por su contenido, por la forma en la que va a trabajar. Las propiedades de formularios y controles en Visual Basic .NET pueden establecerse mediante programacin en tiempo de ejecucin, o en modo de diseo en la ventana Propiedades. Las propiedades de la mayora de los objetos restantes, como los objetos de los ensamblados o los objetos que haya creado, nicamente pueden establecerse mediante programacin. Las propiedades que se pueden establecer y leer se denominan propiedades de lectura y escritura. Las propiedades que se pueden leer pero no modificar se denominan propiedades de slo lectura. Las propiedades en las que se puede escribir pero que no se pueden leer se denominan propiedades de slo escritura. El valor de una propiedad se establece cuando se desea modificar el aspecto o el comportamiento de un objeto. Por ejemplo, la propiedad Text de un control de cuadro de texto se cambia para modificar el contenido del cuadro de texto. El valor de una propiedad se obtiene cuando se desea conocer el estado de un objeto antes de que el cdigo ejecute acciones
Programacin II Unidad 1. 5
1.2
Programacin II Unidad 1.
1.3
El Entorno de Desarrollo contiene mltiples ventanas y mltiples funcionalidades y es por consecuencia llamado un entorno de desarrollo integrado (Integrated Development Environment IDE). La ventana central es la ventana de diseo (Designer Window), la cual contiene el formulario a desarrollar. La caja de herramientas (ToolBox) se localiza del lado izquierdo. En el extremo derecho tenemos la ventana del explorador de soluciones (Solution Explorer). La ventana de propiedades (Properties Window) contiene tres partes: 1. La parte superior contiene un combo box que muestra el nombre y la clase del objeto seleccionado. 2. La parte media contiene la lista de propiedades del objeto seleccionado, de lado derecho contiene un conjunto de cajas para ver y editar el valor de la propiedad seleccionada. 3. La parte inferior es un cuadro descriptivo que proporciona una breve descripcin de la propiedad seleccionada. Es necesario tener instalado el Visual Studio .NET, al ejecutarlo se presenta una pgina de inicio, en caso de no presentarse entonces de clic en Help/Show Start Page. En esta pgina ser posible establecer su perfil, por ejemplo identificarse como Desarrollador Visual Studio o ms especifico como Desarrollador Visual Basic con lo cual Visual Studio configura de inmediato el entorno de desarrollo para programar en Visual Basic. Para iniciar un nuevo proyecto, de clic en la opcin Projects y clic en el botn [New Project], esta accin abre una ventana donde se indicar el archivo a abrir, los proyectos Visual Basic .NET tiene la extensin .vbproj. Una vez que abre el proyecto si la pgina de inicio estaba visible continuar as y en el Explorador de Soluciones (Solution Explorer) se cargan los archivos correspondientes al proyecto.
Programacin II Unidad 1. 7
Se acoplen a los extremos del IDE. Floten. Se muestren en otros monitores. Adems, pueden mostrarse de una vez varias instancias de ciertas ventanas de herramientas. Explorador de Objetos. El Examinador de objetos permite examinar y encontrar objetos (espacios de nombres, clases, estructuras, interfaces, tipos, enumeraciones, etc.) y los miembros (propiedades, mtodos, eventos, variables, constantes, elementos de enumeracin, etc.) de varios componentes. Estos componentes pueden ser proyectos de la solucin, componentes a los que se hace referencia en esos proyectos y componentes externos. Explorador de Servidores. Utilice el Explorador de servidores para crear y manipular conexiones a bases de datos, y para conectar con servidores y explorar su contenido. Se puede tener acceso al Explorador de servidores en cualquier momento durante el proceso de desarrollo, mientras se trabaja con cualquier tipo de proyecto o elemento. Explorador de Soluciones. El Explorador de soluciones proporciona una vista organizada de los proyectos y sus archivos, as como acceso rpido a los comandos relativos a ellos. Normalmente, una barra de herramientas asociada a esta ventana ofrece los comandos que se utilizan con ms frecuencia con el elemento resaltado en la lista. Para tener acceso al Explorador de soluciones, seleccione Explorador de soluciones en el men Ver. Ventana Propiedades. Esta ventana se utiliza para ver y cambiar las propiedades y eventos en tiempo de diseo de los objetos seleccionados que estn localizados en editores y diseadores. Tambin puede utilizar la
Programacin II Unidad 1. 9
Elementos de la ayuda: A. Contenido. Muestra la ventana Contenido, que permite examinar la tabla de contenido de MSDN Library. B. ndice. Muestra la ventana ndice, que permite escribir palabras clave para localizar temas en MSDN Library. C. Buscar. Muestra el cuadro de dilogo Buscar, que permite escribir texto y buscarlo en la MSDN Library. D. Ayuda. Muestra los temas procedentes de los conjuntos de documentacin del producto. Los tipos de temas mostrados varan segn los tipos de temas seleccionados en el panel Ayuda dinmica de las opciones Entorno del cuadro de dilogo Opciones. Los tipos de temas posibles incluyen procedimientos, referencia, artculos, orientacin, sintaxis y ejemplos. E. Acciones. Muestra asistentes, macros, comandos y otras herramientas que se inician al hacer clic en el vnculo. Los tipos
Programacin II Unidad 1. 10
Hacer doble clic en cualquier mensaje, comentario o acceso directo de IntelliSense para abrir el editor correspondiente y mover el punto de insercin a una ubicacin especificada. Identificar y localizar problemas detectados al aplicar las directivas de Enterprise Templates. Escribir notas del usuario relacionadas con la solucin en el campo Haga clic aqu para agregar una nueva tarea. Filtrar las entradas de la Lista de tareas mostradas utilizando alguna de las vistas predefinidas. Ordenar las entradas de la Lista de tareas por las columnas Prioridad, Categora, Completadas, Descripcin, Archivo o Lnea.
Programacin II Unidad 1.
11
Tipos de proyectos.
Debido a que en Visual Studio .Net se pueden disear diferentes tipos de soluciones empresariales, el Entorno de Creacin de Nuevos Proyectos y Soluciones se basa en el uso de un Conjunto prediseado de plantillas. Una plantilla de proyecto crea los archivos, las referencias, el marco de trabajo de cdigo, los valores de propiedades y las tareas inciales apropiados para el proyecto seleccionado. El Cuadro de Dialogo de Nuevo Proyecto contiene las siguientes Plantillas de proyecto:
Proyectos de dispositivos inteligentes. Proyectos de Visual Basic. Proyectos de Visual C#. Proyectos de Visual C++. Proyectos de Visual J#. Proyectos de extensibilidad. Proyectos de implementacin. Plantilla Solucin en blanco. Proyectos de base de datos. Proyectos de Enterprise Templates. Proyectos de Visual Studio.
Plantilla Aplicacin para Windows. La plantilla de proyecto Aplicacin para Windows de Visual Basic dispone el lugar de trabajo para una aplicacin estndar para Windows. Para Visual Basic esto reemplaza la aplicacin EXE estndar de Visual Basic 6.0. La plantilla agrega automticamente las referencias y archivos de proyecto esenciales para utilizarlos como punto de inicio para la aplicacin:
AssemblyInfo: se utiliza para describir el ensamblado y especificar la informacin sobre las versiones. Formulario (archivo .vb): contiene el formulario de Windows Forms. Referencias a estos espacios de nombres de .NET Framework: System: contiene clases fundamentales y bsicas que definen valores y tipos de datos de referencia, eventos y controladores de eventos, interfaces, atributos y excepciones de procesamiento, comnmente utilizados.
Programacin II Unidad 1.
12
1.4.1 Configuracin. Configurar un proyecto significa disponerlo para que recopile y analice datos de los eventos. No se pueden grabar o recopilar eventos ni analizar los datos de stos hasta que se configura un proyecto. La configuracin de un proyecto se realiza desde que se crea un proyecto, se le agregan elementos de proyecto, se crea y activa un filtro y se empieza a grabar eventos. El proyecto, como funciona en forma de contenedor, administra los valores que le permiten controlar las propiedades que se aplican al proyecto en conjunto, as como las propiedades que estn limitadas a ciertas configuraciones de generacin del proyecto. La configuracin global del proyecto se especifica mediante las propiedades del proyecto. Esta configuracin predeterminada controla el aspecto y el comportamiento de los elementos del proyecto durante su ciclo de vida til. Las propiedades se guardan en el archivo .vbproj del proyecto, y a ellas se tiene acceso desde el cuadro de dilogo Pginas de propiedades. El cuadro de dilogo Pginas de propiedades de <Nombre del proyecto> contiene las siguientes fichas o pginas:
Programacin II Unidad 1.
1.5
Generar (Propiedades comunes). Importaciones. Ruta de acceso de referencia. Generar (Propiedades de configuracin). Depuracin. Optimizaciones. Implementacin. Dispositivo. Comentarios.
Los comentarios son notas cortas explicativas que se agregan al cdigo para aportar mayor informacin a las personas que lo lean. Es una buena costumbre de programacin iniciar todos los procesos y funciones con un breve comentario que describa las caractersticas funcionales del procedimiento (qu hace), para su propio beneficio y el de cualquier otra persona que examine el cdigo. Se deberan separar los detalles de implementacin (cmo lo hace el procedimiento) de los comentarios que describen las caractersticas funcionales. Al incluir detalles de implementacin en la descripcin, es importante recordar actualizarlos en el momento de actualizar la funcin. Para esto se utiliza el carcter de apostrofo (') o comilla simple. Los comentarios pueden ir a continuacin de una instruccin en la misma lnea, o pueden ocupar una lnea completa. Ambas opciones quedan reflejadas en el siguiente cdigo: 'Este es un comentario iniciando en la parte izquierda de la pantalla. Text1.Text = "Hola!" 'Este es un comentario dentro de una lnea. Si el comentario necesita ms de una lnea, se utiliza el smbolo de comentario en cada lnea: 'El texto de este comentario es demasiado largo para que quepa en una sola 'lnea, as que lo divido en dos lneas. Algunos comentarios pueden 'requerir de tres o ms lneas. Adems del carcter anterior, tambin se puede usar la instruccin REM. Esta sirve para incluir comentarios explicativos en un programa. Por ejemplo:
Programacin II Unidad 1. 14
1.6
Constantes.
Una constante es aquella que almacena un valor que no es posible cambiar durante la ejecucin del programa. Se recomienda que el nombre de una constante sea escrito en su totalidad en maysculas. Const PI As Double = 3.14159265 Si desea que la constante est disponible para todos los formularios y mdulos de la aplicacin deber ser declarada en un mdulo y anteponer a su declaracin la palabra reservada Public. REM Escribir en un Mdulo Public Const PI As Double = 3.14159265 1.7 Tipos de datos.
Los tipos de datos numricos en Visual Basic .NET se agrupan en dos categoras: enteros y de punto flotante. Los tipos de datos numricos a su vez se agrupan en, Byte, Short, Integer y Long. Los tipos de datos de punto flotante son Single y Double.
Programacin II Unidad 1. 15
Establece un marco de trabajo que permite la integracin entre lenguajes, la seguridad de tipos y la ejecucin de cdigo con alto rendimiento. Proporciona un modelo orientado a objetos que admite la implementacin completa de muchos lenguajes de programacin. Define reglas que deben seguir los lenguajes, lo que ayuda a garantizar que los objetos escritos en distintos lenguajes puedan interactuar unos con otros.
Programacin II Unidad 1.
Fechas comprendidas entre el 1 de enero del ao 1 y el 31 de diciembre de 9999, y horas desde las 0:00:00 (medianoche) a las 1:59:59.
Decim 16 bytes al
El mayor valor posibles es de +/79.228.162.514.264.337.593.543.950.335. Para nmeros con 28 decimales, el mayor valor posible es de +/- 7,9228162514264337593543950335 mientras que el menor valor posible distinto de cero es +/- ,0000000000000000000000000001 (+/-1E-28). Se almacenan como nmeros IEEE de punto flotante de doble precisin Los valores van desde 1,79769313486231570E+308 a 4,94065645841246544E-324 para nmeros negativos y de 4,94065645841246544E-324 a 1,79769313486231570E+308 para nmeros positivos.
Doubl e
8 bytes
Valores con signo comprendidos 2.147.483.648 y 2.147.483.647. Valores con signo comprendidos 9.223.372.036.854.775.808 9.223.372.036.854.775.807. - 32.768 a 32.768.
entre entre
Short Single
2 bytes 4 bytes
Se almacenan como nmeros IEEE de punto flotante de precisin simple con valores que van de 3,4028235E+38 a 1,401298E-45 para nmeros negativos y de 1,401298E-45 a
17
Programacin II Unidad 1.
Object 4 bytes
Conversin de Tipos de Datos. El proceso de cambiar un valor de un tipo de datos a otro tipo se denomina conversin. Las conversiones son de ampliacin o de restriccin, en funcin de las capacidades de los datos de los tipos involucrados. Tambin pueden ser implcitas o explcitas, segn la sintaxis del cdigo fuente. El tipo de dato de un elemento de programacin hace referencia al tipo de datos que puede contener y a cmo se almacenan stos. Los tipos de datos se aplican a todos los valores que pueden almacenarse en la memoria del equipo o participar en la evaluacin de una expresin. Cada variable, literal, constante, propiedad, argumento de procedimiento y valor devuelto por un procedimiento tiene un tipo de datos. Un tipo de datos declarado est especificado como parte de la declaracin de un elemento de programacin. A menos que utilice la programacin sin tipos, debe declarar los tipos de datos de todos los elementos de programacin. Para realizar operaciones de conversin, existen las funciones de conversin, las cuales le permiten convertir valores de un tipo de dato a otro tipo de dato.
Funcin.
Definicin.
Programacin II Unidad 1.
18
CShort(Expresin Convierte una expresin numrica a un tipo de dato ). Short (cualquier parte fraccional es redondeada). CSng(Expresin). Convierte una expresin numrica a un tipo de dato Single. CType(Expresin, Convierte la expresin al tipo especificado. Type).
Tabla 2. Funciones de Conversin entre Datos.
Tipos de Datos Definidos por el Usuario. Visual Basic permite al desarrollador crear sus propios tipos de datos, esto es posible en .NET a travs del empleo de la instruccin Structure, ejemplo: Structure Persona Dim sNombre As String Dim nEdad As Integer Dim dFechaNac As Date End Structure Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Empleado As Persona Empleado.sNombre = "Pedro Gmez Luna" Empleado.nEdad = 33 Empleado.dFechaNac = "15 / 5 / 1978" txtOutput.Text = Empleado.sNombre & vbNewLine txtOutput.Text += Empleado.nEdad & vbNewLine txtOutput.Text += Empleado.dFechaNac End Sub
Programacin II Unidad 1. 19
1.8
Variables.
La sintaxis genrica para declarar una variable e inicializarla es la siguiente: [{ Public|Private|Static }] [ ReadOnly ] Dim [ WithEvents nombre[(listadelimites)] [As[New] tipo] [=expresioninicial] Instruccin Dim. Se utiliza en el nivel de mdulo, clase, estructura, procedimiento o bloque para declarar y asignar espacio de almacenamiento para variables. Partes de esta: Public. Opcional. Las variables declaradas con la palabra clave Public tienen acceso pblico. No hay restricciones para tener acceso a las variables pblicas. Puede utilizar Public solamente en el nivel de mdulo, espacio de nombres o archivo. Esto es, puede declarar variables pblicas en un archivo de cdigo fuente o dentro de un mdulo, una clase o una estructura, pero no dentro de un procedimiento. Si se especifica Public, se puede omitir la palabra clave Dim. Private. Opcional. Las variables declaradas mediante la palabra clave Private tienen acceso privado. Slo son accesibles desde dentro del contexto de su declaracin, incluidos los miembros de cualquier tipo anidado como los procedimientos. Slo puede utilizar Private en el nivel de mdulo. Esto es, puede declarar variables privadas en una clase, un mdulo o una estructura, pero no en el nivel de espacio de nombres o de archivo, ni dentro de ]
Programacin II Unidad 1.
20
Programacin II Unidad 1.
22
Variables Vs. Constantes. Variables. Se declara con Dim. Constantes. Se declara con Const.
Los valores cambian en tiempo Los valores permanecen igual en de ejecucin. tiempo de ejecucin. Usas ms memoria que las Usa menos constantes. variables. memoria que las
Alcance de las Variables (Scope). El mbito de un elemento declarado es el conjunto de cdigo que puede hacerle referencia sin calificar su nombre o marcarlo como disponible mediante una instruccin Imports. Un elemento de programacin est disponible en toda la regin en la que se declara. Todo el cdigo de la misma regin puede hacer referencia al elemento sin calificar su nombre. mbito de bloque. Un bloque es un conjunto de instrucciones que terminan en una instruccin End, Else, Loop o Next; por ejemplo, una construccin For...Next o If...Then...Else...End If. Un elemento declarado en un bloque slo puede utilizarse dentro de l. En el ejemplo siguiente, el mbito de la variable entera Cube es el bloque entre If y End If, y las referencias a Cube dejan de ser posibles cuando termina la ejecucin del bloque: If N < 1291 Then Dim Cube As Integer
Programacin II Unidad 1. 23
La regin (bloque, procedimiento, mdulo, clase o estructura) donde se declara el elemento. El espacio de nombres que contiene la declaracin del elemento. La accesibilidad que se declara para el elemento.
Hay que tener cuidado cuando se definen variables del mismo nombre pero con mbito diferente, puesto que ello podra causar resultados inesperados. En lo que se refiere al mbito, es importante tener en cuenta que las variables locales son una opcin idnea para cualquier tipo de clculo provisional. Slo consumen memoria cuando se ejecuta el procedimiento, y sus nombres no son susceptibles de entrar en conflicto. Por ejemplo, es posible crear varios procedimientos distintos que contengan una variable denominada intTemp. En tanto que intTemp est declarado como una variable local, cada procedimiento reconocer nicamente su propia versin de intTemp. Cualquier procedimiento puede cambiar el valor de su variable intTemp local sin que ello afecte a las variables intTemp del resto de los procedimientos. Nota: Las variables de mdulo, compartidas, de instancia y estticas consumen recursos de memoria hasta que finaliza la ejecucin de la aplicacin, por lo que no conviene utilizarlas si no es realmente necesario. En general, cuando se declara una variable o una constante, es un buen hbito de programacin asignar un mbito lo ms restringido posible (el mbito de un bloque es el ms restringido). Esto permite que no se pierda memoria y reduce al mnimo la posibilidad de que el cdigo haga referencia por error a una variable incorrecta. Del mismo modo, slo debera declararse una variable como Static si es necesario que conserve su valor entre una llamada al procedimiento y otra.
1.9
Operadores.
Programacin II Unidad 1.
26
Operad Descripcin or + * / \ Mod ^ & Suma. Resta. Multiplicacin. Divisin. Divisin entera (parte entera de la divisin). Residuo (resto de la divisin entera). Exponenciacin potencia). (elevar a una
Concatenacin de Cadenas.
Dim nInc As Integer For nInc = 1 To 10 If nInc Mod 2 = 0 Then txtOutput.Text += nInc & " es par " & vbNewLine Else txtOutput.Text += nInc & " no es par " & vbNewLine End If Next txtOutput.Text += "10/0 = " & CStr(10 / 0) La divisin entre 0 no est permitida en los clculos matemticos ya que produce un resultado infinito, en la versin Visual Basic 6 hacer esto produce un error de ejecucin 11 "Divisin entre 0", pero en
Programacin II Unidad 1.
27
Operadores Aritmticos. Los operadores aritmticos requieren operandos numricos (^, *, /, \, Mod, +, -) y producen resultados numricos. Operadores String. El operador de concatenacin (&) String requiere operandos String y producen resultados String. Operadores Comparativos (Relacionales). Los operadores Comparativos requieren operandos Comparativos (>, <, >=, <=, =, <>) y producen un resultado lgico (True o False). Operadores Lgicos. Los operadores Lgicos requieren operandos Lgicos (NOT, AND, OR, XOR) y producen un resultado lgico. Operadores Abreviados. Visual Basic .NET incorpora nuevos operadores abreviados que facilitan la escritura de cdigo, por ejemplo: x = x + 1 'Antes escriba x += 1 'Ahora puede escribir Operadores Abreviados +=
Programacin II Unidad 1. 28
Precedencia de Operadores. A continuacin se muestra el orden de precedencia/prioridad/jerarqua de los operadores en Visual Basic .NET. Precedencia de Operadores () ^ */ \ Mod +Tabla 6. Jerarqua de Operadores en Visual Basic .Net.
1.10 Sentencias. Las sentencias son todas aquellas instrucciones, que de manera conjunta forman lo que se conoce como cdigo del programa. En Visual Basic .NET, cada lnea de cdigo puede ser una sentencia, por ejemplo en el bloque siguiente se exponen cuatro sentencias: Dim Mivariable as Integer Mivariable=10 Mivariable= 10*10 MessageBox.Show (Mivariable)
No es posible declarar arreglos con la palabra reservada To. LBound regresar siempre el valor 0 porque el lmite inferior de un arreglo es 0. UBound regresar como valor el nmero de elementos -1.
Dim aNumeros() As Integer = {10, 20, 30, 40, 50} Dim i As Integer txtOut.Text += "Limite inferior: " & LBound(aNumeros) & vbNewLine txtOut.Text += "Limite superior: " & UBound(aNumeros) & vbNewLine For i = 0 To UBound(aNumeros) txtOut.Text += i & " : " & aNumeros(i) & vbNewLine Next
No es posible utilizar ReDim en la declaracin inicial. No es posible utilizar ReDim para cambiar la dimensin a un arreglo existente.
el mismo. 2. Arreglos Dinmicos, el nmero de sus elementos puede cambiar durante la ejecucin del programa. Para los arreglos dinmicos debe tenerse en mente que al declarar el arreglo su tamao ser definido como el nmero de elementos -1. Una vez declarado un arreglo no es posible cambiar el nmero de dimensiones utilizando ReDim, es decir si se declaro un arreglo unidimensional con ReDim no podr redefinirlo como bidimensional. ReDim Preserve, si modifica la dimensin de una matriz que ya contenga datos, estos se perdern, ya que al ejecutar la instruccin ReDim el contenido del arreglo dinmico se definir a su valor predeterminado 0 o null, muy bueno para eliminar el contenido de un
Programacin II Unidad 1. 30
Los procedimientos Sub ejecutan acciones, pero no devuelven un valor al cdigo de llamada. Los procedimientos de control de eventos son procedimientos Sub que se ejecutan en respuesta a un evento desencadenado por una accin del usuario o por un suceso en un programa. Los procedimientos Function devuelven un valor al cdigo de llamada. Los procedimientos Property devuelven y asignan valores de propiedades en objetos o mdulos.
Todas las lneas de cdigo de una aplicacin deben encontrarse dentro de un procedimiento, por ejemplo, Main, Calculate o Button1_Click. La aplicacin se leer con mayor facilidad si subdivide los procedimientos grandes en procedimientos ms pequeos. Los procedimientos son tiles para realizar tareas repetitivas o compartidas, como clculos de uso frecuente, manipulacin de texto y controles, y operaciones con bases de datos. Se puede llamar a un procedimiento desde distintos lugares del cdigo; de modo que los procedimientos se prestan a servir de unidades de creacin de la aplicacin. La estructuracin del cdigo en procedimientos aporta las siguientes ventajas:
Los procedimientos permiten desglosar los programas en unidades lgicas independientes. Es ms fcil depurar unidades individuales que todo un programa sin procedimientos. Los procedimientos desarrollados para un programa pueden utilizarse en otros programas, generalmente sin tener que realizar apenas modificaciones.
Procedimientos Sub.
Programacin II Unidad 1. 32
Programacin II Unidad 1.
33
'Sentencias a ejecutar. End Function La accesibilidad puede ser Public, Protected, Friend, Protected Friend o Private. Los procedimientos Function pueden definirse en mdulos, clases y estructuras. Son Public de forma predeterminada, lo que significa que se les puede llamar desde cualquier parte de una aplicacin. Los argumentos se procedimiento Sub. declaran del mismo modo que en un
Procedimientos Property. Un procedimiento Property consiste en una serie de instrucciones de Visual Basic que manipulan una propiedad personalizada en un mdulo, una clase o una estructura. Los procedimientos Property tambin se conocen como descriptores de acceso de propiedades. Una propiedad se diferencia de una variable pblica o de un campo en los siguientes aspectos:
Una propiedad se implementa con cdigo ejecutable (sus procedimientos Property), y no con una instruccin de declaracin individual. Los procedimientos Property se ejecutan cuando se establece o se recupera el valor de la propiedad. Esto permite que una
Programacin II Unidad 1.
34
clase realice acciones personalizadas cuando el cdigo del cliente obtiene acceso a la propiedad. Una propiedad no tiene asociada a su declaracin ninguna ubicacin de almacenamiento. Aunque los procedimientos Property suelen definir constantes y variables locales, stas no suelen estar disponibles para el cdigo de acceso a la propiedad. Por lo tanto, aunque es posible incluir una variable o un campo como miembro de una estructura o una matriz, no lo es en el caso de una propiedad. Una propiedad puede definirse como de slo lectura, slo escritura o lectura y escritura. El valor predeterminado es de lectura y escritura.
Los procedimientos Get devuelven el valor de una propiedad; se llama a estos procedimientos cuando se obtiene acceso a la propiedad en una expresin. Los procedimientos Set establecen el valor de una propiedad, e incluyen una referencia de objeto; se llama a estos procedimientos cuando se le asigna un valor a la propiedad.
Normalmente los procedimientos Property se definen por parejas, utilizando las palabras clave Get y Set, pero si la propiedad es de slo lectura (Get) o de slo escritura (Set) puede definirse cada procedimiento de forma individual. Una propiedad se define mediante un bloque de cdigo delimitado por las instrucciones Property y End Property. Dentro del bloque, cada procedimiento Property aparece como un bloque interno encerrado entre una instruccin de declaracin (Get o Set) y una instruccin End. La sintaxis para declarar una propiedad y sus procedimientos es la siguiente: [Default] [accessibilidad] Property Nombre[(listadeargumentos)] As TipoDeDato Get ' ... Return expresin propiedad. End Get Set [(ByVal newvalue As TipoDeDato)] ' ...
Programacin II Unidad 1. 35
'Usa la clase MessageBox del Espacio de Nombres 'System.Windows.Forms. MessageBox.Show("Iniciando " & Tarea & " a las " & CStr(Inicio)) End Sub Una llamada tpica a DecirOperacion tendra esta forma: Call DecirOperacion ("Actualizacin de Archivos") Para llamar a un procedimiento Function, hay que incluir el nombre y los argumentos de ste en la parte derecha de una asignacin o en una expresin. Esto ltimo se ilustra en los siguientes ejemplos de llamada: lvalue = functionname[(listadeargumentos)] If ((Funcin[(listadeargumentos)] / 3) <= expresin) Then ... El siguiente procedimiento Function calcula la hipotenusa de un tringulo rectngulo a partir de los valores de los catetos:
Programacin II Unidad 1.
37
Valor que retorna Carcter en cdigo ASCII o ANSI. Carcter correspondiente en cdigo ASCII o ANSI. Fecha o nmero convertido en una cadena de caracteres. Localiza una subcadena dentro de otra cadena. Nmero de caracteres en una cadena de texto. Selecciona o extrae una porcin de una cadena de texto. Fecha y hora actual.
Programacin II Unidad 1.
38
Quita primero y arrastra espacios de una cadena. Valor numrico que da a una cadena.
Tabla 7. Funciones Comunes en Visual Basic .Net.
Argumentos ByVal y VyRef. Los argumentos de un procedimiento, (funcin o subrutina) se declaran igual que las variables, especificando el nombre y el tipo de datos del argumento. Tambin puede especificarse el mecanismo que se va a utilizar para pasar el argumento, as como si se trata de un argumento opcional. La sintaxis de los argumentos en una lista de argumentos es la siguiente: [Optional] [ByVal|ByRef] NombreDelArgumento As TipoDeDato [ArreglodeParametros]
Se pueden pasar argumentos ya sea por ByVal (valor) o ByRef (referencia). Mediante ByVal los procedimientos no pueden modificar el contenido. Usando ByRef el procedimiento puede modificar el contenido. Usando Exception los elementos no variables nunca son modificados llamados desde el cdigo, aun cuando se paso por referencia. Los argumentos son pasados ByVal por default en Visual Basic .NET. Ejemplo: (ByVal Name As String) Argumentos opcionales. Si el argumento es opcional, la declaracin de ste debe contener tambin un valor predeterminado, como se muestra a continuacin: Optional ByVal argumentname As TipoDeDato = defaultvalue Reglas para declarar argumentos opcionales.
Programacin II Unidad 1.
39
Ejemplo: Function Suma (ByVal Valor1 As Integer, ByVal Valor2 As _ Integer, Optional ByVal Valor3 As Integer = 0) As Integer Valores de Retorno en Funciones. El valor que un procedimiento Function devuelve al programa que realiza la llamada se denomina valor devuelto. La funcin puede devolver dicho valor de dos maneras: La funcin asigna un valor a su propio nombre de funcin en una o ms instrucciones del procedimiento. No se devuelve el control al programa que realiza la llamada hasta que se ejecuta una instruccin Exit Function o End Function, como en el siguiente ejemplo: Function FuncionPrueba[(ListaDeArgumentos)] As TipoDeDato ' ... FuncionPrueba = Expresin funcin. ' ... End Function La funcin utiliza la instruccin Return para especificar el valor devuelto, e inmediatamente devuelve el control al programa de llamada, como en el siguiente ejemplo: Function FuncionPrueba [(ListaDeArgumentos)] As TipoDeDato ' ... Return Expresin 'El control es devuelto inmediatamente. ' ... End Function La ventaja de asignar el valor devuelto al nombre de la funcin es que el control permanece en la funcin hasta que el programa encuentra 'El control permanece dentro de la
Programacin II Unidad 1.
40
Programacin II Unidad 1.
41
Se usa para una decisin que esta entre falso o verdadero. Si la condicin es verdadera las lneas siguientes de cdigo son ejecutadas. Si la condicin es falsa las lneas siguientes de cdigo no son ejecutadas. If Sales > 10000 Then Bonus = .10 * Sales End If
B. Sentencia IfThen...Else.
Se usa para una decisin con por lo menos dos opciones. Cada sentencia If debe tener un End If correspondiente. Si la condicin es verdadera las lneas siguientes de cdigo son ejecutadas. Si la condicin es falsa las lneas siguientes de cdigo de la sentencia If no son ejecutadas. If Sales > 10000 Then Bonus = .10 * Sales Else Bonus = 0 End If
C. Sentencia IfThen...ElseIf.
Se utiliza para anidar declaraciones de decisin. Cada sentencia If debe tener un End If correspondiente. Las declaraciones de ElseIf no tienen su propio End If. Las declaraciones de ElseIf no pueden aparecer despus de un Else. Si la condicin es falsa las lneas siguientes de cdigo de la sentencia If no son ejecutadas.
Programacin II Unidad 1.
42
1.14 Controles bsicos y sus propiedades. En Visual Basic .NET, la interfaz de usuario, es decir, la parte de los programas con la que interacta el usuario, se desarrolla utilizando objetos, mejor conocidos como controles. Cada uno estos controles se derivan de una clase especfica. Todas las clases para los controles a utilizar en una aplicacin estn contenidas de manera predeterminada al instalar el lenguaje. Existe adems la posibilidad de crear controles a la propia necesidad del programador, estos se conocan anteriormente como controles ActiveX, ahora en este lenguaje se les conoce como controles de usuario. De esta manera, ya que un control es en s un objeto creado a partir de una clase, contiene los mismos elementos universales de un objeto: propiedades, mtodos y eventos. Los controles ms utilizados para el diseo de la interfaz de usuario son el Cuadro de Texto (TextBox), el Botn de Comando (Button), la Etiqueta (Label), la Lista Desplegable (DropDownList) y el Contenedor
Programacin II Unidad 1. 46
Control, User Control, and Form. La mayora de las clases del espacio de nombres System.Windows.Forms derivan de la clase Control. La clase Control proporciona la funcionalidad base de todos los controles que se muestran en un objeto Form. La clase Form representa una ventana dentro de una aplicacin. Incluye cuadros de dilogo, ventanas no modales, ventanas cliente y la ventana principal de la Interfaz de documentos mltiples (MDI). Para crear un control personalizado que est compuesto por otros controles, utilice la clase UserControl. Controls. El espacio de nombres System.Windows.Forms dispone de diferentes clases de controles que permiten crear interfaces de usuario completas. Algunos controles estn diseados para la entrada de datos en la aplicacin, por ejemplo, los controles TextBox y ComboBox. Otros controles muestran datos de la aplicacin, por ejemplo, Label y ListView. El espacio de nombres tambin dispone de controles para invocar a comandos en la aplicacin, por ejemplo, Button y ToolBar. Adems, puede utilizar el control PropertyGrid para crear su propio Diseador de Windows Forms que muestra las propiedades de los controles que son visibles para el diseador. Components. Adems de los controles, el espacio de nombres System.Windows.Forms proporciona otras clases que no se derivan de la clase Control pero que tambin aportan caractersticas visuales a las aplicaciones basadas en Windows. Algunas clases, como ToolTip y ErrorProvider, amplan las capacidades o proporcionan informacin al usuario. Otras, como Menu, MenuItem y ContextMenu, permiten mostrar mens al usuario para que invoquen a comandos en una aplicacin. Las clases Help y HelpProvider permiten mostrar informacin de Ayuda al usuario de las aplicaciones. Common Dialog Boxes. Windows proporciona varios cuadros de dilogo comunes que se pueden utilizar para ofrecer a la aplicacin una interfaz de usuario coherente a la hora de realizar tareas como abrir y guardar archivos, manipular la fuente o el color del texto, o imprimir. Las clases OpenFileDialog y SaveFileDialog proporcionan la funcionalidad
47
Programacin II Unidad 1.
Programacin II Unidad 1.
48