miércoles, 7 de septiembre de 2016

CICLOS POR CONDICIONES

ESTRUCTURAS DE REPETICIÓN (BUCLES) CON VB
Vamos a ver cómo materializar con Visual Basic estructuras de repetición que permitirán que en nuestros programas se realice un proceso n veces. En concreto veremos las instrucciones Desde … Siguiente (For … Next) con su cláusula Paso (Step), la instrucción Mientras … Hacer (Do While … Loop) y la instrucción Hacer … Repetir Mientras (Do … Loop While).
Visual Basic
 
Muchas veces podremos optar indistintamente por usar una instrucción u otra. En otros casos, es recomendable decantarse por una de ellas por hacer el programa más legible o sencillo que usando otras opciones.


INSTRUCCIÓN DESDE ... SIGUIENTE (FOR ... NEXT) Y CLÁUSULA PASO (STEP)
La sintaxis a emplear con Visual Basic es la siguiente:
For VAR = Vi  To Vf
                Instrucción 1
                Instrucción 2
·
·
·
      Instrucción n
Next VAR
 

El incremento que sufre el contador es, por defecto, unitario. Es decir, el primer valor que toma VAR en el bucle será Vi, el segundo Vi + 1, el tercero (Vi + 1) + 1, etc. La modificación de dicho valor de incremento la realizaremos a través de la cláusula Step después del valor Vf. Step 2 implicará que en cada repetición del bucle el contador se incremente en dos unidades, Step 5 implicará que en cada repetición del bucle el contador se incremente en cinco unidades. Un paso negativo del tipo Step -1 supone que el contador decrece en vez de incrementarse. Si el paso es negativo, Vi necesariamente habrá de ser mayor que Vf, ya que en caso contrario no se producirá la entrada en el bucle.
Con este código se nos muestra en pantalla 3 veces hola (se ha invertido el sentido del bucle):

Código (versionesVB menos recientes)Código (versiones VB más recientes)

Rem Curso Visual Basic aprenderaprogramar.com
Option Explicit

Dim VAR As Integer
Dim Vi As Integer
Dim Vf As Integer
                                                   
Private Sub Form_Load()
Vi = 1
Vf = 3
For VAR = Vf To Vi Step –1
    '[También supondría tres repeticiones For VAR = Vi to Vf]
    MsgBox ("hola")
Next VAR
End Sub
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim VAR As Integer
        Dim Vi As Integer
        Dim Vf As Integer
        Vi = 1
        Vf = 3
        For VAR = Vf To Vi Step -1
            '[También supondría tres repeticiones For VAR = Vi to Vf]
            MsgBox("hola")
        Next VAR
    End Sub
End Class


Con Visual Basic resulta admisible usar Next sin indicar la variable que está sirviendo de guía del bucle, pues todo bucle ha de tener un cierre. Sin embargo, no lo creemos recomendable pues puede dificultar la lectura y depuración de los programas.
La instrucción For ... Next es anidable dentro de sí misma o dentro de otros tipos de bucles o estructuras, debiendo seguir las pautas que ya hemos comentado.


EJERCICIO
Transformar en código el siguiente planteamiento: queremos generar un programa que pida un número del 1 al 10 y nos muestre la “tabla de multiplicar” correspondiente.


SOLUCIÓN
Hemos realizado la pregunta relativa al número cuya tabla se desea conocer utilizando un InputBox. Igualmente válido hubiera sido hacerlo con un Label contenedor de la pregunta y un TextBox donde el usuario introduce la información. La tabla la mostramos sobre un Label denominado LabelTabla.

Código (versionesVB menos recientes)Código (versiones VB más recientes)

Rem Curso Visual Basic aprenderaprogramar.com
Option Explicit
Dim T As Integer
Dim i As Integer
                                               
Private Sub Form_Load()
Form1.Caption = "Tabla"
T = Val(InputBox("¿Qué tabla quiere conocer?" & vbCrLf & _
"(Introduzca un número de 1 a 10)", "¿Número?"))
LabelTabla.FontBold = True
LabelTabla.Alignment = 2
LabelTabla = "TABLA DEL " & T & vbCrLf & vbCrLf

For i = 1 To 10
    LabelTabla = LabelTabla & T & " * " & i & " = " & T * i & vbCrLf
Next i
End Sub
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On

Public Class Form1
    Dim T As Integer
    Dim i As Integer

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.Text = "Tabla"
        T = Val(InputBox("¿Qué tabla quiere conocer?" & vbCrLf & _
"(Introduzca un número de 1 a 10)", "¿Número?"))
LabelTabla.Font = New Font("Arial", 10, FontStyle.Bold)
LabelTabla.TextAlign = ContentAlignment.MiddleCenter
LabelTabla.Text = "TABLA DEL " & T & vbCrLf & vbCrLf
        For i = 1 To 10
          LabelTabla.Text = LabelTabla.Text & T & " * " & i & " = " & T * i & vbCrLf
        Next i
    End Sub
End Class

Aspecto gráfico:

inputbox visual basic

tabla multiplicar visual basic

martes, 5 de julio de 2016

