sábado, 23 de mayo de 2015

caracteristicas

Los compiladores de Visual Basic generan código que requiere una o más librerías de enlace dinámico para que funcione, conocidas comúnmente como DLL (sigla en inglés de dynamic-link library ); en algunos casos reside en el archivo llamado MSVBVMxy.DLL (siglas de "MicroSoft Visual Basic Virtual Machine x.y", donde x.y es la versión) y en otros en VBRUNXXX.DLL ("Visual Basic Runtime X.XX"). Estas bibliotecas DLL proveen las funciones básicas implementadas en el lenguaje, conteniendo rutinas en código ejecutable que son cargadas bajo demanda en tiempo de ejecución. 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).


Variables tipo Double Así pues, las variables tipo Single tienen un rango y –sobre todo– una precisión muy limitada, insuficiente para la mayor parte de los cálculos técnicos y científicos. Este problema se soluciona con el tipo Double, que utiliza 8 bytes (64 bits) para almacenar una variable. Se utilizan 53 bits para la mantisa (1 para el signo y 52 para el valor) y 11 para el exponente (1 para el signo y 10 para el valor). La precisión es en este caso, 252 = 4.503.599.627.370.496 lo cual representa entre 15 y 16 cifras decimales equivalentes. Con respecto al rango, con un exponente de 10 bits el número más grande que se puede representar será del orden de 2 elevado a 2 elevado a 10 (que es 1024): 21024 = 1.7977 · 10308 Si se considera el caso de los números declarados como Double (8 bytes) el rango va desde -1.79769313486232E308 a -4.94065645841247E-324 para los valores negativos y desde 4.94065645841247E-324 a 1.79769313486232E308 para los valores positivos. 8.4 SISTEMA BINARIO, OCTAL, DECIMAL Y HEXADECIMAL A contnuación se presentan los primeros números naturales expresados en distintos sistemas de numeración (bases 10, 2, 8 y 16). Para expresar los números en base 16 se utilizan las seis primeras letras del abecedario (A, B, C, D, E y F) para representar los números decimales 10, 11, 12, 13, 14 y 15. La calculadora que se incluye como accesorio en Windows 95 ofrece posibilidades de expresar.

Variables tipo Single Los computadores trabajan en base 2. Por eso un número con decimales de tipo Single se almacena en 4 bytes (32 bits), utilizando 24 bits para la mantisa (1 para el signo y 23 para el valor) y 8 bits para el exponente (1 para el signo y 7 para el valor). Es interesante ver qué clase de números de punto flotante pueden representarse de esta forma. En este caso hay que distinguir el rango de la precisión. La precisión hace referencia al número de cifras con las que se representa la mantisa: con 23 bits el número más grande que se puede representar es, 223 = 8.388.608 lo cual quiere decir que se pueden representar todos los números decimales de 6 cifras y la mayor parte –aunque no todos– de los de 7 cifras (por ejemplo, el número 9.213.456 no se puede representar con 23 bits). Por eso se dice que las variables tipo Single tienen entre 6 y 7 cifras decimales equivalentes de precisión. Respecto al exponente de dos por el que hay que multiplicar la mantisa en base 2, con 7 bits el número más grande que se puede representar es 127. El rango vendrá definido por la potencia, 2127 = 1.7014 · 1038 lo cual indica el orden de magnitud del número más grande representable de esta forma. En el caso de los números Single (4 bytes) el rango es: desde -3.402823E38 a -1.401298E-45 para los valores negativos y desde 1.401298E-45 a 3.402823E38 para los valores positivos.

Entorno de desarrollo

Existe un único entorno de desarrollo para Visual Basic, desarrollado por Microsoft: Microsoft Visual Basic x.0, correspondientes a versiones desde la 1.0 hasta la 6.0, (con respectivas diferencias entre versiones del lenguaje).
El entorno de desarrollo es muy similar al de otros lenguajes. Realizando una instalación típica del producto, las características básicas se presentan de la siguiente forma:
  • En la parte superior aparecen tres elementos, en este orden: la barra de título donde figura el nombre del proyecto en curso y su estado (diseño o ejecución); la barra de menú con 13 opciones desplegables y una barra de herramientas; esta última se puede personalizar, posibilitando la inclusión de prácticamente la totalidad de los comandos del IDE.
  • En la parte central, cubriendo la franja de mayor área, se encuentra el espacio de trabajo. Éste incluye y muestra las ventanas del proyecto, las vistas del código fuente de los módulos, los objetos y los controles que contienen las ventanas de la aplicación y el panel de controles.
  • El panel de controles, que aunque es móvil normalmente está ubicado a la derecha, por defecto cuenta con los siguientes controles:
  • PictureBox: Caja de imágenes
  • Label: Etiqueta
  • TextBox: Caja de texto
  • Frame: Marco
  • CommandButton: Botón de comando
  • CheckBox: Casilla de verificación
  • OptionButton: Botón de opción
  • ComboBox: Lista desplegable
  • ListBox: Lista
  • HScrollBar: Barra de desplazamiento horizontal
  • VScrollBar: Barra de desplazamiento vertical
  • Timer: Temporizador
  • DriveListBox: Lista de unidades de disco
  • DirListBox: Lista de directorios
  • FileListBox: Lista de archivos
  • Shape: Figura
  • Line: Línea
  • Image: Imagen
  • Data: Conexión a origen de datos
  • OLE: Contenedor de documentos embebidos compatibles con Object Linking and Embedding
