Programación en Visual Basic.NET.

Cuando era pequeño, o por lo menos de eso me acuerdo, tenía un ordenador Amstrad CPC464 de 64KBytes de memoria. Era uno de los microordenadores que no todo el mundo podía tener. La cuestión es que el lenguaje de programación que gobernaba al sistema era el Basic.

La forma de programar aplicaciones era por líneas de comandos, muy parecida a la forma de programar con MsDos. Por ejemplo una aplicación para crear unos efectos de bordes parpadeantes y que se imprimiera un mensaje en de bienvenida en la pantalla era la siguiente.

10 cls
20 border 0,4
30 print "hola Mundo"
40 goto 30

Ahora para ejecutar la aplicación teníamos que teclear en la pantalla la palabra RUN y pulsar Intro.La ejecución repite la palabra "Hola mundo" mientras que el borde de la pantalla parpadea.

Esta forma de programar se repite prácticamente por medio de MS-DOS de Windows, el sistema operativo de Microsoft, por excelencia, además de ser el sistema preferido de todos los lenguajes de Scripts y navegación actuales. Al introducir instrucciones en la ventana de comandos, se realiza una acción definida por esa instrucción. Se puede editar una aplicación por medio de un editor el cual leerá la información introducida por medio de líneas de código.

En la actualidad, el manejo de la información de Visual Basic.NET es tratado de manera diferente. Como he mencionado al principio de este tema, el entorno de desarrollo integrado de visual studio.NET (IDE), administra un entorno común para varios lenguajes de programación, con lo cual para programar se requieren de ciertas características distintas a la hora de componer las sentencias de código.

Por ejemplo para imprimir un mensaje por pantalla se tiene que pensar como quiere que sea ese mensaje; me explico:

Si quieres que el mensaje se abra nada más ejecutar la aplicación, tendrás que escribir el código en el control formulario que por defecto utiliza el evento Load. Cuando se inicie la ejecución, este evento leerá todo el código existente en el formulario.

Si por otro lado, quieres que salga el mensaje cuando pulses un control, deberás escribir el código en ese control, y dependiendo del evento ligado a ese control se realizará la acción.

.NET Framework.

Según Microsoft: “.NET Framework es un entorno para construir, instalar y ejecutar servicios Web y otras aplicaciones”. En las versiones anteriores a la 2013 se componía de tres partes principales: El common Languaje Runtime (CLR), las clases o bibliotecas Framework, y ASP.NET.

Por tanto .Net Framework es una plataforma diseñada para simplificar el desarrollo de aplicaciones en el entorno distribuido de internet. Esto significa que, .Net Framework, es el corazón de toda la tecnología .NET y que por lo tanto, los lenguajes basados en .NET, compartirán la forma de construcción general de .NET Framework. Así, la versión de Visual Studio.NET engloba varios lenguajes de programación con sus propias síntesis de programación, pero con el entorno compartido de la tecnología .Net Framework.

Realmente .Net Framework es una colección de clases, funciones y métodos que se utilizarán para construir cualquier aplicación típica de Internet o de Windows y que será compatible con todas las características de .NET. En la actualidad la versión actual es la 3.5 y ha ampliado sus características y funcionalidad ya que ahora también se pueden desarrollar APPs de otros soportes.

Common Languaje Runtime

El CLR, es el motor en tiempo de ejecución de .Net Framework. Su función es cargar y ejecutar el código de los programas, librerías o ensamblados. También comprueba que las clases creadas u objetos creados con cualquier lenguaje con tecnología .Net Framework, funcionen correctamente, y en el caso de que no sea correcto el funcionamiento, intentará corregir el problema. Además administra la memoria para reducir el consumo de memoria y comprueba el ensamblado para ver si un objeto ha dejado de utilizarse y liberar el espacio que utilizaba.

estructura del CLR

Sobre el compilador de .Net Framework, hay que decir que el CLR no carga el ejecutable a partir de un código fuente máquina, como hace cualquier compilador ajeno a .Net Framework; sino que lo convierte primero en un lenguaje de nivel intermedio llamado Microsoft Intermediate Languaje (MSIL), un código independiente de la CPU o del procesador de la máquina.

Nivel intermedio

Después lo manda al compilador integrado en el CLR llamado Just In Time Compiler (JIT), el cual se encarga de compilar y adaptar el código del ejecutable en lenguaje MSIL, al procesador del sistema operativo que lo está ejecutando, como bien sabes en formato binario. En teoría, cualquier tipo de procesador y sistema operativo es compatible con .NET siempre que exista una versión del CLR para esa plataforma.

Espacio de nombres.

Un namespace, es una forma de agrupar distintas partes de código relacionadas entre sí. Un espacio de nombres es como una librería que se utiliza para crear aplicaciones.

En Visual Basic.NET, se pueden definir nuevos namespace dentro de un mismo ensamblado. En un namespace se pueden definir otros espacios de nombres, clases, estructuras, interfaces y otros elementos.

