Академический Документы
Профессиональный Документы
Культура Документы
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:
'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
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
'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
'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
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