INFORMATICA
VISUAL BASIC 
Introducción:
 En este blog podrás encontrar información basica acerca de la programación ( escribir programas de computación con el fin de resolver determinado problema) en visual basic. Información que te ayudara a comprender más este programa, explicado de manera sencilla y concisa que te ayudara en la creación de tus proyectos. 

1. DATOS:

Los datos son todos aquellos objetos que la computadora puede procesar. Los tipos de datos mas usados para manipular valores numéricos, cadena de caracteres y valores lógicos son:

  1. De tipo entero: Estos no tienen ni fraccionarios, ni decimales. Y pueden ser tanto negativos como positivos.  (A continuación se mostrara un cuadro con los tipos de números enteros)
  2. De tipo real: Son números que tienen un numero decimal y pueden ser positivos o negativos. Ejemplo: 1.2, 789.1, -3.2, etc
  3. De tipo caracter: Puede ser cualquier carácter que se quiera escribir. También puede ser una cadena de caracteres. Ambos deben estar entre comillas (""). Ejemplo: "Muy bien".
  4. Constante: Es un valor fijo, no puede ser cambiado en el programa. 
  5. Variable: Esta puede variar dentro de la ejecución del programa. Tiendes atributos; un nombre que la identifica y el tipo de dato que describe su uso. 



2. HERRAMIENTAS PARA ENTRADA Y SALIDA DE UN ALGORITMO




3. CONTROLES DE SELECCIÓN Y VERIFICACIÓN

     -Check list: Su propiedad "checked" es la que cambia al seleccionar el control.
Checked = 1 ó "verdadero" en caso de que el control sea seleccionado, e = 0 ó "falso" en caso contrario.
Mediante el "If...Then" podemos tomar una decisión basada en el estado de cada Check Box.

     - Radio Button
Este control se utiliza para presentar al usuario un conjunto de opciones mutuamente excluyentes.
Si el usuario selecciona un componente del grupo, todos los demás se desmarcarán.
Cada una de las instrucciones "If...Then" que valida uno de los Radio Button y en función de su estado (concretamente en su propiedad "checked") modificará la propiedad del Label correspondiente.





      -Listbox
Añadir elementos en forma de lista y también seleccionar elementos de la misma para trabajar los datos.
Permite seleccionar 1 o varios elementos utilizando la propiedad "multiselect".
Para agregar elementos se debe seleccionar el control ListBox y, desde propiedades, ubicar la que se llama "list". Al desplegarla, se pueden agregar y remover elementos.


     -Combobox
Combina las características de un TextBox y un control ListBox, en los cuales se puede introducir información en la parte del cuadro de texto



4. SONIDOS Y VIDEOS A VISUAL BASIC
Mediante un control, podemos reproducir sonido y video. Para ello debemos incorporarlo al proyecto mediante el menú Agregar componente, bajo el nombre de Microsoft Multimedia Control 6.0. (mci32.ocx)
Ventana de componentes
vista de la ventana de componentes de visual basic para agfregar el control de multimedia

En el siguiente ejemplo se crea un simple reproductor de archivos Wav, pero antes se describen algunas propiedades y métodos mas importantes de este ocx.


1. REPRODUCCION DE SONIDOS 

El control de multimedia posee una botonera con los clásicos botones de reproducción (play, stop, pause, adelantar, etc..). como muestra la imagen:

Vista previa del control multimedia de visual basic

Si bien en este ejemplo se utilizará el control de multimedia , cabe aclarar que podemos ejecutar todas las funciones enteramente con código sin utilizar la interface del control, y crear nosotros una interface propia, ya que la que presenta el control no es muy estética que digamos. Esto se logra ocultando el control con la propiedad visible del mismo en False y creando nuestra interface y manipular el mismo mediante código.
Lo primero que se debe tener en cuenta para utilizar el control de multimedia es que antes de reproducir un archivo de sonido debemos indicarle al mismo que tipo de archivo se trata, utilizando para ello la propiedad DevaiceType.