HISTORIA DE VISUAL BASIC
Todas las versiones de Visual Basic para Windows son muy conocidas, aunque la Microsoft Visual Basic 1.0 desarrollada para el sistema operativo MS-DOS (ediciones Profesional y Estándar), que data de 1992, fue menos difundida. Esta proveía 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 que sólo generaba aplicaciones de 16 bits fue la 3.0, y no incluía una biblioteca detallada de componentes para toda clase de usos. Durante la transición de los sistemas Windows 3.11 a Windows 95, en 1995, hizo su aparición la versión 4.0 de Visual Basic; ésta podía generar programas tanto de 16 como de 32 bits, a partir del mismo código fuente, aunque a costa de un gran aumento en el tamaño de los archivos necesarios en tiempo de ejecución ("runtime"). Además, se sustituyeron los controles denominados VBX por los nuevos OCX. Con la siguiente versión, la 5.0, se estuvo a punto de implementar por primera vez la posibilidad de compilar a código nativo, obteniendo una mejora de rendimiento considerable. Tanto esa como la sucesora 6.0 soportaban ciertas características propias de los lenguajes orientados a objetos, pero carecían de algunas importantes, tales como herencia y sobrecarga; pero, de hecho, no fue pensado como lenguaje orientado a objetos. La versión 6.0, que puede generar código ejecutable directo en 32 bits, continúa aún utilizándose masivamente, y es compatible con las últimas versiones de los sistemas Windows, como Windows 7 y Windows 8.
Visual Basic evolucionó para integrar la plataforma .NET; allí perdió su propia identidad como lenguaje único adquirible, pasando a integrar un paquete de productos, llamado precisamente Microsoft .NET; dentro de ese paquete o framework se encuentra el nuevo y llamado Visual Basic .NET, que trabaja sobre el entorno Microsoft Visual Studio. Esta nueva versión del lenguaje posee profundas diferencias en la forma de programar respecto de Visual Basic 6, pero gran semejanza en su sintaxis básica.
Cabe mencionar que, aunque fue menos conocido, se desarrolló también una versión gratuita de Visual Basic 5.0, orientada al desarrollo de controles y componentes; su nombre específico 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, conocidas como Embedded (Visual Basic).
Versiones[editar]
·         Visual Basic 1.0 para Windows se liberó en mayo de 1991.
·         Visual Basic 1.0 para MS-DOS fue liberada en septiembre de 1992. Poco popular, este lenguaje no era compatible con Visual Basic para Windows, ya que constituía en realidad la siguiente versión de los compiladores BASIC vigentes para DOS, denominados QuickBASIC y BASIC PDS (Profesional Development System). Usaba una interfaz de texto, con caracteres ASCII extendidos que daban la apariencia de una interfaz gráfica.
·         Visual Basic 2.0 fue liberado en noviembre de 1992. Venía en versiones Standard y Professional. El entorno de programación era más fácil de usar que el anterior, y su velocidad de proceso fue mejorada. En particular, los formularios se convirtieron en objetos instanciables, sentando así los conceptos fundamentales para módulos de clase, que más tarde se ofrecerían en la versión 4.
·         Visual Basic 3.0 salió al mercado en verano de 1993, en versiones Standard y Profesional. Incluía la versión 1.1 de Microsoft Jet Database Engine, que permitía acceso a bases de datos Access.
·         Visual Basic 4.0, surgida en agosto de 1995, fue la primera versión que generaba aplicaciones tanto de 16 como de 32 bits para Windows. Había incompatibilidades entre las distintas realeases de esta versión que causaban fallas de instalación y problemas de operación. Mientras las anteriores utilizaban controles VBX, con la 4.0 se comenzaron a utilizar controles OLE en archivos OCX, que más tarde se llamarían controles ActiveX.
·         En febrero de 1997, Microsoft lanzó Visual Basic 5.0, versión que generaba programas de 32 bits exclusivamente. Los programadores que aún preferían desarrollar aplicaciones en 16 bits debían necesariamente utilizar VB 4.0, siendo transportables en código fuente a VB 5.0 y viceversa. En la versión 5 se tenía la posibilidad de crear controles personalizados; también permitía compilar a código ejecutable nativo de Windows, logrando con ello incrementar la velocidad de ejecución de los programas generados, más notablemente en los de cálculo.
·         Visual Basic 6.0, salido a mediados de 1998, muy mejorado, incrementó el número de áreas1 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 las aplicaciones que genera son compatibles con plataformas más modernas, como Windows VistaWindows Server 2008Windows 7 y Windows 8.2 3
El soporte estándar para Microsoft Visual Basic 5.7 finalizó el 31 de marzo de 2005, pero el extendido terminó en marzo de 2008.4 La comunidad de usuarios de Visual Basic expresó su grave preocupación y se firmó una petición para mantener el producto vivo.5 Microsoft se ha negado hasta el momento a cambiar su posición sobre el asunto. Irónicamente, en esa época (2005) se da a conocer que el software antiespía ofrecido por Microsoft, "Microsoft AntiSpyware" (parte de la GIANT Company Software), fue codificado en Visual Basic 6.0; su posterior sustituto, Windows Defender, fue reescrito en código C++.