Powered By Blogger

martes, 26 de julio de 2011

Sobre el Entorno gráfico de Visual Basic 6.0...

Existe un único entorno de desarrollo para Visual Basic, desarrollado por Microsoft: Microsoft Visual Basic x.0 para versiones desde la 1.0 hasta la 6.0, (con las diferencias entre las versiones desde la 1.0 (MS-DOS/Windows 3.1) hasta la 3.0 (16 bits, Windows 3.1/95) y las de la 4.0 (16/32 bits, Windows 3.1/95/NT) hasta la 6.0 (32 bits, Windows 9x/Me/NT/2000/XP/2003 server).

Su entorno de desarrollo es muy similar al de otros lenguajes e IDE's.


Se compone principalmente de una barra de herramientas y menús, que se pueden personalizar con prácticamente la totalidad de los comandos del IDE, a necesidad.


El espacio de trabajo incluye y muestra todas las ventanas del proyecto, las vistas del código de los módulos y objetos, y los controles con los que se compondrán las ventanas de la aplicación. Por defecto se dispone 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
Se pueden agregar todo tipo de controles de terceros, y hay una gran cantidad de ellos que se proveen con la instalación de Visual Basic 6.0, vienen embebidos dentro de archivos de extensión OCX.
El panel lateral derecho contiene 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 controles de los formularios o la información de módulos clase y formularios, entre muchos otros.
La Ventana inmediato, por defecto se encuentra en la parte inferior, aunque puede no estar visible; utilizar Ctrl+G para mostrar la ventana. Esta ventana resulta una herramienta muy útil a la hora de depurar el programa o incluso de realizar pruebas rápidas, ya que permite imprimir mensajes de texto desde el código y ejecutar sentencias y comandos simples (solo sentencias que se puedan representar, en una sola línea), como por ejemplo, desde código de la propia aplicación, se puede consultar el valor de una variable o llamar a un método declarado en el módulo que se está depurando. También se puede ejecutar código "al vuelo", por ejemplo probar sentencias como:
?2+2


Al ejecutarlo devolvería el resultado de la operación. Se puede usar variables del código de la aplicación, o sentencias de código como:
 
Msgbox "Prueba de cuadro de mensaje de error.", vbCritical, "Titulo del mensaje"


A la hora de depuración puede ser útil para consultar un código de error:
 
?Err.Number

lunes, 18 de julio de 2011

Sobre algunas funciones de Visual Basic 3...

- Funciones de formato para fechas y hora

Ejemplos de los principales Formatos con nombre para el manejo de Fechas y Horas:

Funciones para Fechas

Dim cadena As String

cadena = Format("06/08/78", "General Date")
' Devuelve: "06/08/1978"
cadena = Format("19/08/79", "Long Date")
' Devuelve : "Jueves 19 de Agosto de 1979".
cadena = Format("19/8/79", "Medium Date") ' Devuelve: "19-Ago-1979"

cadena = Format("17:08", "Short Time") ' "05:08"

cadena = Format("17:08", "Medium Time") ' "05:08 PM"

cadena = Format("17:08", "Long Time") ' "05:08:00 PM"



.1 - Funciones para calcular fechas

Visual basic cuenta con una serie de funciones que nos permiten calcular fechas y horas, por ejemplo generar un intervalo de fechas, sumar y restar fechas y horas y otras operaciones y cálculos
DateAdd : Devuelve un Variant que contiene una fecha que indica el intervalo de tiempo que se ha agregado
DateDiff : Devuelve el número de intervalos de tiempo entre dos fechas determinadas
DatePart : Devuelve una parte específica de una fecha dada
DateSerial : Devuelve un valor Date para un año, mes y día determinados.

Ejemplo con DateAdd
Lo siguiente, muestra como añadir y restar fechas
' agrega 10 años a la fecha actual
MsgBox DateAdd("yyyy", 10, Date)

' Agrega cinco meses a la fecha actual
MsgBox DateAdd("m", 5, Date)

' resta 1 dias a la fecha actual ( usa el signo -)
MsgBox DateAdd("y", -1, Date)  

.2 - Funciones para obtener la fecha u hora actual de la PC

Dim Cadena As String
Cadena = Date ' Devuelve el día del sistema en este formato: "02/08/2004"

Cadena = Time ' Devuelve la hora del sistema en este formato: "17:32:51"

'Funciones para establecer la fecha u hora de la PC:

Date = (La fecha que queremos establecer)

Time = (La hora que queremos establecer)

Sobre algunas funciones de Visual Basic 2...

2.1 - Función Round

La función Round se utiliza para redondear un número decimal, devolviendo un número entero.

Ejemplo:

Dim Mimumero As Long

Minumero = Round(245.8) '(La función devuelve 246)
Minumero = Round(245.3) '(La función devuelve 245)
Minumero = Round(245.5) '(La función devuelve 245)
Round posee un parámetro opcional por si queremos incluir los dígitos decimales.

2.2 - Rnd y Randomize - Números aleatorios

Para generar números aleatorios, Visual Basic incluye 2 funciones: Rnd y Randomize.
La función Rnd devuelve un número aleatorio, y esta posee un solo parámetro.
Ejemplo :
Rnd (número)

Pero para poder generar dichos números aleatorios, debemos utilizar previamente la función Randomize con la siguiente fórmula:
Dim LimiteInferior As Integer
Dim LimiteSuperior As Integer

LimiteInferior = 20

LimiteSuperior = 40


MsgBox Int((LimiteInferior - LimiteSuperior + 1) * Rnd + LimiteInferior)
En el ejemplo anterior, se generarán números aleatorios comprendidos entre el 20 y el 40
Nota: en este enlace podés ver un ejemplo que permite generar números aleatorios no repetidos.

Funciones matemáticas

Las principales funciones matemáticas provistas por Visual Basic son:
  • Abs: Devuelve el valor absoluto de una expresión numérica.
  • Atn: Devuelve el arco tangente de un número.
  • Cos: Devuelve el coseno de un ángulo.
  • Exp: Devuelve el número "e" elevado a una potencia.
  • Log: Devuelve el logaritmo natural de un número.
  • Sgn: Devuelve un valor indicando el signo de un número.
  • Sin: Devuelve el seno de un ángulo.
  • Sqr: Devuelve la raíz cuadrada de un número.
  • Tan: Devuelve la tangente de un ángulo.  

3 - Funciones de formato

Visual Basic posee varias funciones para darle formato a distintos tipos de datos e información. A continuación se ve algunos ejemplos de las principales funciones:
  • FormatCurrency: Esta función se utiliza para trabajar con números con formato en dinero. Ejemplo:
    si tenemos un número 3 y utilizamos la función nos devolvería "$3".
  • FormatPercent: Esta función es utilizada para trabajar con porcentajes. Ejemplo :
    si tendríamos un número 321, nos devolvería: "32,1%" .
  • FormatDateTime: Esta función trabaja con fechas y horas.
  • FormatNumber: Formatea expresiones números
 

Resultado = FormatPercent(321) 'devuelve: "32.100,00%"
Resultado = FormatCurrency(3)  'devuelve: "$3,00"
Resultado = FormatDateTime("6-8-1978")  'La función devolvería: "06/08/1978"

NumDigitsAfterDecimal: Parámetro de tipo opcional. Este indicará cuantos números decimales devolverá la función:

Ejemplo

cadena = FormatCurrency(325, 3) 'Devuelve: "$325,000"

Ejemplo de la función FormatDateTime

Esta función, en el primer parámetro se le debe pasar la fecha u hora a formatear, y el segundo parámetro es el tipo de formato, pueden ser 5 tipos.
vbGeneralDate, vbLongDate, vbShortDate, vbLongTime y vbShortTime.

FormatNumber - Ejemplos:

Formatea 0.489698 a 0,49
Dim Numero As Double

Numero = 0.489698
Numero = FormatNumber(Numero, 2, vbFalse)

MsgBox Numero
Formatea 1.958754 a 1,96
Dim Numero As Double

Numero = 1.958754
Numero = FormatNumber(Numero, 2)

MsgBox Numero

Función Format:


La función Format es mas completa que las anteriores funciones, porque puede manejar mas tipos de datos, y no devuelve solo cadenas, esta también puede devolver números y fechas.
La función Format posee dos parámetros:
Format (Expresión, formato)

En el primero debemos colocar cualquier expresión válida. El segundo es opcional y a continuación veremos una descripción de los formatos de VB:
  • GeneralNumber: Devuelve el número sin formato.
  • Currency: Devuelve el número en formato moneda, con el símbolo "$" y 2 decimales a las derecha.
  • Fixed: Devuelve como mínimo un dígito a la izquierda y 2 ala derecha del decimal.
  • Standar: Similar a Fixed pero incluye un separador de miles.
  • Percent: Multiplica el número por cien y le agrega el símbolo "%"
  • True/False: Devuelve Verdadero para un valor distinto de 0,y Falso para 0.
  • On/OFF: Devuelve "Activado" para un valor distinto de 0, y "Desactivado" para 0.
La forma de pasar el parámetro es entre comillas.
Ejemplo:
cadena = Format(75, "Currency") ' Devolvería: "$75,00"

martes, 12 de julio de 2011

Sobre algunas funciones básicas de Visual Basic 1...

1 - Funciones para el tratamiento de cadenas





Las funciones de cadena , como su nombre lo indica, se utilizan para trabajar y tratar las cadenas de caracteres.
A continuación las mas importantes de ellas.


1.1 - Función Lcase y Ucase

Estas dos funciones se utilizan para convertir cadenas de texto a minúscula y mayúscula.
La función Lcase cambia o convierte una cadena de texto a minúscula y un ejemplo de como utilizarla sería así:

Lcase (cadena que queremos convertir a minúsculas)


Ejemplo:
Dim cadena As String

cadena = "HOLA MUNDO"

'Convertimos
cadena = LCase(cadena)

'La variable cadena ahora vale "hola mundo"


La función Ucase funciona de la misma manera que Lcase pero convierte el contenido de una cadena a mayúsculas.
Por ejemplo, si tenemos un control Label1 que contiene un texto que dice: "Porcentaje de sueldos", escribiendo la siguiente línea:
Label1 = UCase(Label1)


El control Label1 pasaría a mostrar o mejor dicho contener en su propiedad caption:"PORCENTAJE DE SUELDOS".

1.2 - Función Trim, LTrim y RTrim

Estas tres funciones se utilizan para eliminar los espacios vacíos de una cadena.

LTrim elimina los espacios vacíos de la parte izquierda de la cadena, RTrim de la parte derecha y Trim de ambas partes.

Ejemplos:
Tenemos una variable llamada ciudad con el valor " Barcelona". Para eliminar los espacios vacíos de la izquierda haríamos lo siguiente:
ciudad = LTrim(ciudad)


Si en un TextBox quisieramos borrar todos los espacios vacíos de la parte derecha de la cadena:
MiText = RTrim(MiText)


La Función Trim elimina todos los espacios vacíos de ambos lados de la cadena. Ejemplo:
Pais = "     Argentina     "
País = Trim(Pais)


Ahora el valor de País es igual a: "Argentina".


1.3 - Función Len

La función Len nos permite conocer la cantidad de caracteres que tiene una determinada cadena. O sea que esta función nos devuelve un número.


Como la función Len devuelve un número debemos asignar ese número devuelto en una variable de tipo numérica.

1.4 - Función Asc y Chr

La función Asc nos permite obtener el código ASCII de un de terminado caracter.

num = Asc("a")

En definitiva la función Asc lleva un solo parámetro de tipo String del cual queremos obtener dicho número.
La Función Chr actúa a la inversa de la función Asc, esto quiere decir, que a partir de un determinado número nos devolverá el caracter ASCII.
Obviamente que en vez de pasarle a la función un parámetro String es decir la letra, debemos pasarle un número ASCII y nos devolverá el carácter asociado.

1.5 - Función InsTr

La función InStr se utiliza para buscar una cadena o parte de una cadena dentro de otra cadena.
Si la función encuentra la cadena a buscar devuelve un número que representa la posición donde encontró la cadena, si no la encuentra devuelve un 0.
Los parámetros que lleva esta función son:
InStr (comienzo, Cadena donde buscar , La Cadena a buscar)
Como esta función devuelve un número debemos almacenarla en una variable de tipo numérica para utilizarla.


Si observamos bien, la función en el primer parámetro, denominado comienzo, nos pide que le digamos desde que posición comenzar a buscar. En nuestro ejemplo, este parámetro lo obviamos, esto quiere decir que comenzará desde la posición 0 de la cadena a buscar. Pero podríamos especificar una posición en particular, por ejemplo desde la 5 , 10 etc..., según lo que necesitemos hacer.


Función Left, Right y Mid



Estas funciones son utilizadas para extraer partes de una cadena.
La función Left:
tiene 2 parámetros: El primero es la cadena de la cual se extraerán caracteres, y el segundo un número desde el cual comenzar a extraer caracteres desde la parte izquierda.
Ejemplo:
Dim Cadena As String

Cadena = Left("Ya es la madrugada", 9)

'Cadena, que es un string, sería igual a: "Ya es la"


Función Right:
Es igual que la función Left pero comienza a extraer caracteres desde el lado derecho de la cadena.
La función Mid:
Tiene la misma función que las anteriores pero posee tres parámetros. Su sintaxis es:
Mid (cadena, inicio, longitud)
El parámetro cadena es la cadena a extraer caracteres. El parámetro Inicio es donde comenzar y el parámetro longitud, es la cantidad de caracteres a extraer de la cadena de caracteres
Ejemplos:
Dim nombre As String
nombre = Mid("River perdió la copa", 7, 6)

'La variable nombre sería igual a: "perdió"

1.6 - Función Str y Val


La función Val convierte una cadena en un número yla función Str un número en una cadena.
Ejemplos:
cadena = "123456"
cadena = Val(cadena)

'Ahora cadena vale 123456

cadena2 = 123456
cadena2 = Str(cadena2)

'Ahora cadena2 vale "123456"





martes, 5 de julio de 2011

Historia de Visual Basic...

Visual Basic es un lenguaje de programación dirigido por eventos, desarrollado por el alemán 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 completamente gráfico que facilitara la creación de interfaces gráficas y, en cierta medida, también la programación misma. La última versión fue la 6, liberada en 1998, para la que Microsoft extendió el soporte de este lenguaje 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.
Las versiones de Visual Basic para Windows son muy conocidas, pero existe una versión de Microsoft Visual Basic 1.0 para MS-DOS (ediciones Profesional y Estándar) menos difundida y que data de 1992. Era 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 sólo para 16 bits, la 3.0, no incluía una detallada biblioteca de componentes para toda clase de usos. Durante la transición de Windows 3.11 a Windows 95, apareció la versión 4.0, que podía generar programas de 16 y 32 bits a partir de un mismo código fuente, a costa de un gran aumento en el tamaño de los archivos "runtime" necesarios. Además, se sustituyen los controles VBX por los nuevos OCX. Con la versión 5.0, estuvo a punto de implementar por primera vez la posibilidad de compilar a código nativo, obteniendo una mejora de rendimiento considerable. Tanto esta como la posterior 6.0 soportaban características propias de los lenguajes orientados a objetos, aunque careciendo de algunos ítems importantes como la herencia y la sobrecarga. La versión 6.0 continua utilizándose masivamente y es compatible prácticamente al 100% con las últimas versiones de Windows como Vista y Windows 7.
Las versiones actuales de Visual Basic se basan en la plataforma .NET, que se desligan de las anteriores versiones.
Cabe mencionar que aunque menos conocido, existió también una versión gratuita de Visual Basic 5.0 dedicada en su práctica al desarrollo de controles y componentes, su nombre en concreto 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, conocido como Embedded (Visual Basic).

Versiones:

Visual Basic 1.0 para Windows se liberó en Mayo de 1991.
 
Visual Basic 1.0 para DOS fue liberado en Septiembre de 1992. El lenguaje en sí no era compatible con
 
Visual Basic para Windows, ya que era en realidad la siguiente versión de compiladores BASIC para DOS,
 
QuickBASIC y BASIC PDF (Profesional Development System). Usaba una interfase de texto, con caracteres ASCII extendidos para simular la apariencia de una interfase gráfica.
 
Visual Basic 2.0 liberado en Noviembre de 1992. Vino en las versiones Standard y Professional. El entorno de programación era más fácil de usar, y su velocidad se mejoró. En particular, los formularios se convirtieron en objetos instanciables, sentando así los conceptos fundamentales para módulos de clase, que luego se ofrecerían en la versión 4.
 
Visual Basic 3.0 se liberó en verano de 1993, en versiones Standard y Profesional, incluyendo la versión 1.1 de Microsoft Jet Database Engine que permitía acceso a bases de datos (Access).
 
Visual Basic 4.0, de Agosto de 1995 fue la primera versión que generaba aplicaciones de 16 y 32 bits para Windows. Había incompatibilidades entre las distintas realeases de VB4 que causaban fallas de instalación y problemas de operación. Mientras las anteriores versiones utilizaban controles VBX, con esta se comenzó a usar controles OLE en archivos OCX, que más tarde se llamarían controles ActiveX.
 
Con la versión 5.0, de Febrero de 1997, Microsoft lanzó Visual Basic exclusivamente para generar programas de 32 bits. Los programadores que preferían generar aplicaciones de 16 bits debían utilizar VB 4.0, siendo transportables a VB 5.0 y viceversa. En la versión 5 se tenía la posibilidad de creaer controles personalizados, también se podía compilar a código ejecutable nativo de Windows, acelerando con ello la ejecución de los programas de cálculo.
 
Visual Basic 6, 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 la ejecución resulta compatible en ambientes Windows Vista, Windows Server 2008 y Windows 7.
El soporte estándar para Microsoft Visual Basic 6.0 finalizó el 31 de marzo de 2005, pero el soporte extendido terminó en marzo de 2008.[4] En respuesta, la comunidad de usuarios de Visual Basic expresó su grave preocupación y presionó a los usuarios a firmar una petición para mantener el producto vivo.
Microsoft se ha negado hasta ahora a cambiar su posición sobre el asunto. Irónicamente, en esa época (2005), se expone que la nueva oferta de Microsoft del software antiespía, Microsoft AntiSpyware (parte de la GIANT Company Software ), fue codificada en Visual Basic 6.0; su sustituto, Windows Defender, fue reescrito en código C++.
Visual Basic 2010 o 10, salido en 2010.