2. Reproducción de videos.

Luego de definir el tipo de dispositivo a utilizar, debemos indicarle al control cual es el archivo que queremos abrir, indicando el path o ruta completa del mismo mediante la propiedad FileName. ejemplo: 

  1. Option Explicit  
  2.   
  3. Private Sub Form_Load()  
  4.       
  5.     With MMControl1  
  6.        .FileName = "c:\windows\archivo.wav"  
  7.        .Command = "open"  
  8.     End With  
  9.   
  10. End Sub  

Importante Definiendo el archivo de esta manera, no haremos que se comience la reproducción, solo lo estamos cargando en la memoria para poder utilizarlo. Primero indicamos la ruta del archivo y luego mediante una propiedad que veremos en detalle en las próximas líneas, llamada Command, le pasamos el valor "Open" para que abra el archivo indicado y lo cargue en la memoria.

3 - Propiedad DevaiceType

Esta propiedad que lleva un dato de tipo string, debemos indicarle los siguientes valores, dependiendo del archivo a reproducir:
  • WaveAudio : Para archivos con extención wav.
  • Sequencer: archivos midi
  • Cdaudio: archivos de musica de cd
  • Avivideo: archivos de video con extención avi

Para definir mediante código en tiempo de ejecución el dispositivo que se utilizará se haría de la siguiente forma:
Esto prepara al control de multimedia para reproducir un cd de música
  1. MMControl1.DeviceType = "cdaudio"  



4 - Cargar un archivo para reproducción


Luego de definir el tipo de dispositivo a utilizar, debemos indicarle al control cual es el archivo que queremos abrir, indicando el path o ruta completa del mismo mediante la propiedad FileName. ejemplo: 
  1. Option Explicit  
  2.   
  3. Private Sub Form_Load()  
  4.       
  5.     With MMControl1  
  6.        .FileName = "c:\windows\archivo.wav"  
  7.        .Command = "open"  
  8.     End With  
  9.   
  10. End Sub  


Importante Definiendo el archivo de esta manera, no haremos que se comience la reproducción, solo lo estamos cargando en la memoria para poder utilizarlo. Primero indicamos la ruta del archivo y luego mediante una propiedad que veremos en detalle en las próximas líneas, llamada Command, le pasamos el valor "Open" para que abra el archivo indicado y lo cargue en la memoria


5 - Comandos para manipular los archivos ( Propiedad command )


Command (comandos) es la propiedad encargada de reproducir un archivo, detenerlo, ponerlo en pausa, ejecutar la bandeja de cd etc... y esta propiedad admite los siguientes valores:
  • Open: Abre al archivo cargándolo en la memoria. Antes de este paso hay que indicar la ruta mediante la propiedad FileName.
  • Close: Cierra el archivo liberando la memoria y poder cargar uno nuevo, o simplemente cerrarlo
  • Play : Comienza la reproducción de un archivo.
  • Pause : Detiene el archivo que está en reproducción. Para reanudar la reproducción se debe ejecutar nuevamente este comando.
  • Prev : Salta a la anterior pista o se posiciona en el comienzo de un archivo.next: salta a la siguiente pista de un cd o se sitúa en el final de un archivo.
  • Seek: Se posiciona en una pista determinada o lugar especifico de un archivo.
  • Eject: Abre la bandeja de cd.

Por ejemplo para reproducir un archivo wav llamado start.wav que está ubicado en la carpeta windows\media se haría de la siguiente forma: 
  1. Option Explicit  
  2.   
  3. Private Sub Form_Load()  
  4.       
  5.     With MMControl1  
  6.         ' -- Indicar el archivo  
  7.         .FileName = "c:\windows\media\start.wav"  
  8.         ' -- Abrir  
  9.         .Command = "Open"  
  10.         ' -- Reproducir  
  11.         .Command = "Play"  
  12.     End With  
  13.   
  14. End Sub  


