domingo, 1 de octubre de 2017

¿QUE ES VISUAL BASIC?



Visual Basic 6.0 es uno de los lenguajes de programación que más entusiasmo despiertan entre los programadores de PCs, tanto expertos como novatos. En el caso de los programadores expertos por la facilidad con la que desarrollan aplicaciones complejas en poquísimo tiempo (comparado con lo que cuesta programar en Visual C++, por ejemplo). En el caso de los programadores novatos por el hecho de ver de lo que son capaces a los pocos minutos de empezar su aprendizaje. El precio que hay que pagar por utilizar Visual Basic 6.0 es una menor velocidad o eficiencia en las aplicaciones.

Visual Basic 6.0 es un lenguaje de programación visual, también llamado lenguaje de 4ª generación. Esto quiere decir que un gran número de tareas se realizan sin escribir código, simplemente con operaciones gráficas realizadas con el ratón sobre la pantalla.

Visual Basic 6.0 es también un programa basado en objetos, aunque no orientado a objetos como C++ o Java. La diferencia está en que Visual Basic 6.0 utiliza objetos con propiedades y métodos, pero carece de los mecanismos de herencia y polimorfismo propios de los verdaderos lenguajes orientados a objetos como Java y C++.

En este primer capítulo se presentarán las características generales de Visual Basic 6.0, junto con algunos ejemplos sencillos que den idea de la potencia del lenguaje y del modo en que se utiliza.
Objetos y Propiedades
Los formularios y los distintos tipos de controles son entidades genéricas de las que puede haber varios ejemplares concretos en cada programa. En programación orientada a objetos (más bien basada en objetos, habría que decir) se llama clase a estas entidades genéricas, mientras que se llama objeto a cada ejemplar de una clase determinada. Por ejemplo, en un programa puede habervarios botones, cada uno de los cuales es un objeto del tipo de control command button, que sería la clase.

TEXTBOX:


Text: texto que aparecerá en el control.

Name: nombre del control.

Multiline: nos permite introducir varias lineas de texto.

Alignment: Alineación que tendrá el texto dentro del control que puede ser izquierdo, derecho, centrado.

Visible: si esta propiedad esta en falso la caja de texto no sera visible cuando este en ejecución el programa. si está en verdadero si se podrá ver.

Maxlength: numero máximo de caracteres que tendrá el control.

Looked: Con esta propiedad podemos bloquear el control para que el usuario no pueda escribir ni modificar.

Backolor: Color que tendrá el fondo de la caja de texto.

Forecolor: Es el color de la letra que tendrá el control.

Font: tipo y tamaño que contendrá el control.

Height,Left,Top,Width : Se refieren al tamaño del Espacio reservado para las Text Box.


lABEL:


Caption: texto que contendrá el control.

BorderStyle: borde al rededor del texto.

BackStyle: borde transparente o no transparente.

Backcolor: Para cambiar color del fondo.

Visible : Si está en True el control está visible si está en False está oculto.

Name: es el nombre del control y sirve para hacer referencia al mismo en el código, como todos los controles.

Enabled: Si está en True (Verdadero) el control está activado y se puede utilizar normalmente, si se encuentra en False, el control está desactivado.

FontName: El nombre de la fuente que utilizará el texto del control. Podemos elegir las que tengamos instaladas en el sistema.

Forecolor: indica el color del Texto.

Height y Width: Ancho y alto del Label.

ToolTipText: muestra el mensaje de descripción cuando pasamos el mouse por encima del control.


COMMANDBUTTON:

Caption: texto para el usuario.
Enable: Inhavilita o habilita el control con el fin de que ese disponible para el usuario.

Style: cuando esta en 1 habilita al backcolor y cuando esta en 0 lo deshabilita.


PICTURE E PICTURE:

Name: Especifíca el nombre del control para poder referenciarlo e identificarlo.
Appearance: Esta propiedad determina si el Image posee o no efecto 3d con respecto a su apariencia. Los valores son: 1 - 3D y 0 - None. Para que esta propiedad se pueda utilizar, la propiedad BorderStyle debe estar con el valor 1.

BorderStyle: Determina si el control Image posee o no un borde. Al igual que el anterior tiene dos posibles valores, 0 sin borde o 1 con borde.

Picture: Esta es la propiedad principal del control, que también es la propiedad por defecto o default. Picture es la que establece la imagen o gráfico que mostrará el control.

Stretch: Esta es una de las propiedades mas importantes. Si está en True la imagen se ajustará al tamaño que posea el control Image, si está en False el control Image es el que se adaptará al tamaño y dimensiones de la imagen.

Las demás propiedades son las clásicas y comunes para la mayoría de los controles, como la propiedad Index, Visible, Enabled, ToolTipText, Width, Height, etc...

FRAME:


Name : Este es el nombre como se le reconocera al objeto durante el programa, se acostumbra escribir frm antes del nombre para saber que es un Frame (Ej: frmFondo)..

Caption : Este es el mensaje que se quiere que aparesca en el Frame.

