Вы находитесь на странице: 1из 7

1

- Visual Basic.NET- Herramientas de desarrollo .NET - Ejemplos ilustrativos -


Introducir cifras en un "TextBox" y analizarlas -

Un "TextBox" puede ser utilizado para introducir cifras en una aplicación, las cuales al
pulsar la tecla <ENTER>, serán asumidas en una "ListBox". Para facilitar el manejo y la
edición, serán necesarios dos botones y tres "Label".
Inicie Visual Studio, cree un nuevo proyecto y escoja entre las plantillas, "Aplicación de
Windows Form".
Arrastre desde la ventana "Cuadro de herramientas", los controles siguientes:
1x TextBox
1x ListBox
2x Buttons
7x Labels (tenga en cuenta que el primero y los últimos tres, se utilizarán solo como
textos "Cierre la entrada con <ENTER>, Máximo, Mínimo y Promedio")
Adapte las dimensiones de la ventana y coloque los controles como sigue:

Haga un doble clic sobre el formulario y se abrirá el editor en modo de código para
"Form1".
En la clase "Form1", introduzca el siguiente código:

'contenido inicial para Form1


'declarar variables globales
Private arr() As Double
Private max, min As Double
Private av As String

'comienzo de método
Private Sub calcul()
'variables locales
Dim sum As Double = arr(0)
min = arr(0)
'inicializar variables locales
max = arr(0)
Dim n As Integer = arr.Length - 1
For i As Integer = 1 To n
If arr(i) > max Then
max = arr(i)
Else
2

If arr(i) < min Then min = arr(i)


End If
sum += arr(i)
Next i
'calcular el promedio
sum = sum / (n + 1)
'asignar variables globales
av = sum.ToString("#0.00")
'fin del método
End Sub
'fin del inicio Form1

Se verá como sigue:

En la parte superior del editor, encontrará dos cuadros de dialogo que le serán útiles, ya
que le brindarán el cuadro o encabezamiento del bloque que desee escribir.
3

En el de la izquierda, busque "ListBox1" y en el de la derecha busque "KeyUp".


A continuación aparecerá en el editor de código el marco para el bloque correspondiente
al "TextBox"

Complete el código como sigue:

'TextBox
Private Sub TextBox1_KeyUp(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
'tecla <ENTER>
If (e.KeyCode = Keys.Enter) And (TextBox1.Text <> String.Empty) Then
'TextBox => ListBox
ListBox1.Items.Add(TextBox1.Text)
'TextBox-borrar contenido
TextBox1.Text = String.Empty
End If
End Sub
'fin del TextBox

Aquí se trata del "Event-Handler" para "KeyUp" del "TextBox", el cual traspasará la
entrada al "ListBox", cuando el usuario pulse <ENTER>. A continuación, se borrará el
contenido del "TextBox"
Ahora, busque en el cuadro de dialogo de la izquierda "Button1" y en el de la derecha
"Click". Se trata de otro "Event-Handler", esta vez, un "Click" del "Button1". Con esta
acción, se leerá el contenido del "ListBox" y se copiará en un Array, lo que realizará con
un bucle "For … Next". El primer registro del "ListBox" tiene del índex "0" en el Array.
Tras la llamada del método "calcul" se editarán los resultados.
Complete el código como sigue:

'Button1
'calculo
4

Private Sub Button1_Click(ByVal sender As System.Object, _


ByVal e As System.EventArgs) Handles Button1.Click
'determinar cantidad de registros en el ListBox
Dim n As Integer = ListBox1.Items.Count
'el ListBox tiene por lo menos un registro
If n > 0 Then
'dimencionar el Array
ReDim arr(n - 1)
For i As Integer = 0 To n - 1
Try
'copiar los valores del Array en el ListBox
arr(i) = Convert.ToDouble(ListBox1.Items(i))
'llamada del método
calcul()

'procesamiento de errores
Catch ex As Exception
MessageBox.Show(ex.Message, "Error")
End Try
Next i
'editar los resultados
Label1.Text = max.ToString()
Label2.Text = min.ToString()
'formatear número de coma flotante
Label3.Text = av
End If
End Sub
'fin de button1

El último "Event-Handler" implementa el borrado del grupo de cifras, así como de los
resultados, para así comenzar de nuevo desde el principio.
En el cuadro de dialogo de la izquierda busque "Button2" y en el de la derecha "Click" y
complete el código siguiente:

'button2
'borrar contenido
Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
ListBox1.Items.Clear()
'liberar recursos ocupados por el Array
arr = Nothing
TextBox1.Text = String.Empty
Label1.Text = String.Empty
Label2.Text = String.Empty
Label3.Text = String.Empty
End Sub
'fin button2

El editor se verá como sigue:


5

Cambie al editor en modo de diseño.


Los "Label" donde ha de mostrarse los resultados "Label2, Label3 y Label4", sustituya el
texto por un guión ( - ).
Modifique los textos de los "Label1, Label5, Label6 y Label7" y los botones, marcándolos
y escribiendo los textos correspondientes.
Hecho esto ha de verse como sigue:

El código completo será como sigue:

Public Class Form1


'contenido inicial para Form1
'declarar variables globales
Private arr() As Double
Private max, min As Double
6

Private av As String

'comienzo de método
Private Sub calcul()
'variables locales
Dim sum As Double = arr(0)
min = arr(0)
'inicializar variables locales
max = arr(0)
Dim n As Integer = arr.Length - 1
For i As Integer = 1 To n
If arr(i) > max Then
max = arr(i)
Else
If arr(i) < min Then min = arr(i)
End If
sum += arr(i)
Next i
'calcular el promedio
sum = sum / (n + 1)
'asignar variables globales
av = sum.ToString("#0.00")
'fin del método
End Sub
'fin del inicio Form1
nbsp;
'TextBox
Private Sub TextBox1_KeyUp(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp
'tecla <ENTER>
If (e.KeyCode = Keys.Enter) And (TextBox1.Text <> String.Empty) Then
'TextBox => ListBox
ListBox1.Items.Add(TextBox1.Text)
'TextBox-borrar contenido
TextBox1.Text = String.Empty
End If
End Sub
'fin del TextBox

'Button1
' calculo
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
'determinar cantidad de registros en el ListBox
Dim n As Integer = ListBox1.Items.Count
'el ListBox tiene por lo menos un registro
If n > 0 Then
'dimencionar el Array
ReDim arr(n - 1)
For i As Integer = 0 To n - 1
Try
'copiar los valores del Array en el ListBox
arr(i) = Convert.ToDouble(ListBox1.Items(i))
'llamada del método
calcul()

'procesamiento de errores
Catch ex As Exception
7

MessageBox.Show(ex.Message, "Error")
End Try
Next i
'editar los resultados
Label2.Text = max.ToString()
Label3.Text = min.ToString()
'formatear número de coma flotante
Label4.Text = av
End If
End Sub
'fin de button1

'button2
'borrar contenido
Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
ListBox1.Items.Clear()
'liberar recursos ocupados por el Array
arr = Nothing
TextBox1.Text = String.Empty
Label2.Text = String.Empty
Label3.Text = String.Empty
Label4.Text = String.Empty
End Sub
'fin button2
End Class

Pruebe el programa, pulsando la tecla de funciones "F5".

Вам также может понравиться