jueves, 26 de mayo de 2016

Análisis Critico de 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ón misma. Además de las esenciales, existe un gran número de bibliotecas del tipo DLL con variedad de funciones, tales como las que facilitan el acceso a la mayoría de las funciones del sistema operativo o las que proveen medios para la integración con otras aplicaciones.
Dentro del mismo Entorno de desarrollo integrado (IDE) de Visual Basic se puede ejecutar el programa que esté desarrollándose, es decir en modo intérprete (en realidad pseudo-compila el programa muy rápidamente y luego lo ejecuta, simulando la función de un intérprete puro). Desde ese entorno también se puede generar el archivo en código ejecutable (exe); ese programa así generado en disco puede luego ser ejecutado sin requerir del ambiente de programación (incluso en modo stand alone), aunque sí será necesario que las librerías DLL requeridas por la aplicación desarrollada se encuentren también instaladas en el sistema para posibilitar su ejecución.
El propio Visual Basic provee soporte para empaquetado y distribución; es decir, permite generar un módulo instalador que contiene al programa ejecutable y las bibliotecas DLL necesarias para su ejecución. Con ese módulo la aplicación desarrollada se distribuye y puede ser instalada en cualquier equipo (que tenga un sistema operativo compatible).
Así como bibliotecas DLL, hay numerosas aplicaciones desarrolladas por terceros que permiten disponer de variadas y múltiples funciones, incluso mejoras para el propio Visual Basic; las hay también para el empaquetado y distribución, y hasta para otorgar mayor funcionalidad al entorno de programación (IDE).

Ventana de Propiedades de Visual Basic


La ventana Propiedades contiene la lista de propiedades, eventos y métodos del formulario, entorno de datos, cursor, relación o control seleccionados. Estas propiedades se establecen o se modifican en tiempo de diseño o por medio de programación.
También puede seleccionar varios objetos y mostrar después la ventana Propiedades. En este caso, la ventana Propiedades muestra las propiedades que tengan en común los objetos seleccionados.
Puede abrir la ventana Propiedades desde el menú Ver. O bien, haga clic con el botón secundario del mouse en el Diseñador de formularios o en elDiseñador de entornos de datos, y elija Propiedades en el menú contextual del Diseñador de formularios.
Tenga en cuenta que algunas propiedades se evalúan en tiempo de diseño; por tanto, las variables de memoria o las matrices utilizadas en expresiones para estas propiedades deben estar en alcance en tiempo de diseño.

Objeto

Identifica al objeto seleccionado actualmente. Haga clic en la flecha abajo de la lista desplegable de la derecha para ver una lista que incluye: el formulario actual, el conjunto de formularios y todos los controles que contiene el formulario. Si está abierto el Diseñador del entorno de datos, la lista de Objetos incluye también: el entorno de datos, y todos los cursores y relaciones definidos en el entorno. En esta lista, puede seleccionar el formulario o el control cuyas propiedades desea cambiar.

Fichas

Muestran las propiedades, eventos y métodos agrupados por categoría.
  • Todos   Muestra todas las propiedades, eventos y métodos.
  • Datos   Muestra las propiedades asociadas con la forma en que el objeto presenta o manipula los datos.
  • Métodos   Muestra los métodos y eventos.
  • Diseño   Muestra todas las propiedades de diseño.
  • Otros   Muestra otras propiedades y las propiedades definidas por el usuario.

Cuadro Configuración de propiedades

Le permite cambiar el valor de la propiedad seleccionada en la lista de propiedades. Si la propiedad seleccionada requiere un valor predefinido, aparece una flecha de lista desplegable a la derecha del cuadro. Se presenta un botón en la parte derecha si el valor requiere un nombre de archivo o un color. Para obtener información acerca de cómo establecer el valor de una propiedad, vea Establecer propiedades en tiempo de diseño.
Haga clic en el botón Aceptar (una marca de verificación) para confirmar los cambios realizados en una propiedad. Haga clic en el botón Cancelar(una marca en forma de X) para cancelar los cambios realizados y restablecer el valor anterior.
Algunas propiedades (por ejemplo, BackColor) muestran un botón que le permite establecer propiedades desde un cuadro de diálogo.
Haga clic en el botón Función (la marca Fx) para abrir el cuadro de diálogo Generador de expresiones. Puede establecer las propiedades con valores literales o con valores devueltos por funciones o expresiones.

Lista de propiedades

AlanCooper.jpg