Importante: si deseamos utilizar otro archivo, debemos cerrar el que estaba previamente cargado, ya que de lo contrario cualquier otro programa, e incluso el nuestro, generará un error en el dispositivo que utiliza windows para reproducir sonido, teniendo en este caso que reiniciar la pc.
Ejemplo para cerrar el dispositivo abierto
'Cerramos el dispositivo abierto anteriormente
cmultimedia.Command = "close"

  1. With MMControl1  
  2.     ' -- Cerramos el dispositivo  
  3.     .Command = "close"  
  4. End With  

Nota: es recomendable, siempre colocar el comando close en la descarga del formulario, es decir en el evento Unload, para asegurarnos que se cierre el dispositivo MCI.


6 - Propiedad To, From y Length y position

Cuando ejecutamos el comando Play para reproducir un archivo, este lo hace desde la posición actual donde se encontraba el mismo. Por esta razón si ejecutamos Play ,y cuando termine el archivo volvemos a ejecutar Play nuevamente, este no se reproducirá ya que no hay mas archivo que reproducir por que este ha llegado al final
Para solucionar esto podemos utilizar las siguientes propiedades del control multimedia: ToFrom y Length
La propiedad From indica el comienzo del mismo o desde donde comenzar.La propiedad To hasta donde ejecutar, y la propiedad Length contiene un valor con la longitud del archivo. Sabiendo esto podemos utilizar la siguiente rutina:
  1. With MMControl1  
  2.       
  3.     ' -- Ejecutar desde el comienzo  
  4.     .From = 0  
  5.   
  6.     ' -- La propiedad length devuelve un número con la longitud  
  7.     ' -- total que utilizaremos para saber donde termina el archivo  
  8.     .To = cmultimedia.Length  
  9.     ' -- Ejecutar el comando Play para reproducir  
  10.     .Command = "play"  
  11. End With  


Nota .Otra propiedad interesante para conocer el número de posición que se encuentra actualmente el archivo es la propiedad Position
  1. MMControl1.Position  



7 - La propiedad Notify y Wait

La propiedad Notify admite y establece un valor boolean. cuando está en True le indicamos al control de multimedia que cuando se ejecute el próximo comando se dispare un evento llamado Done del control. Este evento se dispara solo para el próximo comando, es decir que si queremos ejecutarlo nuevamente deberemos especificarlo nuevamente mediante código
  1. MMControl1.Notify = True  


Esto es útil por ejemplo para ejecutar el comando Close cada vez que tenemos que cerrar un archivo para poder utilizar otro.
La propiedad Wait se utiliza para avisarle al control que espere o que haga algo para ejecutar el próximo comando. Generalmente solo se utiliza para cargar un archivo en memoria y luego proseguir con los demás comandos. Cuando está en True el control detendrá todos los comandos hasta que indiquemos lo contrario, en este caso mediante la propiedad False.


8 - Propiedad Mode

Esta propiedad nos devuelve información sobre el estado actual de la interface MCI . 
Los valores que admite esta propiedad son:
  • mciModeNotOpen: indica que el dispositivo no se encuentra abierto.
  • mciModeStop: el dispositivo se encuentra detenido.
  • mciModePlay: el dispositivo se encuentra actualmente en ejecución.
  • mciModeSeek: el dispositivo se está posicionando en un lugar, por ejemplo está buscando y posicionando en una pista de cd o parte de un archivo.
  • mciModePause: está en pausa
  • mciModeReady: el dispositivo está listo para el próximo comando.
Esta es útil para no ejecutar comandos innecesarios, por ejemplo podríamos hacer una comprobación mediante la constante mciModeNotOpen para saber si un archivo está abierto y de allí tomar una desición: 
Ejemplo:
  1. If MMControl1.Mode = MciModeNotOpen Then  
  2.     'No ejecutamos el comando Play  
  3. Else  
  4.     'Ejecutamos play  
  5. End If  