Height,Left,Top,Width : Se refieren al tamaño del Espacio reservado para los Frames.

Font : Permite escoger el tipo de letra, tamaño y estilo de la letras a usar.
BorderStyle: si esta en 0 no dibuja el recuadro.

CHECKBOX Y OPTIONBUTTON :

Name : Este es el nombre como se le reconocera al objeto durante el programa, se acostumbra escribir chk o rdb antes del nombre para saber que es un check box o radio Button (Ej: chkop1 o rdbop1).

Enable : Este parametro permite que el Boton este habilitado o deshabilitado.

Value : Indica si esta precionado o no el boton.

Height,Left,Top,Width : Se refieren al tamaño del Espacio reservado para los Check box y los option Button.

Caption : Este es el mensaje que se quiere que aparesca a la par del radio Button o del Check Box.

LITSBOX:

Name : Este es el nombre como se le reconocera al objeto durante el programa, se acostumbra escribir lst antes del nombre para saber que es un List Box (Ej: lstLista).

List : Aqui podemos ingresar los elementos nuevos al List Box.

Font : Permite escoger el tipo de letra, tamaño y estilo de la letras a usar.

sorted: si el valor es verdadero la lista aparecera en orden alfabetico.

Height,Left,Top,Width : Se refieren al tamaño del Espacio reservado para los List Box.


SCROLL BAR:

Name : Este es el nombre como se le reconocera al objeto durante el programa, se acostumbra escribir scb antes del nombre para saber que es un Scroll Bar (Ej: scbFila).

Max : Este indica el valor maximo que puede alcanzar el Scroll al moverse.

Min : Es el valor minim con el cual empieza la barra de Scroll.

Height,Left,Top,Width : Se refieren al tamaño del Espacio reservado para los Scroll Bar.


SHAPE:

Shape: esta propiedad es la forma que tomara nuestro control.
Bordercolor: color del borde.
Borderstyle: estilo del borde.
Border whidth: ancho del borde.
Fillcolor: este es el fondo, esta funciona si filestyle en opaco.


Características

Visual Basic 6.0 soporta la abstracción, la encapsulación, el poliformismo y la reutilización del código.

            Los objetos de Visual Basic están encapsulados; es decir, contienen su propio código y sus propios datos.

            Los objetos de Visual Basic tienen propiedades, métodos y eventos. Las propiedades son los datos que describen un objeto. Los eventos son hechos que pueden ocurrir sobre un objeto (un clic sobre un botón es un evento que produce un mensaje). Un método agrupa el código que se ejecuta en respuesta a un evento.

            Al conjunto de propiedades y métodos se le llama interfaz. Además de su interfaz predeterminada, los objetos pueden implementar interfaces adicionales para proporcionar poliformismo. El poliformismo le permite manipular muchos tipos diferentes de objetos sin preocuparse de su tipo.

            Las interfaces múltiples son una característica del modelo de objetos componente (COM) y permiten que los programas evolucionen con el tiempo, agregando nueva funcionalidad sin afectar al código existente.

            La reutilización del código es la capacidad de trasladar características de un objeto a otro, lo que se logra con alguna forma de herencia. Existen principalmente dos formas de reutilización del código: binario y fuente. La reutilización del código: binario y fuente. La reutilización de código fuente se consigue mediante la creación y uso de un objeto, mientras que la reutilización de código fuente se consigue por herencia, lo que no se permite en Visual Basic. En una jerarquía de clases, la herencia muestra cómo los objetos que se derivan de otros objetos más simples heredan su comportamiento. Por el contrario, los modelos de objetos son jerarquías que describen la contención. Es decir, muestran cómo objetos complejos como una hoja de cálculo, contienen colecciones de otros objetos, como botones o imágenes. Un control activo normalmente opera como un componente software reutilizable, que se incorpora en una aplicación como Microsoft Excel, en una página Web, o en cualquier otra aplicación Visual Basic o visual C++.
 

Objetos de bases de datos


Constructores

Nombre
Descripción
ADODC()
Inicializa una nueva instancia de la clase ADODC.



 
Propiedades


Nombre

Descripción



AccessibilityObject

Obtiene AccessibleObject asignado al control.(Heredado de Control).



AccessibleDefaultActionDescription

Obtiene o establece la descripción de la acción predeterminada del control que usan las aplicaciones cliente de accesibilidad.(Heredado de Control).



AccessibleDescription

Obtiene o establece la descripción del control que las aplicaciones cliente de accesibilidad utilizan.(Heredado de Control).



AccessibleName

Obtiene o establece el nombre del control que las aplicaciones cliente de accesibilidad utilizan.(Heredado de Control).



AccessibleRole

Obtiene o establece el rol accesible del control. (Heredado de Control).



ActiveControl

Obtiene o establece el control activo en el control contenedor.(Heredado de ContainerControl).



AllowDrop

Obtiene o establece un valor que indica si el control puede aceptar los datos que el usuario arrastra al mismo.(Heredado de Control).



Anchor