NOTA: Se llama ensamblado a los archivos con código ejecutable, en los cuales se le agregan las clases, enumeraciones, estructuras, interfaces, módulos, nombres de espacios, etc., y que dicho ensamblado se genera al ejecutar el proyecto creado.

Common Type System.

El CTS o sistema de tipos comunes, es una característica que define como el CLR utiliza y administra los tipos de datos. Básicamente existen 2 tipos de datos:

● Tipos por Valor:(ByVal)- Son los tipos elementales que cada lenguaje implementa. Cuando se utiliza este tipo de dato por valor, cada uno de ellos es independiente de los otros. Por lo tanto, cada tipo por valor ocupa una única zona en la memoria.
● Tipos por Referencia:(ByRef) - Usando los datos por Referencia, tanto las clases .NET Framework o las creadas, hace que se cree en la memoria una copia de los datos, que puede ser referenciada por más de un objeto.

Common Languaje Specification.

El CLS es por así decirlo el copyright de CLR y se encarga de que todo el código generado en el lenguaje que use .NET, por ejemplo en este caso Visual Basic.NET, sea compatible con las especificaciones CLS de otro lenguaje de .NET Framework. Esto hará posible que un programa creado en Visual Basic, sea compatible y se pueda convertir a otro tipo de lenguajeenglobado en .NET Framework, como por ejemplo C# o C++.

Mi primer programa.

El aprendizaje de un lenguaje específico siempre estará ligado a la práctica y el desarrollo de las aplicaciones. Eso es lo que se llama 'Learning by doing', es decir es más fácil aprender algo si realizas experimentos, prácticas y desarrollos de ese algo.

En mirpas voy a seguir esa política y aprenderás a base de ver, insertar y utilizar librerías y clases, controles y métodos, ajustes de propiedades y visualización de vídeos.

Para empezar vamos a hacer el típico 'Hola Mundo' en VB.NET, pero lo mejoraremos en la sección de practicas de éste capítulo para que el usuario pueda empezar a entender la potencia de VB.NET.

Abre el IDE de visual Studio que te hayas descargado y selecciona Iniciar y nuevo proyecto. En la ventana que se abre, selecciona Proyecto de visual Basic y aplicación de Window Form, tal como puedes ver en pantalla.

nuevo proyecto en visual Basic.NET

Se te abrirá el menú principal de edición en donde se muestra un formulario con un tamaño específico.

En dicha pantalla podrás ver la ventana de edición, la ventana de propiedades y el explorador de soluciones. A la izquierda tendrás la barra de herramientas y la ventana de orígenes de datos, por defecto ocultas.

Ventana principal de edición del proyecto

En la ventana de propiedades, podemos establecer las propiedades de los controles que utilicemos en nuestro proyecto. Ahora mismo solo tenemos el formulario, por lo las propiedades seleccionadas son las relativas al formulario, como su ancho, posición, estilo, tipo de fuente, visibilidad, etc., etc.

En el explorador de soluciones puedes seleccionar las clases que utilizarás en el proyecto. Con clases me refiero a las herramientas, procesos y métodos de cada control usado dentro del proyecto. En nuestro ejemplo ahora tenemos tres archivos ligados al proyecto llamado HolaMundo:

Explorador de soluciones

El archivo My Project, te muestra una ventana en la cual podrás configurar el proyecto en relación al copyright, la versión de ensamblado, el uso de clases, variables, funciones, publicar el proyecto, compilación, etc., etc.

My project. configuración del proyecto.

También está la App.config, el cual es un archivo XML que se irá editándo según se vayan agregándo nuevas funcionalidades al proyecto.

archivo XML de configuración

Por último, el archivo form1.vb es el archivo principal del proyecto en el cual se añadirán los controles que utilizará dicho proyecto. Si la presionas la flecha izquierda aparecerá los controles utilizados hasta el momento, en cuyo caso ahora solo tenemos un formulario. Al seleccionarlo en la ventana principal aparecerá el código fuente de dicho control y por defecto tiene un evento de carga (load).

ventana de código

El evento load, se carga cuando se ejecuta la aplicación, es decir que una vez que se cargue se lanza la instrucción contenida en el interior de la clase en la cual se ha programado dicho evento.

Así que programaremos que aparezca en pantalla un mensaje dándote la bienvenida a Visual Basic.NET en el evento load.

Para ello utilizaremos el método MsgBox(), que muestra un cuadro de mensaje en el escritorio de la aplicación.

primer programa con msgbox

Como puedes ver el msgbox tiene varias configuraciones que más adelante podrás ver.

Al pulsar sobre el botón de Iniciar o F5, podrás ver el mensaje que hemos programado.

iniciar proyecto Resultado

Ya has creado tu primer programa, aunque es muy sencillo, solo has utilizado una línea de código para crear una caja, un texto y una configuración específica. En la zona de prácticas verás como mejorar éste cuadro de texto y personalizarlo.