Cuadrados perfectos en Visual Basic 6.0

El siguiente programa elevara al cuadrado una lista de numeros de acuerdo al rango de inicio y final que le indiquemos. Presionando la tecla "Enter" cuando estemos en el txtr2. Para elaborar el programa necesitaremos 2 textbox llamados txtr1 y txtr2 en la propiedad name de cada uno de los textbox. Y un listbox que se llamara List1.

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