none
como faço para criar uma barra que indique a temperatura ? RRS feed

  • Pergunta

  • ola pessoal eu tenho um projeto que é o seguinte:
    eu criei um form que recebera um valor de temperatura e preciso que ele exiba este valor em uma barra se possível.
    eu já exibo o valor em uma textBox mas não faço ideia de como representar a temperatura em uma barra. por exemplo:

    se temperatura > 0 &  < 19 [a barra fica em verde]
    se temperatura > 19 &  < 35 [a barra fica em Laranja] e
    se temperatura > 35 [barra fica em vermelho]

    não sei se me entendem. a temperatura que sera fornecida é do ambiente interno de um automóvel com o ar condicionado ligado.

    Agradeço dez de já! Por Favor me ajudem.

    

    o código do meu form ta assim:

    Public Class Form1
        Private Sub BtnConnect_Click(sender As System.Object, e As System.EventArgs) Handles BtnConnect.Click
            Timer1.Enabled = True
        End Sub
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Dim StrValor As String
            StrValor = " "
            With SerialPort1
                If .IsOpen = True Then .Close()
                .PortName = "COM5"
                .BaudRate = "9600"
                .Parity = IO.Ports.Parity.None
                .DataBits = "8"
                .StopBits = IO.Ports.StopBits.One
                SerialPort1.Open()
                StrValor = .ReadLine()
                TxtTmperatura.Text = StrValor
                SerialPort1.DiscardInBuffer()
            End With
            Timer1.Enabled = False
        End Sub
        Private Sub BtnDesconnect_Click(sender As Object, e As EventArgs)
            Timer1.Enabled = False
        End Sub
        Private Sub BtnCancel_Click(sender As Object, e As EventArgs) Handles BtnCancel.Click
            If Timer1.Enabled = True Then
                Timer1.Enabled = False
            Else
            End If
            If MessageBox.Show("Deseja mesmo cancelar?", My.Application.Info.Title, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                Me.Close()
            Else
                Timer1.Enabled = True
            End If
        End Sub
        Private Sub BtnLimpar_Click(sender As Object, e As EventArgs) Handles BtnLimpar.Click
            If Timer1.Enabled = True Then
                Timer1.Enabled = False
            Else
            End If
            If MessageBox.Show("Você perdera todos os dados obtidos! Deseja mesmo Limpar ? ", My.Application.Info.Title, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                TxtTmperatura.Clear()
            End If
        End Sub
    End Class

    sábado, 27 de setembro de 2014 01:24

Respostas

  • Bom dia,

    Não sei se é possível sem um sensor, mas de qualquer forma tem esse código, sei que você tem que criar algo relacionado ao WMI e fazer com que ele se comunique através do VB.

    No sensor, no go. Here is the vb.net code snippet to get a CPU temperature.

    Code Block

    Public Class Form1

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click

            Try

                Dim searcher As New ManagementObjectSearcher( _

                    "root\WMI""SELECT * FROM MSAcpi_ThermalZoneTemperature")

     

                For Each queryObj As ManagementObject In searcher.Get()

                    Dim temp As Double = CDbl(queryObj("CurrentTemperature"))

                    temp = (temp - 2732) / 10.0

                    MessageBox.Show(temp.ToString)

                Next

            Catch err As ManagementException

                MessageBox.Show("An error occurred while querying for WMI data: " & err.Message)

            End Try

        End Sub

    End Class

    Att,


    Ricardo Cortes Microsoft Contingent Staff

    Esse contedo e fornecido sem garantias de qualquer tipo, seja expressa ou implicita.

    MSDN Community Support

    quarta-feira, 1 de outubro de 2014 13:46