9 - Crear una barra de porcentaje que indique la posición actual de reproducción de un archivo o pista de cd


El control de multimedia posee un evento que actúa de forma similar a un temporizador, mediante el cual nos permite consultar determinados aspectos del dispositivo cada un cierto intervalo de tiempo. 
El tiempo de consulta lo podemos establecer mediante la propiedad updateInterval del control utilizando como medida de tiempo al milisegundo. 

Mediante este evento y algunas otras propiedades vistas anteriormente, en el siguiente ejemplo se crea una barra de porcentaje que indicará la posición de reproducción de un archivo.
La barra estará compuesta por 2 controles Shape. Uno indicará el porcentaje de reproducción (shapeporcent) utilizando la propiedad Width del mismo. El otro mostrará el fondo de la barra (shapefondo)
El código necesario para crear la barra de porcentaje:

  1. shapeporcent.width = cmultimedia.position * shapefondo.width / cmultimedia.length  




10 - Reproducción de video

Para reproducir un video utilizando el control de Multimedia, es similar a la reproducción de audio salvo por 2 aspectos principales: Ahora debemos cambiar el dispositivo a utilizar mediante la propiedad DeviceType y establecerla por ejemplo en AviVideo
El otro aspecto importante es ¿ donde vamos a mostrar el video cuando lo carguemos en memoria y lo ejecutemos mediante el comando "Play" ?. Para esto podemos utilizar una propiedad llamada HwndDysplay. Esta propiedad la debemos asociar a un control donde reproducir el video. Lo ideal es utilizar un control picturebox, un Frame o un formulario, por ejemplo con un picture sería asi:


  1. MMControl1.hWndDisplay = Picture1.hWnd  



11 - Archivo de la ayuda de visual basic

Este zip contiene el archivo .CHM que viene con la ayuda de vb para el control de multimedia
algunos de los temas que tiene son :
  • Descripción del Multimedia MCI (Control)
  • El Evento StatusUp
  • date, el evento ButtonClick, ButtonCompleted , ButtonGotFocus , ButtonLostFocus , el evento Done
  • La propiedad AutoEnable, Las propiedades CanEject , CanPlay , CanRecord , CanStep , Command , DeviceID y DeviceType , FileName , Frames , From , otros 
  • Listado de constantes de Mensajes de error
  • Ejemplos :
    1 - Como abrir un dispositivo MCI
    2 - Ejemplo para para cambiar la propiedad FileName de un control Multimedia MCI en tiempo de ejecución
    3 - otros

5.  PASOS PARA GENERAR UN PROYECTO

     1. En el menú Archivo, haga clic en Nuevo proyecto. Aparece el dialogo Nuevo proyecto.
       2. Seleccione Aplicación de Windows Forms y haga clic en aceptar.
Se muestra un nuevo formulario en el IDE y se agregan los archivos necesarios para el proyecto a la ventana Explorador de soluciones. Si es el primer proyecto de Aplicación de Windows Forms que crea, recibirá el nombre de "WindowsApplication1".