Además de los listados, se pueden agregar todo tipo de controles de terceros, y hay una gran cantidad de ellos que se proveen con el propio Visual Basic 6.0. Los controles vienen embebidos dentro de archivos con extensión OCX.
  • Las ventanas de proyecto, aunque móviles, se encuentran en el panel lateral derecho y contienen dos vistas principales:
  • El Explorador de proyectos, que muestra todos los elementos que componen el proyecto o grupos de proyectos (formularios, interfaz de controles, módulos de código, módulos de clase, etc.)
  • El Panel de propiedades, donde se muestran todos los atributos de los objetos, controles, formularios, información de módulos clase, entre muchos otros.
  • La Ventana inmediato, por defecto se encuentra en la parte inferior, aunque puede no estar visible (se presionan las teclas Ctrl+G, en ese caso, para mostrar la ventana). Esta ventana resulta una herramienta muy útil a la hora de depurar el programa o bien para realizar pruebas rápidas, ya que permite imprimir mensajes de texto desde el código y ejecutar sentencias y comandos simples inmediatamente (sólo sentencias que se puedan escribir en una sola línea). Por ejemplo, de la aplicación en curso, se puede consultar el valor de una variable o llamar a un método declarado en el módulo que se está depurando. Se puede ejecutar código "al vuelo", por ejemplo con sentencias como:
? sqr(2)
siendo el signo ? un reemplazo natural del comando Print en Basic, al ejecutar la sentencia se mostraría por pantalla el valor de la raíz cuadrada de 2. También se pueden usar variables del propio programa, o sentencias de código tales como:
Msgbox "Prueba de cuadro de mensaje de error.", vbCritical, "Título del mensaje"
A la hora de la depuración puede ser útil para consultar el valor de variables del programa, o el código de error como:
? Err.Number




Un globo tiene propiedades (Color, Alto y Diámetro), Propiedades
Si pudiera programar un globo, el código de Visual Basic 
Balloon.Color = Red
Balloon.Diameter = 10
Balloon.Inflated = True
Observe el orden del código: el objeto (Globo) seguido por la propiedad (Color) seguida por la asignación del valor (= Rojo). Puede cambiar el color del globo sustituyendo un valor diferente.

Métodos

Los métodos de un globo se denominan de este modo.
Balloon.Inflate
Balloon.Deflate
Balloon.Rise(5)
El orden se parece al de una propiedad, es decir, el objeto (un nombre), seguido del método (un verbo). En el tercer método, hay un elemento adicional, llamado argumento, que especifica la distancia a que se elevará el globo. Algunos métodos tendrán uno o más argumentos para describir aún más la acción que se va a realizar.

Eventos

El globo podría responder a un evento de la siguiente manera.
Sub Balloon_Puncture()
    Balloon.MakeNoise("Bang")
Balloon.Deflate
End Sub
    Balloon.Inflated = False
En este caso, el código describe el comportamiento del globo cuando se produce un evento Puncture. Cuando se produce este evento, llama al método de MakeNoise con un argumento "Bang" (el tipo de ruido que debe realizar) y, a continuación, llama al método Deflate. Puesto que el globo ya no está inflado, la propiedad Inflated se establece enFalse.
Si bien, en realidad no puede programar un globo, puede programar un formulario o control de Visual Basic. Como programador, es el responsable. Decida las propiedades que se deben cambiar, los métodos que se deben invocar o los eventos que se deben responder para lograr la apariencia y el comportamiento deseados.
podría parecerse al siguiente "código" que establece las propiedades de un globo.
responde a eventos (Puncture) y puede ejecutar métodos (Deflate, MakeNoise).







viernes, 22 de mayo de 2015

Objetos y eventos

