Código 2015

4
Indicador Circular o Priegue 2013 sic

description

Codigo Especifico 2015

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