Para ello escribimos el siguiente codigo en el evento KeyPress del txtr2 (el segundo textbox):
Private Sub txtr2_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Val(txtr1.Text) < Val(txtr2.Text) Then
List1.Clear
Dim v As Integer
r1 = Val(txtr1.Text)
r2 = Val(txtr2.Text)
v = r1 - 1
Do While v < r2
v = v + 1
r = v ^ 2 'Aqui elevamos al cuadrado
List1.AddItem (v & " ^ " & 2 & " =" & r)
Loop
Else
MsgBox ("El valor del rango 1 debe ser menor que el rango 2")
End If
txtr1.Text = ""
txtr2.Text = ""
txtr1.SetFocus
End If
End Sub
El evento lo asignamos en la parte que esta en rojo de la imagen de la derecha.
Ahora explicare el codigo:
If KeyAscii = 13 Then : Pregunta que si presionamos la tecla "Enter" que corresponde al numero 13 entonces se ejecutara el codigo.
If Val(txtr1.Text) < Val(txtr2.Text) Then: Pregunta que si el valor del txtr1 es menor que el txtr2 entonces se ejecutara el codigo siguiente.
List1.Clear: Limpia el listbox.
Dim v As Integer: Declara la variable "v" como entero.
r1 = Val(txtr1.Text): Asigna a la variable r1 el valor de el txtr1.
r2 = Val(txtr2.Text): Asigna a la variable r2 el valor de el txtr2.
v = r1 - 1: Esto servira para inicializar el Do While, asignando a la variable v el valor de r1 y restandole 1 a ese valor.
Do While v < r2: Esto dice que mientras "v" sea menos que r2 ejecutar el codigo de abajo.
v = v + 1: Sirve para que el Do While corra.
r = v ^ 2: Asigna a la contante "r" la operacion que indica el valor de v elevado al cuadrado.
List1.AddItem (v & " ^ " & 2 & " =" & r): La funcion List1.AddItem añade los valores que estan entre parentesis al List.Box.
Loop: Aqui termina el Do While
Else: Esto significa "de lo contrario". Se refiere a la segunda pregunta anterior.
MsgBox ("El valor del rango 1 debe ser menor que el rango 2"): Define el mensaje box.
End If: Termina el segundo IF.
txtr1.Text = "": Limpia el txtr1.
txtr2.Text = "": Limpia el txtr2.
txtr1.SetFocus: Envia el cursor al txtr1.
End If: Termina el primer IF.
Publicar un comentario