Obtiene o establece los bordes del contenedor al que está enlazado un control y determina cómo se cambia el tamaño de un control con su elemento primario.(Heredado de Control).



AutoScaleDimensions

Obtiene o establece las dimensiones a las que se diseñó el control.(Heredado de ContainerControl).



AutoScaleFactor

Obtiene el factor de escala entre las dimensiones de escala automática actuales y en tiempo de diseño.(Heredado de ContainerControl).



AutoScaleMode

Obtiene o establece el modo de escala automática del control.(Heredado de ContainerControl).



AutoScroll

Obtiene o establece un valor que indica si el contenedor permitirá que el usuario se desplace a los controles situados fuera de los límites visibles.(Heredado de ScrollableControl).



AutoScrollMargin

Obtiene o establece el tamaño del margen de desplazamiento automático.(Heredado de ScrollableControl).



AutoScrollMinSize

Obtiene o establece el tamaño mínimo del desplazamiento automático.(Heredado de ScrollableControl).



AutoScrollOffset

Obtiene o establece a dónde se desplaza este control en ScrollControlIntoView.(Heredado de Control).



AutoScrollPosition

Obtiene o establece la ubicación de la posición de desplazamiento automático.(Heredado de ScrollableControl).



AutoSize

Esta propiedad no es relevante para esta clase.(Heredado de UserControl).



AutoSizeMode

Obtiene o establece cómo el control cambiará su tamaño.(Heredado de UserControl).



AutoValidate

Obtiene o establece cómo realiza el control la validación cuando el usuario cambia el foco a otro control.(Heredado de UserControl).



BackColor

Obtiene o establece el color de fondo de ADODC.(Invalida Control.BackColor).



BackgroundImage

Obtiene o establece la imagen de fondo que se muestra en el control.(Heredado de Control).



BackgroundImageLayout

Obtiene o establece el diseño de imagen de fondo como se define en la enumeración ImageLayout.(Heredado de Control).



BindingContext

Obtiene o establece la plantilla BindingContext para el control.(Heredado de ContainerControl).




Obtiene un valor que indica si la posición de la fila actual está delante de la primera fila de un objeto Recordset.




Obtiene o establece un valor que indica la acción que el control ADODC lleva a cabo cuando la propiedad BOFes true.




Obtiene o establece el estilo de borde del control de usuario.(Heredado de UserControl).




Obtiene la distancia, en píxeles, que existe entre el borde inferior del control y el borde superior del área cliente de su contenedor.(Heredado de Control).




Obtiene o establece el tamaño y la ubicación del control incluyendo sus elementos no cliente, en píxeles, con respecto al control primario.(Heredado de Control).




Obtiene o establece el número de registros que se almacenan en la memoria caché local para el objeto Recordset actual.

 

 
 




 
Ventajas

-Es un lenguaje RAD.
-Posee una curva de aprendizaje muy rápida.
-Integra el diseño e implementación de formularios de Windows.
-Permite usar con suma facilidad la plataforma de los sistemas Windows.
-El código en Visual Basic es fácilmente migrable a otros lenguajes.
-Acostumbra a los desarrolladores a programar con eficiencia.

Desventajas

-Sin soporte de Microsoft desde el 4 de Abril de 2008 (Pero el  MSDN es muy completo).
-No es multiplataforma (Sin embargo se pueden usar emuladores e interpretes para correrlos en otras plataformas).
-Por defecto permite la programación sin declaración de variables. (que puede ser sencillamente corregida escribiendo la frase Option Explicit en el encabezado de cada formulario, en cuyo caso -será menester declarar todas las variables a utilizar, lo que a la postre genera código más puro).
-No permite programación a bajo nivel ni incrustrar secciones de código en ASM
-Sólo permite el uso de funciones de librerías dinámicas (DLL) stdcall.
-Algunas funciones están indocumentadas (Sin embargo esto ocurre en muchos lenguajes).
-Es un lenguaje basado en objetos y no orientado a objetos.
-No maneja muy bien los apuntadores de memoria.
-No soporta tratamiento de procesos como parte del lenguaje.
-No incluye operadores de desplazamiento de bits como parte del lenguaje.
-No permite el manejo de memoria dinámica, punteros, etc. como parte del lenguaje.
-No avisa de ciertos errores o advertencias (se puede configurar el compilador para generar ejecutables sin los controladores de desbordamiento de enteros o las comprobaciones de límites en matrices entre otros, dejando así más de la mano del programador la tarea de controlar dichos errores)
-No tiene instrucciones de preprocesamiento.
-El tratamiento de mensajes de Windows es básico e indirecto.
-La gran gama de controles incorporados son, sin embargo en algunos casos, muy generales, lo que lleva a tener que reprogramar nuevos controles para una necesidad concreta de la aplicación. -Esto cambia radicalmente en Visual Basic .NET donde es posible reprogramar y mejorar o reutilizar los controles existentes.
-Los controles personalizados no mejoran la potencia de la API de Windows, y en determinados casos acudir a ésta será el único modo de conseguir el control personalizado deseado.

2 comentarios: