La razón de ser

La vuelta a la Patria es un compromiso...la responsabilidad social...el aporte generoso...el modelo...la vida misma.

PARTE 01 Aprendiendo Visual Basic 2010 Express

31/01/2012

Mis primeros pasos en Visual Basic 2010 Express

La pequeña historia de siempre... en software me refiero

Después de muchos avatares y años logré trabajar a gusto con Visual Foxpro desarrollando sistemas administrativos y contables. Pero de golpe y porrazo hace pocos años Microsoft sacó de su inventario esta herramienta para imponer la tecnología NET y aquí estoy en la tranquilidad de la jubilación intentando aprender Visual Basic 2010 ayudado de mis conocimientos en desarrollo de sistemas y bases de datos relacionales, y además compartir mi experiencia (más no mis frustraciones) de aprendizaje con quienes quieran seguirme.

En mi primer problema de darle formato a la cadena ingresada a una caja de texto, me conseguí con algunos "expertos" para quienes mi problema de formato era algo superado y me mandaban a secciones de FAQs.  Concluí rápidamente que para quienes quieran aprender a programar con esta herramienta puede ser cuesta arriba, por lo que extiendo mi mano para ayudarlos, esperando me superen y compartan conmnigo y con otros. Sin embargo hay mucha gente, en foros, dispuesta a ayudar con sugerencias inmediatas por lo que es recomendable sea un miembro activo. Pero lo fundamental para aprender esta herramienta es su actitud.

Voy a desarrollar, por ahora, una serie de problemas que nos irán ayudando a implementar una calculadora tan compleja como quieran con todas sus rutinas de validación. No son problemas para ir a la luna, sino para ir aprendiendo y estoy seguro ustedes conseguirán una mejor manera, lo cual par mi de por si ya es un logro.

Material de apoyo

El libro de oro de Visual basic 
------------------------------------

Funciones de Visual Basic 2010

Foro Microsoft de Visual Basic 


Conducta de entrada:

Debe tener instalada en su máquina la herramienta Visual Basic 2010 Express



Ejercicio Nº 1

Pasar el contenido de la caja de texto a la etiqueta



Pasos:

1. Abrir nuevo proyecto de Aplicaación de Windows Form

2. Arrastrar al área de diseño:
        Un Button
        Un TextBox
        Un Label
       
3. Hacer doble click sobre el Button

4. Visualizar el código (si previamente no ha sido presentado) pulsando F7
     ó Ver/Código



5. Escribir el código faltante



    Public Class Form1

       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
     System.EventArgs) Handles  Button1.Click

     ' Comentario: Usar _ (guión bajo) para continuar la sintaxis en 
     ' la siguiente línea

        Label1.Text = TextBox1.Text

     End Sub
 End Class

6. Ejecutar la depuración (Depurar/iniciar depuración ó pulsando F5 ó
   Click en el botón apuntado por  la flecha verde)


7. Tipear "Hola y SUERTE" y click en Button 1

!BINGO! si obtuvo este resultado...En hora buena



  
Recomendaciones:
Para modificaciones no olvide detener la depuración con Depuración/Detener
Depuración ó Click en el botón apuntado por la flecha roja en el gráfico de más arriba.

Ejercicio Nº2

Pasar el contenido de la caja de texto a la etiqueta. El contenido de la caja de texto debe contener únicamente un número entero -sin decimales- positivo.

Pasos:

1. Escribir la sintaxis




Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
    System.EventArgs) Handles Button1.Click

        Dim num1, product As Single

        num1 = TextBox1.Text

        product = num1

        Label1.Text = Format(product, "FIXED")  'Puede usar Format(num1,"FIXED")

    End Sub

    Private Sub TextBox1_KeyPress(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.KeyPressEventArgs) _
    Handles TextBox1.KeyPress


        If InStr(1, "0123456789" & Chr(8), e.KeyChar) = 0 Then
            e.KeyChar = ""
        End If
    End Sub
End Class

Recomendaciones:

Revisar:
InStr()
e.KeyChar
e.Handled
Chr(8)

Trabajar con esta nueva rutina de validación


 
Ejercicio Nº 3

Pasar el contenido de la caja de texto a la etiqueta. El contenido de la caja de texto debe contener únicamente números  positivos o negativos con decimales. El separador de decimales debe ser el mismo que tiene configurado el computador (Ud no tiene por que saberlo), en la etiqueta 1 colocar el número con dos decimales,  en la etiqueta 2 colocar el separador de decimales y en la 3 el separador de miles.






 Pasos:

1. Escribir la sintaxis

 

 

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
    System.EventArgs) Handles Button1.Click

        Dim num1, product As Single

        num1 = TextBox1.Text

        product = num1

        Label1.Text = Format(product, "FIXED")

    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
    System.EventArgs) Handles MyBase.Load
        Dim s As String

        s = System.Globalization.CultureInfo.CurrentCulture.NumberFormat._
CurrencyDecimalSeparator
        Label2.Text = "El separador decimal es: '" & s & "'"

        s = System.Globalization.CultureInfo.CurrentCulture.NumberFormat._
CurrencyGroupSeparator
        Label3.Text = "El separador de miles es: '" & s & "'"

    End Sub

Private Sub TextBox1_KeyPress(ByVal sender As Object, _ 
                                  ByVal e As System.Windows.Forms._
KeyPressEventArgs) _
                                  Handles TextBox1.KeyPress
        Dim h As Integer, x As Integer
        Dim cadena As String, S As String

        S = System.Globalization.CultureInfo.CurrentCulture.NumberFormat._
CurrencyDecimalSeparator

        If InStr(1, "0123456789-" & Chr(8) & S, e.KeyChar) = 0 Then
            e.KeyChar = ""
        Else
            h = Len(TextBox1.Text) ' Longitud de cadena

            cadena = TextBox1.Text ' Almacena lo escrito en el textbox,
                                                  'sin incluir el último caracter

            For p = 1 To h
                If Mid(cadena, p, 1) = S Then ' Si ya hay UN SEPARADOR
                                                   'DECIMAL en la cadena...
                    If e.KeyChar = S Then
                        e.KeyChar = ""
                        Exit For
                    End If
                End If
            Next p

            For p = 1 To h
                If Mid(cadena, p, 1) = "-" Then ' Si ya hay un signo -  en la cadena...
                    If e.KeyChar = "-" Then
                        e.KeyChar = ""
                        Exit For
                    End If
                End If
            Next p

        End If
    End Sub

End Class


Ejercicio Nº 4

En la ejecución de programas, es fundamental reducir al mínimo la ocurrencia de errores. En el ejercicio hay por lo menos tres errores que es imprescindible corregir.

Se pide:

Buscar los errores