Código 2015
-
Upload
daniel-quispe -
Category
Documents
-
view
26 -
download
2
description
Transcript of Código 2015
-
IndicadorCircular
Roberto Priegue
15/08/2013
EjerciciosdeVisualBasic
-
Ejercicios de Visual Basic
Roberto Priegue
1. Ejercicio:IndicadorCircular
Para este ejercicio se han empleado los siguientes objetos:
OvalShape: 1
LineShape: 1
TrackBar: 1
Label: 1
En esta ocasin, se quiere realizar un indicador circular que se posicione segn un valor dado
por el usuario, resultado de alguna operacin, etc. En este caso, y para simplificar el programa, ese
valor ir de 0 a 360, que son los grados de una circunferencia.
El valor que se representar con el indicador circular vendr dado por el usuario a travs del
TrackBar localizado en la parte inferior de la aplicacin. ste valor se muestra numricamente
mediante el Label situado a la derecha del TrackBar.
La base del programa est en situar el punto final del LineShape, para que el valor introducido
por el usuario se vea reflejado en la circunferencia del indicador. Para ello se emplea una funcin
que calcula la posicin en X e Y a travs del seno y el coseno del ngulo. Para la longitud del
LIneShape se toma como referencia el radio de la circunferencia.
1.1 Aplicacin
-
Ejercicios de Visual Basic
Roberto Priegue
1.2 Cdigo
1.2.1 FormularioPrincipal
Public Class Form1
Dim angulo As Double
''' CDIGO PRINCIPAL '''
'Cdigo que se ejecuta al desplazar el TrackBarPrivate Sub TB_Control_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles TB_Control.Scroll
angulo = ConverRtoG(TB_Control.Value) LS_Linea.EndPoint = getPoint() Lb_Valor.Text = TB_Control.Value.ToString
End Sub
'Cdigo que se ejecuta al pulsar el botnPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
LS_Linea.EndPoint = getPoint() End Sub
''' CDIGO AUXILIAR '''
'Cdigo que devuelve el punto final de la lnea indicadoraFunction getPoint()
Dim Rdo As PointDim x As IntegerDim y As Integer
x = LS_Linea.StartPoint.X + getPosX(50, angulo) y = LS_Linea.StartPoint.Y + getPosY(50, angulo)
Rdo = New Point(x, y)
Return Rdo
End Function
'Funcin que devuelve el valor que debe tener XFunction getPosX(ByVal hipotenusa As Double, ByVal angulo As Double)
Dim Rdo As Double
Rdo = Math.Cos(angulo) * hipotenusa
Return Rdo
End Function
'Funcin que devuelve el valor que debe tener YFunction getPosY(ByVal hipotenusa As Double, ByVal angulo As Double)
-
Ejercicios de Visual Basic
Roberto Priegue
Dim Rdo As Double
Rdo = Math.Sin(angulo) * hipotenusa
Return Rdo
End Function
'Funcin que convierte Radianes en GradosFunction ConverRtoG(ByVal grados As Double)
Dim Rdo As Double
Rdo = grados * Math.PI / 180
Return Rdo
End Function
End Class