Se designa como objeto cualquier elemento, por ejemplo, un formulario, una imagen, un control, tal como una caja de texto; a su vez, los objetos tienen propiedades, que en el caso de la caja de texto una es la propiedad "text" que se encarga de contener el texto que aparecerá en la caja. A los objetos se les puede asociar eventos. Un evento es la ocurrencia de un suceso, comúnmente la acción que realiza el usuario sobre el objeto, que como resultado puede, por ejemplo, provocar un cambio en alguna propiedad de un objeto. Por ejemplo: Visual Basic tiene un evento llamado KeyPress, que ocurre cuando el usuario presiona una tecla; ese evento se puede asociar a la caja de texto, y en él definirá (por programación) qué acción se tomará cuando se oprima una tecla.
En síntesis, un objeto posee propiedades, responde a eventos y puede ejecutar métodos asociados a él.
Algunos eventos comunes definidos en Visual Basic son:
  • Click: ocurre cuando se presiona y suelta un botón del mouse sobre un objeto.
  • DblClick: ocurre cuando se presiona y suelta dos veces un botón del mouse sobre un objeto.
  • DragDrop: ocurre al arrastrar y soltar un determinado objeto con el mouse.
  • DragOver: ocurre si una operación de arrastrar y soltar está en curso.
  • GotFocus: ocurre cuando un objeto recibe el control o foco, ya sea mediante una acción del usuario como hacer click en un objeto ventana, o cambiando el foco de objeto desde el programa, mediante el método SetFocus.
  • LostFocus: contrario al anterior, este evento ocurre cuando el objeto pierde el enfoque, sea mediante acción del usuario o efectuado desde la aplicación.
  • KeyDown: ocurre cuando el usuario mantiene presionada una tecla.
  • KeyUp: ocurre cuando el usuario deja de presionar una tecla. Este evento sucede precisamente al terminar el evento KeyDown.
  • KeyPress: ocurre como cuando se presiona y suelta una tecla.
  • MouseDown: ocurre cuando el usuario presiona un botón del mouse.
  • MouseUp: se produce cuando el usuario suelta el botón del mouse.
  • MouseMove: este evento ocurre mientras el usuario mueve o desplaza el puntero del mouse sobre un objeto.


Imagínese un auto como un objeto; el auto tiene diversas propiedades como color, modelo, etc. Algunas con sólo 2 posibles valores, como encendido y apagado, incluso otras que a simple vista no se ven, como podría ser la cantidad de gasolina. Para definir el color de este objeto Auto, según Visual Basic, se haría de la siguiente manera:



Auto.color = rojo



y para definirle un evento podría ser como el siguiente ejemplo:
Sub girarllave( )
  Auto.encendido=true
end sub.

Ejemplo de código

El siguiente fragmento de código muestra un cuadro de mensaje, en una ventana, que dice "¡Hola, mundo!":
Private Sub Form_Load()
    MsgBox ("¡Hola, mundo!")
End Sub




Convenciones de código y estructura de programas (Visual Basic)

En esta sección se introduce la estructura de programas de 
Visual Basic típica, se proporciona un programa de Visual 
Basic sencillo ("Hello, World") y se describen las 
convenciones de código de Visual Basic. Las convenciones 
de código son sugerencias que no se centran en la lógica de 
un programa, sino en la apariencia y la estructura física. Si 
se cumplen, se facilita la lectura, la comprensión y el 
mantenimiento del código. Las convenciones de código 
pueden incluir, entre otras cosas:
  • Formatos estandarizados para etiquetar y comentar código.
  • Instrucciones para agregar espacios, dar formato y aplicar sangría al código.
  • Convenciones de nomenclatura para objetos, variables y procedimientos.
Los temas siguientes presentan un conjunto de directrices 
de programación para los programas de Visual Basic, junto 
con ejemplos de uso correcto.
Todos los objetos del lenguaje Visual Basic tienen sus 
propias propiedades, métodos y eventos. Entre estos 
objetos se incluyen los formularios y los controles. Las 
propiedades pueden considerarse como los atributos de un 
objeto, los métodos como sus acciones y los eventos como 
sus respuestas.
Un objeto corriente como un globo de helio también tiene 
propiedades, métodos y eventos. Las propiedades de un 
globo incluyen atributos visibles como su alto, diámetro y 
color. Otras propiedades describen su estado (inflado o 
desinflado) o atributos que no se ven, como su edad. Todos 
los globos tienen estas propiedades, aunque sus valores 
pueden diferir de un globo a otro.
Un globo también tiene métodos o acciones conocidas que 
puede realizar. Tiene un método para inflarse (llenarlo con 
helio), un método para desinflarse (expulsar su contenido) y 
un método para elevarse (soltarlo). Todos los globos 
pueden utilizar estos métodos.

Los globos también tienen respuestas a ciertos eventos 
externos. Por ejemplo, un globo responde al evento de ser 
pinchado desinflándose o al evento de ser soltado 
elevándose.