Esta lista de dos columnas muestra todas las propiedades que pueden modificarse en tiempo de diseño y sus valores actuales. En las propiedades que tienen valores predefinidos, haga doble clic en el nombre de la propiedad en la lista Propiedades para recorrer las opciones disponibles. En las propiedades predefinidas que tienen sólo dos opciones, haga doble clic para alternar entre ambas. Para obtener Ayuda acerca de una propiedad determinada, selecciónela y presione F1.
Nota   Las propiedades pueden modificarse en tiempo de diseño, por ejemplo ArrayProps no se muestra como propiedad no predeterminada cuando elige la opción Sólo propiedades no predeterminadas del menú contextual de la ventana Propiedades.



AlanCooper.jpg
Las propiedades de métodos muestran información de herencia en el formato siguiente:
Default
-O bien-
Inherited cClassname ClassLibrary
Los valores de propiedades que corresponden a expresiones están precedidos por un signo igual (=). Las propiedades, eventos y métodos de sólo lectura aparecen en cursiva.

Biografía de Alan Cooper

AlanCooper.jpg


Alan Cooper creció en el condado de Marin, donde asistió al Colegio de Marin, el estudio de arquitectura. El aprendió programación y asumió los trabajos de programación contrato para pagar la universidad. Después de dejar la universidad, fundó una de las primeras compañías de software del microordenador.
En 1975, como se dispusiera de los primeros microordenadores, Alan Cooper fundó su primera empresa, sistemas estructurados Group (SSG), en Oakland, California. producto de contabilidad software de SSG, Contabilidad General, se vendió a través de anuncios en revistas populares como Byte y la interfaz de edad. Este software fue, según el relato histórico en el fuego en el valle (por Paul Freiberger y Michael Swaine), "probablemente el primer software de negocios serio para microordenadores. " Fue tanto el inicio de la carrera de Cooper como un autor de software y el comienzo de la empresa software microordenador. En última instancia, Cooper desarrolló una docena de productos originales en Structured Systems Group antes de que él vendió sus acciones de la empresa en 1980.
Desde el principio, Cooper trabajó con Gordon Eubanks para desarrollar, depurar, documentar y publicar su lenguaje de programación de negocios, CBASIC, un competidor temprano para Bill Gates y Paul Allen Microsoft BASIC. Eubanks escribió precursor de CBASIC, BASIC-E como proyecto de los estudiantes, mientras que en la Escuela Naval de Postgrado en Monterey, California con el profesor Gary Kildall.  Cuando Eubanks salió de la marina de guerra, se unió a la compañía exitosa el sistema operativo de Kildall, digital Research, Inc., en Monterey. Poco después, Eubanks y Kildall invitados Cooper a unirse a ellos en Digital Research como uno de los cuatro fundadores de su departamento de investigación y desarrollo. Después de dos años, con el DRI, Cooper partieron para desarrollar software de aplicación de escritorio por sí mismo.
Durante la década de 1980, Alan Cooper fue autor de varias aplicaciones de negocios que incluyen micrófono II para Windows y un programa de gestión de proyectos temprana, crítico de la ruta llamada SuperProject. Cooper vendió SuperProject de Computer Associates en 1984, donde logró el éxito en el mercado de negocio a negocio.



AlanCooper.jpgEn 1988, Alan Cooper creó un lenguaje de programación visual (el nombre clave de "Ruby") que permitía a los usuarios de Windows para construir "Buscador" -como conchas. Lo llamó "un conjunto construcción de cubierta."  Después de que él demostró Ruby a Bill Gates, Microsoft compró. En ese momento, Gates, comentó que la innovación tendría un "efecto profundo"  en toda su línea de productos. Microsoft decidió no liberar el producto como una concha para los usuarios, sino para transformarlo en una herramienta de desarrollo profesional de su lenguaje de programación Visual Basic llamado QuickBASIC, que fue ampliamente utilizado para el desarrollo de aplicaciones de negocio para ordenadores Windows.

instalación de control de forma dinámica instalable de Cooper, que se hizo famoso como la interfaz "VBX", era un componente bien conocido de "Ruby". Esta innovación permite a cualquier desarrollador de 3 ª parte para escribir un widget (control) como un archivo DLL, lo puso en el directorio de Visual Basic y Visual Basic lo encontraría, comunicarse con él, y presentarla al usuario como una parte continua del programa . El widget aparecería en la paleta de herramientas y menús adecuados, y los usuarios podrían incorporar en sus aplicaciones de Visual Basic. La invención de la interfaz "VBX" creó todo un nuevo mercado para los vendedores de estos "controles dinámicamente instalables." Como resultado del trabajo de Cooper, muchas nuevas empresas de software fueron capaces de ofrecer software de Windows en el mercado en la década de 1990.
El primer libro escrito acerca de Visual Basic, Visual Basic How-To del Grupo Waite por Mitchell Waite, está dedicado a Alan Cooper. En su dedicación, el autor llama Cooper el "Padre de Visual Basic." Este apodo ha servido a menudo como resumen de una línea de Cooper.

En 1994, Bill Gates presentó Cooper con el primer premio de Windows Pioneer por sus contribuciones a la industria del software. Durante la presentación, Gates, tomó nota en particular de la labor innovadora de Cooper creación de la interfaz VBX. 

La interfaz de Visual Basic

Las interfaces definen las propiedades, los métodos y los eventos que pueden implementar las clases.  Las interfaces permiten definir características como grupos pequeños de propiedades, métodos y eventos estrechamente relacionados; esto reduce los problemas de compatibilidad porque se pueden desarrollar implementaciones mejoradas para las interfaces sin comprometer el código existente.  En cualquier momento se pueden agregar nuevas características mediante el desarrollo de implementaciones e interfaces adicionales.  

Hay otras razones por las que se podrían usar las interfaces en vez de la herencia de clases:
  • Las interfaces se adaptan mejor a situaciones en las que las aplicaciones necesitan que muchos tipos de objetos posiblemente no relacionados proporcionen una funcionalidad determinada.
  • Las interfaces son más flexibles que las clases base porque puede definir una única implementación que puede implementar interfaces múltiples.
  • Las interfaces son mejores en situaciones en las que no es necesario heredar una implementación de una clase base.
  • Las interfaces son útiles cuando no se puede usar la herencia de clases.  Por ejemplo, las estructuras no pueden heredar de clases, pero pueden implementar interfaces.  

Declarar interfaces

Las definiciones de interfaz se encuentran dentro de las instrucciones Interface y End Interface.  Después de la instrucción Interface, puede agregar una instrucción Inherits opcional que muestra una o varias interfaces heredadas.  Las instrucciones Inherits deben preceder a todas las demás instrucciones de la declaración a excepción de los comentarios.  El resto de instrucciones de la definición de interfaz deben ser instruccionesEventSubFunctionPropertyInterfaceClassStructure y Enum.  Las interfaces no pueden contener código de implementación ni instrucciones asociadas al código de implementación, como End Sub o End Property.  
En un espacio de nombres, las instrucciones de interfaz son Friend de forma predeterminada, pero también se pueden declarar explícitamente como Public o Friend.  Las interfaces definidas dentro de clases, módulos, interfaces y estructuras son Public de forma predeterminada, pero también se pueden declarar explícitamente como PublicFriendProtected o Private.  
System_CAPS_noteNota
La palabra clave Shadows puede aplicarse a todos los miembros de interfaz.  La palabra clave Overloads puede aplicarse a las instruccionesSubFunction y Property que se declaran en una definición de interfaz.  Además, las instrucciones Property pueden tener los modificadoresDefaultReadOnly o WriteOnly.  No se permite ningún otro modificador (PublicPrivateFriendProtectedSharedOverrides,MustOverride o Overridable).  Para obtener más información, vea Contextos de declaración y niveles de acceso predeterminados (Visual Basic).  
Por ejemplo, el código siguiente define una interfaz con una función, una propiedad y un evento.
Interface IAsset
    Event ComittedChange(ByVal Success As Boolean)
    Property Division() As String
    Function GetID() As Integer
End Interface

Implementar interfaces

La palabra reservada de Visual Basic Implements se usa de dos maneras.  La instrucción Implements significa que una clase o estructura implementa una interfaz.  La palabra clave Implements significa que un miembro de clase o de estructura implementa un miembro de interfaz específico.  

Implements (Instrucción)

Si una clase o estructura implementa una o más interfaces, debe incluir la instrucción Implements inmediatamente después de la instrucciónClass o Structure.  La instrucción Implements requiere una lista separada por comas de las interfaces que implementará una clase.  La clase o estructura debe implementar todos los miembros de interfaz mediante la palabra clave Implements.  

Implements (palabra clave)

