martes, 4 de octubre de 2016

Que es Visual Basic.


Es un lenguaje de programación dirigido por eventos, desarrollado por Alan Cooper para Microsoft. Este lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo que facilitó en cierta medida la programaciónmisma.
La última versión fue la 6, liberada en 1998, para la que Microsoft extendió el soporte hasta marzo de 2008.
En 2001 Microsoft propuso abandonar el desarrollo basado en la API Win32 y pasar a un framework o marco común de librerías, independiente de la versión del sistema operativo, .NET Framework, a través de Visual Basic .NET (y otros lenguajes como C Sharp (C#) de fácil transición de código entre ellos); fue el sucesor de Visual Basic 6.
Aunque Visual Basic es de propósito general, también provee facilidades para el desarrollo de aplicaciones de bases de datosusando Data Access Objects, Remote Data Objects o ActiveX Data Objects.
Visual Basic contiene un entorno de desarrollo integrado o IDE que integra editor de textos para edición del código fuente, undepurador, un compilador (y enlazador) y un editor de interfaces gráficas o GUI.
Visual basic dió un paso mas en innovación y ahora es posible programar aplicaciones Nativas para Android o IPhone utilizando un software de la compañia Anywhere Software que transforma código Visual Basic (creado por dicha compañia) en APPs 100 % nativas en Java para ambos sistemas operativos de dispositivos móviles. ver (B4X Basic4Android & Basic4IPhone).

domingo, 2 de octubre de 2016

Historia.

Todas las versiones de Visual Basic para Windows son muy conocidas, aunque la Microsoft Visual Basic 1.0 desarrollada para el sistema operativo MS-DOS (ediciones Profesional y Estándar), que data de 1992, fue menos difundida. Esta proveía un entorno que, aunque en modo texto, incluía un diseñador de formularios en el que se podían arrastrar y soltar distintos controles.
La última versión que sólo generaba aplicaciones de 16 bits fue la 3.0, y no incluía una biblioteca detallada de componentes para toda clase de usos. Durante la transición de los sistemas Windows 3.11 a Windows 95, en 1995, hizo su aparición la versión 4.0 de Visual Basic; ésta podía generar programas tanto de 16 como de 32 bits, a partir del mismo código fuente, aunque a costa de un gran aumento en el tamaño de los archivos necesarios en tiempo de ejecución ("runtime"). Además, se sustituyeron los controles denominados VBX por los nuevos OCX. Con la siguiente versión, la 5.0, se estuvo a punto de implementar por primera vez la posibilidad de compilar a código nativo, obteniendo una mejora de rendimiento considerable. Tanto esa como la sucesora 6.0 soportaban ciertas características propias de los lenguajes orientados a objetos, pero carecían de algunas importantes, tales como herencia y sobrecarga; pero, de hecho, no fue pensado como lenguaje orientado a objetos. La versión 6.0, que puede generar código ejecutable directo en 32 bits, continúa aún utilizándose masivamente, y es compatible con las últimas versiones de los sistemas Windows, como Windows 7 y Windows 8.
Visual Basic evolucionó para integrar la plataforma .NET; allí perdió su propia identidad como lenguaje único adquirible, pasando a integrar un paquete de productos, llamado precisamente Microsoft .NET; dentro de ese paquete o framework se encuentra el nuevo y llamado Visual Basic .NET, que trabaja sobre el entorno Microsoft Visual Studio. Esta nueva versión del lenguaje posee profundas diferencias en la forma de programar respecto de Visual Basic 6, pero gran semejanza en su sintaxis básica.
Cabe mencionar que, aunque fue menos conocido, se desarrolló también una versión gratuita de Visual Basic 5.0, orientada al desarrollo de controles y componentes; su nombre específico era Microsoft Visual Basic 5.0 Control Creation Edition (Visual Basic 5 CCE). También hubo versiones orientadas al desarrollo de aplicaciones para dispositivos móviles basados en Windows CE y Pocket PC, conocidas como Embedded (Visual Basic).

sábado, 1 de octubre de 2016

DESCRIPCIÓN

Descripción del entorno.

Para desarrollar el curso se ha utilizado Visual Basic 6.0 en castellano, y todas las referencias e imágenes serán sobre esa versión, si bien se podría seguir el curso con la versión anterior, puesto que las diferencias radicarán, más que en que no se pueda realizar, en la forma de hacer o llamar a las cosas.
Cuando ejecutamos VB, después de cargar el entorno, nos aparece el siguiente cuadro:

Nos ofrece tres solapas: Nuevo, con las diferentes opciones que nos permite crear VB, en principio sólo utilizaremos EXE estándar, que nos llevará a un formulario vacío desde el cual comenzaremos a desarrollar nuestra aplicación. Existente, nos permite abrir proyectos que ya existen para continuar implementándolos. Recientes, lo mismo pero sobre los últimos proyectos que hayamos estado desarrollando.
Una vez que hayamos elegido EXE estándar, aceptamos y aparece la siguiente ventana (salvo por las diferencias de tamaño, necesarias para que entre la imagen), en la cual vemos que tenemos un proyecto abierto que en principio cuenta con un formulario vacío. Posteriormente, si los necesitamos podremos insertarle tantos formularios al proyecto como queramos.

La ventana principal está formada además de por la barra de menús y la barra de botones superiores, de un conjunto de ventanas con funciones diversas, cada una de ellas es configurable en cuanto tamaño, o incluso se pueden ocultar para ganar espacio para otras. Las principales son:

  • Ventana del Proyecto: Es la ventana que va a contener el objeto activo del proyecto, en la imagen superior vemos que contiene el formulario vacío, que utilizaremos para el diseño gráfico. Pero cuando le queramos añadir código, la ventana de código también estará contenida aquí.
  • Explorador de proyectos: Ventana superior derecha, nos permite visualizar los objetos que contiene el proyecto actual agrupados por categorías, en nuestro caso y por el momento solo hay un formulario colgando de la carpeta formularios. Además en la parte superior izquierda de esta ventana hay dos botones que nos permiten intercambiar la vista de diseño gráfico con la ventana de código en la ventana del proyecto. No obstante para pasar a la ventana de código bastaría con hacer doble click sobre cualquier control.
  • Ventana de propiedades: Situada debajo de la anterior, contiene el conjunto de propiedades, con el valor actual correspondiente, de cada uno de los objetos. Es aquí donde podremos modificar los valores iniciales de esas propiedades, en lo que se conoce como tiempo de diseño.
  • Ventana de posición del formulario: Situada debajo de la anterior, permite la colocación del formulario en la pantalla, representado la misma con una imagen a escala.
  • Caja de herramientas: Situada a la izquierda, contiene los controles que podemos ir colocando en el formulario, para ello bastará con hacer doble click sobre uno de ellos, o pulsar sobre el control y "dibujarlo" sobre el formulario.

REQUISITOS, INSTALACION Y EJECUCION DEL SOFTWARE

Requisitos de hardware y del sistema

Para ejecutar Visual Basic, tenemos que disponer de cierto hardware y software instalado en el equipo. Entre los requisitos del sistema cabe citar los siguientes:
  • Microsoft Windows 95 o posterior, o Microsoft Windows NT Workstation 4.0 o posterior  (se recomienda Service Pack 3).
  • 486DX/66 MHz o modelo superior de procesador (se recomienda procesador Pentium o superior) o cualquier procesador Alpha que ejecute Microsoft Windows NT Workstation.
  • Una unidad de CD-ROM.
  • Pantalla VGA o de mayor resolución, compatible con Microsoft Windows.
  • 16 MB de RAM para Windows 95, 32 MB de RAM para Windows NT Workstation.
  • Un mouse (ratón) u otro dispositivo de puntero.

Instalación de Visual Basic.

Cuando ejecutamos el programa de instalación, se crea un directorio para Visual Basic; después podremos seleccionar los componentes de Visual Basic que deseamos instalar.
A excepción de los archivos del sistema operativo del directorio \Os, los archivos del CD-ROM no están comprimidos, por lo que podemos usarlos directamente desde el disco. Por ejemplo, existen numerosas herramientas y componentes en el directorio \Tools que pueden ejecutarse o instalarse directamente desde el CD.
Para realizar la instalación desde el CD-ROM
  1. Insertamos el disco en la unidad de CD-ROM.
  2. Utilizaremos el comando apropiado del entorno operativo para ejecutar el Programa de instalación, que se encuentra en el directorio raíz del Disco 1. Si está activado AutoPlay en el sistema, el Programa de instalación se cargará automáticamente cuando inserte el disco.
  3. Seleccionamos Instalar Visual Basic 6.0.
  4. Deberemos seguir las instrucciones de instalación que aparecen en la pantalla.
Para obtener más información: Para obtener instrucciones detalladas acerca de la instalación de Visual Basic, tendremos que revisar el archivo Léame.

Agregar o quitar componentes de Visual Basic

Podemos ejecutar el programa de instalación tantas veces como sea necesario. Por ejemplo, podemos ejecutar el programa de instalación para volver a instalar Visual Basic en otro directorio o para instalar otras partes de Visual Basic.
Para agregar o quitar componentes de Visual Basic
  1. Insertamos el disco completo en la unidad de CD-ROM.
  2. Utilizaremos el comando apropiado del entorno operativo para ejecutar el Programa de instalación, que se encuentra en el directorio raíz del disco compacto. Si está activado AutoPlay en el sistema, el Programa de instalación se cargará automáticamente cuando inserte el disco.
  3. Hacemos clic en el botón Personalizada del cuadro de diálogo Instalación de Microsoft Visual Basic 6.0.
  4. Seleccionamos los componentes que vamos a instalar (o anularemos la selección de los componentes que vamos a quitar) en el cuadro de lista Opciones del cuadro de diálogo Personalizada.
  5. Ya sólo queda seguir las instrucciones de instalación que aparecen en la pantalla.

CUADRO DE HERRAMIENTAS

Para saber cual es el control, simplemente ponga el cursor del ratón sobre el control que desea ver y espere dos o tres segundo y aparecerá una indicación sobre cual es el control en cuestión.

Este cuadro de herramientas puede ser diferente, dado que pueden haber más o menos controles en la barra y por lo tanto puede ser mucho más grande o con más columnas de controles o de diferente tipo de controles.
La imagen de la barra de herramientas anterior, tiene lo que se denomina barra estándar de herramientas, cada uno de estos controles realiza la siguiente función:




Cursor del ratón: sirve para quitar la selección del que hayamos pulsado por error.


Picture: permite incluir gráficos, es parecido al image pero con variantes.


Label (Etiqueta): sirve para poder poner mensajes o textos en la pantalla, pero no son editables por el usuario.



TextBox: caja de texto, permite que el usuario pueda escribir directamente.


Frame: es un contenedor para los demás controles.



CommandButton: Botón de comando, permite que el usuario pueda pulsar botones y
que realicen determinadas acciones

CheckBox: caja de chequeo, permite tener opciones sobre las que el usuario confirma o niega.


OptionButton: botón de opción, permite tener varias opciones de las cuales seleccionar una.



ComboBox: caja combinadam, permite tener varias opciones de las cuales seleccionar y ver una.



ListBox: caja de lista, presenta una lista de opciones y permite seleccionar una o varias
de dichas opciones


HScroll: (Barra Horizontal de Scroll) se puede crear un barra de desplazamiento horizontal.




VScroll: barra vertical de Scroll, permite tener una barra vertical para desplazamientos.


Timer: es un controlador de tiempo.


DriveBox: caja de unidades, permite indicar que unidades de almacenamiento tiene el ordenador.




DirBox: caja de directorios, indica los directorios y subdirectorios de una ruta en concreto.


FileList: indica una lista de los ficheros que se encuentran en un determinado directorio o subdirectorio.


Shape: permite incluir formas gráficas en el formulario, como un cuadrado, un círculo, etc.



Line: permite incluir una línea en el formulario.



Image: permite incluir imágenes como fotografías, dibujos, etc..



Data: permite la conexión con una base de datos y poder añadir, modificar, consultar, borrar, etc..


Versiones.

  • Visual Basic 1.0 para Windows se liberó en mayo de 1991.
  • Visual Basic 1.0 para MS-DOS fue liberada en septiembre de 1992. Poco popular, este lenguaje no era compatible con Visual Basic para Windows, ya que constituía en realidad la siguiente versión de los compiladores BASIC vigentes para DOS, denominados QuickBASIC y BASIC PDS (Profesional Development System). Usaba una interfaz de texto, con caracteres ASCII extendidos que daban la apariencia de una interfaz gráfica.
  • Visual Basic 2.0 fue liberado en noviembre de 1992. Venía en versiones Standard y Professional. El entorno de programación era más fácil de usar que el anterior, y su velocidad de proceso fue mejorada. En particular, los formularios se convirtieron en objetos instanciables, sentando así los conceptos fundamentales para módulos de clase, que más tarde se ofrecerían en la versión 4.
  • Visual Basic 3.0 salió al mercado en verano de 1993, en versiones Standard y Profesional. Incluía la versión 1.1 de Microsoft Jet Database Engine, que permitía acceso a bases de datos Access.
  • Visual Basic 4.0, surgida en agosto de 1995, fue la primera versión que generaba aplicaciones tanto de 16 como de 32 bits para Windows. Había incompatibilidades entre las distintas realeases de esta versión que causaban fallas de instalación y problemas de operación. Mientras las anteriores utilizaban controles VBX, con la 4.0 se comenzaron a utilizar controles OLE en archivos OCX, que más tarde se llamarían controles ActiveX.
  • En febrero de 1997, Microsoft lanzó Visual Basic 5.0, versión que generaba programas de 32 bits exclusivamente. Los programadores que aún preferían desarrollar aplicaciones en 16 bits debían necesariamente utilizar VB 4.0, siendo transportables en código fuente a VB 5.0 y viceversa. En la versión 5 se tenía la posibilidad de crear controles personalizados; también permitía compilar a código ejecutable nativo de Windows, logrando con ello incrementar la velocidad de ejecución de los programas generados, más notablemente en los de cálculo.
  • Visual Basic 6.0, salido a mediados de 1998, muy mejorado, incrementó el número de áreas e incluyó la posibilidad de crear aplicaciones basadas en Web. Microsoft retiró el soporte de VB6 en marzo de 2008, pero a pesar de ello las aplicaciones que genera son compatibles con plataformas más modernas, como Windows Vista, Windows Server 2008, Windows 7 y Windows 8.
    El soporte estándar para Microsoft Visual Basic 5.7 finalizó el 31 de marzo de 2005, pero el extendido terminó en marzo de 2008. La comunidad de usuarios de Visual Basic expresó su grave preocupación y se firmó una petición para mantener el producto vivo. Microsoft se ha negado hasta el momento a cambiar su posición sobre el asunto. Irónicamente, en esa época (2005) se da a conocer que el software antiespía ofrecido por Microsoft, "Microsoft AntiSpyware" (parte de la GIANT Company Software), fue codificado en Visual Basic 6.0; su posterior sustituto, Windows Defender, fue reescrito en código C++.

viernes, 30 de septiembre de 2016

EJEMPLOS

EJERCICIO EJEMPLO RESUELTO Nº1
Transformar el algoritmo que se indica a continuación, relativo a calculo de necesidades de combustible, en un programa de Visual Basic.
Visual Basic

1.  Inicio
2.  [Definición de vehículos]
3.  Turismos = 32
4.  Todoterrenos = 11
5.  [Fin de definición de vehículos]
6.  [Definición de capacidad de depósitos]
7.  Capturismos = 40
8.  Captodot = 65
9.  [Fin de definición de capacidad de depósitos]
10.  [Cálculo de necesidades de combustible]
11.  Necesidadescom = Turismos * Capturismos + Todoterrenos * Captodot
12.  [Fin de cálculo de necesidades de combustible]
13.  Fin


SOLUCIÓN EJERCICIO EJEMPLO Nº 1
El código será algo como lo que se muestra a continuación. Antes de escribir el código tenemos que crear los objetos (controles) a que vamos a hacer referencia en el código, en concreto crearemos 6 labels, 4 TextBox y un botón.

Código (versionesVB menos recientes)Código (versiones VB más recientes)
Rem Curso Visual Basic aprenderaprogramar.com
Option Explicit
Rem Declaración de variables
Dim Turismos%, Todoterrenos As Integer
Dim Capturismos!, Captodot As Single
Dim Necesidadescom As Single

Rem Contenido del formulario
Private Sub Form_Load()
Form1.Caption = "Cálculo de necesidades combustible"
Label1(0) = "Por favor introduzca estos datos"
Label1(1) = "Número de turismos"
Label1(2) = "Número de todoterrenos"
Label1(3) = "Capacidad de turismos (litros)"
Label1(4) = "Capacidad de todoterrenos (litros)"
Command1.Caption = "Aceptar"
End Sub

Rem Cálculo y muestra resultados
Private Sub Command1_Click()
Label2.ForeColor = vbBlack
Label2.FontBold = True
Turismos = Val(Text1(0))
Todoterrenos = Val(Text1(1))
Capturismos = Val(Text1(2))
Captodot = Val(Text1(3))
Necesidadescom = Turismos * Capturismos + Todoterrenos * Captodot
Label2 = "Las necesidades totales de combustible son de " & Necesidadescom & " litros"
End Sub
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On
Public Class Form1
    REM Declaración de variables
    Dim Turismos, Todoterrenos As Integer
    Dim Capturismos, Captodot As Single
    Dim Necesidadescom As Single

    REM Contenido del formulario
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   Me.Text = "Cálculo de necesidades combustible"
   Label1.Text = "Por favor introduzca estos datos"
   Label2.Text = "Número de turismos"
   Label3.Text = "Número de todoterrenos"
   Label4.Text = "Capacidad de turismos (litros)"
   Label5.Text = "Capacidad de todoterrenos (litros)"
   Button1.Text = "Aceptar"
    End Sub

    REM Cálculo y muestra resultados
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label6.ForeColor = Color.Black
        Label6.Font = New Font("Arial", 10, FontStyle.Bold)
        Turismos = Val(TextBox1.Text)
        Todoterrenos = Val(TextBox2.Text)
        Capturismos = Val(TextBox3.Text)
        Captodot = Val(TextBox4.Text)
        Necesidadescom = Turismos * Capturismos + Todoterrenos * Captodot
        Label6.Text = "Las necesidades totales de combustible son de " & Necesidadescom & " litros"
    End Sub
End Class


Téngase en cuenta que se han declarado como código diversas órdenes que podrían haberse introducido desde el diseño de objetos previo. Ten en cuenta también que todos los objetos que invocamos en el código los hemos creado previamente sobre el formulario (menú Ver – Objeto); los nombres de los objetos los pone Visual Basic (como en este ejemplo) al crearlos, o los establecemos en la ventana Propiedades nosotros mismos si deseamos cambiarlos. Si tratas de invocar un objeto no definido o con un nombre equivocado te saldrá un mensaje de error.
En un pequeño programa como este en el que tenemos varios labels, podemos optar tanto por usar arrays de controles (en este caso los controles tendrán nombres como Label1(0), Label1(1), Label1(2), etc.) o simplemente distintos controles (en este caso los nombres serán como Label1, Label2, Label3, etc.). Lo mismo podemos decir en relación a las cajas de texto (TextBox). Recordar que en las versiones menos recientes de Visual Basic es más sencillo crear arrays de controles que en las más recientes, ya que basta copiar y pegar un control y Visual Basic pregunta directamente si queremos crear el array.
El resultado gráfico después de introducir los datos y pulsar aceptar será algo así:
ejercicio resuelto visual basic


EJERCICIO EJEMPLO RESUELTO Nº2
Transformar en código el pseudocódigo que se muestra a continuación, relativo a proporcionar el volumen de un cilindro dados su altura y diámetro.
1.  Inicio
2.  Mostrar “Introduzca el diámetro, en metros” : Pedir D 
3.  Mostrar “Introduzca la altura, en metros” : Pedir H 
4.  R = D/2 : Pi = 3,141593
5.  V = Pi * (R ^ 2) * H
6.  Mostrar “El volumen del cilindro es de”, V, “metros cúbicos”
7.  Fin


SOLUCIÓN EJERCICIO EJEMPLO Nº2
Creamos un formulario donde insertamos dos Labels (podemos usar arrays de controles como Label1(0) yLabel1(1)) ó simplemente dos controles como Label1 y Label2, dos TextBox (podemos decir lo mismo que para los labels)y un Label para resultados al que vamos a ponerle nosotros el nombre y que llamaremos (LabelResultados), así como un botón al que llamaremos ButtonCalcular. El primer Label mostrará el mensaje de solicitud del diámetro y el segundo Label el correspondiente a la altura. A través de los TextBox el usuario introducirá los datos solicitados y a través del Label de resultados mostraremos los resultados. El código será algo así:

Código (versionesVB menos recientes)Código (versiones VB más recientes)
Rem Curso Visual Basic aprenderaprogramar.com
Option Explicit
Rem Declaración de variables
Const Pi As Single = 3.141592654
Dim R!, H!, V As Single

Rem Contenido del formulario
Private Sub Form_Load()
Form1.Caption = "Cálculo volumen cilindro"
ButtonCalcular.Caption = "Calcular Volumen"
Label1.Caption = "Introduzca aquí el diámetro, en metros"
Label2.Caption = "Introduzca aquí la altura, en metros"
End Sub

Rem Cálculo y muestra resultados
Private Sub ButtonCalcular_Click()
R = Val(Text1) / 2
H = Val(Text2)
V = Pi * (R ^ 2) * H
LabelResultados.FontSize = 10
LabelResultados.FontBold = True
LabelResultados.Alignment = 2
LabelResultados = "El volumen del cilindro es de " & V & " metros cúbicos"
End Sub
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On
Public Class Form1
    REM Declaración de variables
    Const Pi As Single = 3.141592654
    Dim R, H, V As Single

    REM Contenido del formulario
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Text = "Cálculo volumen cilindro"
ButtonCalcular.Text = "Calcular Volumen"
Label1.Text = "Introduzca aquí el diámetro, en metros"
Label2.Text = "Introduzca aquí la altura, en metros"
    End Sub

    REM Cálculo y muestra resultados
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCalcular.Click
        R = Val(TextBox1.Text) / 2
        H = Val(TextBox2.Text)
        V = Pi * (R ^ 2) * H
        LabelResultados.Font = New Font("Arial", 10, FontStyle.Bold)
        LabelResultados.TextAlign = ContentAlignment.MiddleCenter
        LabelResultados.Text = "El volumen del cilindro es de " & V & " metros cúbicos"
    End Sub
End Class


El resultado gráfico será similar a este:
visual basic formulario



EJERCICIO EJEMPLO RESUELTO Nº3
Transformar en código el pseudocódigo que se indica a continuación, relativo a proporcionar el precio medio de un producto, calculado a partir del precio del mismo en tres establecimientos distintos.
1.  Inicio
2.  Mostrar “Introduzca el precio del producto en el establecimiento número 1, en euros” : Pedir Precio1
3.  Mostrar “Introduzca el precio del producto en el establecimiento número 2, en euros” : Pedir Precio2
4.  Mostrar “Introduzca el precio del producto en el establecimiento número 3, en euros” : Pedir Precio3
    5.  Media = (Precio1 + Precio2 + Precio3) / 3
  6.  Mostrar “El precio medio del producto es”, Media, “Euros” 
7.  Fin


SOLUCIÓN EJERCICIO EJEMPLO Nº3
En el formulario insertamos tres Labels y tres TextBox para petición de datos, así como un botón y un Label para cálculo y muestra de resultados. El código será algo así:

Código (versionesVB menos recientes)Código (versiones VB más recientes)
Rem Curso Visual Basic aprenderaprogramar.com
Option Explicit
Rem Declaración de variables
Dim Precio1!, Precio2!, Precio3!, Media As Single

Rem Contenido del formulario
Private Sub Form_Load()
Form1.Caption = "Cálculo precio medio producto"
ButtonCalcular.Caption = "Calcular precio medio"
Label1.Caption = "Introduzca aquí el precio en establecimiento nº1, en euros"
Label2.Caption = "Introduzca aquí el precio en establecimiento nº2, en euros"
Label3.Caption = "Introduzca aquí el precio en establecimiento nº3, en euros"
End Sub

Rem Cálculo y muestra resultados
Private Sub ButtonCalcular_Click()
Precio1 = Val(Text1)
Precio2 = Val(Text2)
Precio3 = Val(Text3)
Media = (Precio1 + Precio2 + Precio3) / 3
LabelResultados.FontSize = 10
LabelResultados.FontBold = True
LabelResultados.Alignment = 2
LabelResultados = "El precio medio del producto es de " & Media & " euros"
End Sub
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On
Public Class Form1
    REM Declaración de variables
    Dim Precio1, Precio2, Precio3, Media As Single

    REM Contenido del formulario
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  Me.Text = "Cálculo precio medio producto"
  ButtonCalcular.Text = "Calcular precio medion"
  Label1.Text = "Introduzca aquí el precio en establecimiento nº1, en euros"
  Label2.Text = "Introduzca aquí el precio en establecimiento nº2, en euros"
  Label3.Text = "Introduzca aquí el precio en establecimiento nº3, en euros"
    End Sub

    REM Cálculo y muestra resultados
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCalcular.Click
        Precio1 = Val(TextBox1.Text)
        Precio2 = Val(TextBox2.Text)
        Precio3 = Val(TextBox3.Text)
        Media = (Precio1 + Precio2 + Precio3) / 3
        LabelResultados.Font = New Font("Arial", 10, FontStyle.Bold)
        LabelResultados.TextAlign = ContentAlignment.MiddleCenter
        LabelResultados.Text = "El precio medio del producto es de " & Media & " euros"
    End Sub
End Class


Para los controles podríamos haber usado arrays de controles si hubiéramos querido. Hemos usado controles independientes tipo Label1, Label2, Label3 y Text1, Text2 y Text3 en vez de arrays de controles. Si bien en líneas generales es ventajoso el uso de arrays cuando necesitamos automatizar procesos, para aplicaciones tan sencillas como ésta no tiene trascendencia hacerlo de una u otra manera.

El resultado gráfico será similar a este:
visual basic button