Acaba de crear un proyecto para el programa de exploración web. Un proyecto en Visual Basic es un lugar para almacenar partes del programa y mantenerlas organizadas.
Cuando crea un nuevo proyecto por primera vez, sólo existe en la memoria. Si cierra el entorno de desarrollo integrado (IDE) de Visual Basic, se le pide que guarde o descarte el proyecto. Cuando lo guarde, puede darle un nombre más significativo.
Al abrir el cuadro de diálogo Nuevo proyecto, había diversos tipos de proyectos entre los cuales elegir. El programa de exploración Web es una Aplicación para Windows normal; es decir, un programa que se puede ejecutar desde el menú Inicio.
Al crear el proyecto, aparecía un formulario (también conocido como diseñador de formularios) en el entorno de desarrollo integrado (IDE). Este formulario representa una ventana que se mostrará cuando se ejecuta el programa. Muchos programas muestran más de una ventana, por lo que un proyecto puede contener múltiples formularios.
  1. Haga clic en el panel Cuadro de herramientas.
    Se abrirá el Cuadro de herramientas.
  2. Haga clic en la ficha Todos los formularios Windows Forms del Cuadro de herramientas y, a continuación, arrastre un control Panel hasta la esquina superior izquierda del formulario.
  3. Desde la misma ficha, arrastre un control TextBox y colóquelo en la parte superior del control Panel.
  4. En la misma ficha, arrastre un control Button y colóquelo encima del Panel, a la derecha del control TextBox.
  5. Finalmente, en la ficha Todos los formularios Windows Forms, seleccione un control WebBrowser y colóquelo bajo el control Panel.

Para establecer las propiedades de los controles

    1. En el Diseñador de Windows Forms, seleccione el control Panel.
      La ventana Propiedades ubicada en la esquina inferior derecha del IDE muestra todas las propiedades para el control Panel denominado Panel1.
    2. En la ventana Propiedades, seleccione la propiedad Dock y, a continuación, haga clic en la flecha a la derecha. Se mostrará una ventana pequeña de selección de propiedades con varios cuadros. 
    3. Haga clic en el cuadro superior en la ventana de selección de propiedades para establecer la propiedad Dock en Top. El control Panel se expandirá para rellenar la parte superior del formulario.
    4. En la ventana Propiedades, haga clic en el signo más (+), situado junto a la propiedad Size, para expandirlo.
      Las propiedades Width y Height pasarán a estar visibles en la ventana Propiedades.
    5. En la ventana Propiedades, observe que la propiedad Height del control Panel está establecida en 100. Cambie el valor de esta propiedad a 50.
    6. En el Diseñador de Windows Forms, seleccione el control WebBrowser. En la ventana Propiedades, para establecer la propiedad Dock en Fill seleccione la propiedad Dock, haga clic en la flecha a la derecha y seleccione el cuadro del centro de la ventana de selección de propiedades.
    7. En el Diseñador de Windows Forms, seleccione el control Button.
    8. En la ventana Propiedades, seleccione la propiedad Text del control Button. En la columna de la derecha, elimine Button1 y reemplácelo por Go!.
    9. Cambie el tamaño o posición cualquiera de los controles y cambie nuevamente el tamaño del formulario según sus preferencias. Por ejemplo, es posible que desee aumentar la longitud del control TextBox para que sea lo bastante largo como para mostrar una dirección URL válida. En la ilustración siguiente, se muestra un ejemplo del aspecto que podría presentar una aplicación de explorador web.

Para agregar el código y la funcionalidad al programa

      1. En el Diseñador de Windows Forms, haga doble clic en el control Button.
        Se abre una nueva ventana denominada Editor de código. Aquí es donde se agrega todo el código para el programa.
      2. En el Editor de código, escriba lo siguiente.
        WebBrowser1.Navigate(Textbox1.Text)
        
        
        
        Este código se ejecutará cuando los usuarios hagan clic en el botón.

Para ejecutar el programa

  1. Conecte su equipo a Internet.
  2. En el menú Depurar del IDE de Visual Basic, haga clic en Iniciar depuración.
    Este comando ejecuta el programa.
  3. En el cuadro de texto, escriba http://www.microsoft.com y haga clic en el botón Ir.
    El control WebBrowser del programa va a la página principal de Microsoft. Desde allí, puede navegar por cualquier vínculo relacionado. Para visitar otra página web, escriba la dirección en el cuadro de texto y haga clic en el botón Ir .
  4. Para cerrar el programa, en el menú Depuración, haga clic en Detener depuración.


Hecho por: Natalia Juliana Garza Chaparro 
10-A







Comentarios