La palabra clave Implements requiere una lista separada por comas de los miembros de interfaz que se implementarán.  Por lo general solo se especifica un miembro de interfaz, pero pueden especificarse varios.  La especificación de un miembro de interfaz consta del nombre de la interfaz —que debe especificarse en una instrucción implements dentro de la clase—, un punto y el nombre de la función miembro, propiedad o evento que se va a implementar.  El nombre de un miembro que implementa un miembro de interfaz puede usar cualquier identificador permitido y no se limita a la convención InterfaceName_MethodName que se usaba en versiones anteriores de Visual Basic.  
Por ejemplo, el código siguiente muestra cómo declarar una subrutina denominada Sub1 que implementa un método de una interfaz:
Class Class1
    Implements interfaceclass.interface2

    Sub Sub1(ByVal i As Integer) Implements interfaceclass.interface2.Sub1
    End Sub
End Class
Los tipos de parámetro y los tipos devueltos del miembro implementador deben coincidir con la declaración de miembro o de propiedad de interfaz de la interfaz.  La manera más habitual de implementar un elemento de una interfaz es mediante un miembro que tenga el mismo nombre que la interfaz, tal como se muestra en el ejemplo anterior.  
Para declarar la implementación de un método de interfaz, puede usar cualquier atributo permitido en las declaraciones de método de instancia, incluidos OverloadsOverridesOverridablePublicPrivateProtectedFriendProtected FriendMustOverrideDefault y Static.  El atributo Shared no está permitido, ya que define una clase en lugar de un método de instancia.  
Con Implements también se puede escribir un único método que implemente varios métodos definidos en una interfaz, como en el ejemplo siguiente:
Class Class2
    Implements I1, I2

    Protected Sub M1() Implements I1.M1, I1.M2, I2.M3, I2.M4
    End Sub
End Class
Se puede usar un miembro privado para implementar un miembro de interfaz.  Cuando un miembro privado implementa un miembro de una interfaz, ese miembro pasa a estar disponible por medio de la interfaz incluso si no está disponible directamente en las variables de objeto de la clase.  

Ejemplos de implementación de interfaces

Las clases que implementan una interfaz deben implementar todas sus propiedades, métodos y eventos.
En el ejemplo siguiente se definen dos interfaces.  La segunda interfaz, Interface2, hereda Interface1 y define un método y una propiedad adicionales.  
Interface Interface1
    Sub sub1(ByVal i As Integer)
End Interface

' Demonstrates interface inheritance.
Interface Interface2
    Inherits Interface1
    Sub M1(ByVal y As Integer)
    ReadOnly Property Num() As Integer
End Interface
En el ejemplo siguiente se implementa Interface1, la interfaz definida en el ejemplo anterior:
Public Class ImplementationClass1
    Implements Interface1
    Sub Sub1(ByVal i As Integer) Implements Interface1.sub1
        ' Insert code here to implement this method.
    End Sub
End Class
En el ejemplo final se implementa Interface2, incluido un método heredado de Interface1:
Public Class ImplementationClass2
    Implements Interface2
    Dim INum As Integer = 0
    Sub sub1(ByVal i As Integer) Implements Interface2.sub1
        ' Insert code here that implements this method.
    End Sub
    Sub M1(ByVal x As Integer) Implements Interface2.M1
        ' Insert code here to implement this method.
    End Sub

    ReadOnly Property Num() As Integer Implements Interface2.Num
        Get
            Num = INum
        End Get
    End Property
End Class
Puede implementar una propiedad de solo lectura con una propiedad de lectura y escritura (es decir, no tiene que declararla de solo lectura en la clase implementadora).  Al implementar una interfaz, se implementarán al menos los miembros que declara la interfaz, pero se puede ofrecer más funcionalidad como, por ejemplo, permitir que se pueda escribir en la propiedad.  

Ejemplos de programas codificados en Visual Basic

Calculadora
Crear un formulario nuevo con los siguientes objetos (por defecto, al crear un nuevo proyecto, ya viene el Form1):



Conversor de unidades de temperatura
Antes de nada, como no todo el mundo sabe la unidad de temperatura del SI (Sistema internacional) que muchos creen que es el ºC, voy a explicar un poco:
La temperatura mínima en ºC, son -273ºC lo que equivale en K a 0 (En K no hay temperatura negativa).




Navegador de Internet
Sirve para navegar en internet.






Multiprograma
Se hacen de formulario tantos como opciones tenga el programa más 1, por ejemplo, si tiene 5 opciones, 6 formularios.
En el formulario principal, botones como programas y en cada uno de los otros, un programa diferente. El botón abrirá el otro formulario.











Progressbar Ejemplo by Full-Counters 
Esto es un Componente que Sirve para simular que cargue un proceso