Ir para o conteúdo
a3deluxe

[Resolvido] Ajuda Erro Programa Estado Bateria PC

Mensagens Recomendadas

a3deluxe

Boa noite,

Preciso de uma ajudinha, tenho um erro no meu programa,

O Programa consiste em mostrar o estado da bateria do meu PC.

O código que estou a usar é este, e funciona bem:

//
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick

	Dim ESTADO As Type = GetType(PowerStatus)
	Dim PROPIEDADES As PropertyInfo() = ESTADO.GetProperties
	Dim CARGA As PropertyInfo = PROPIEDADES(3)
	Dim VALOR As Object = CARGA.GetValue(SystemInformation.PowerStatus, Nothing)

	Label1.Text = (VALOR * 100) & " %"

	ProgressBar1.Value = VALOR * 100
	Dim CONECTADO As PropertyInfo = PROPIEDADES(0)
	Dim CONEXION As Object = CONECTADO.GetValue(SystemInformation.PowerStatus, Nothing)
	If CONEXION = 1 Then

		PictureBox4.Visible = True
		SendMessage(ProgressBar1.Handle, 1040, 3, 0)

	Else

		PictureBox4.Visible = False
		SendMessage(ProgressBar1.Handle, 1040, 1, 0)

	End If
	Dim TIEMPO As PropertyInfo = PROPIEDADES(4)
	Dim SEGUNDOS As Object = TIEMPO.GetValue(SystemInformation.PowerStatus, Nothing)

End Sub 
Agora adicionei o código seguinte é que dá o erro (imagem em baixo),queria quando a bateria tivesse nos 10% ( Label1 = 10 )

mostra-se uma MsgBox.

//

Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick

		If Label1.Text = 10 Then  '----> erro aqui

		MessageBox.Show("Bateria Fraca,Ligue o Tablet à corrente.")

	End If
End Sub  
 

jMxOM7R.jpg

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Cerzedelo

O que aparenta, é que está a atribuir a uma variável do tipo double, um valor de 2 %, o símbolo % não é um número e não pode ser utilizado com o tipo double.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
gadelhas

gadelhas, já tinha tentado, não da o erro, mas não funciona.

Tentaste com o "%"; assim;

If Label1.Text = "10 %" Then

Na realidade não estás a fazer as coisas como deve ser. utiliza o valor da variável "VALOR", no Timer3

Ou seja;

If (VALOR*100) <= 10 Then

Mas tens de a declarar primeiro Global, pois ela é local ao Timer1

- Edit: Sorry pela formatação

Editado por gadelhas

Abraço Gadelhas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
gadelhas

Obrigado gadelhas, era isso mesmo,

em qualquer das duas opções funcionou bem.

Mais uma vez obrigado.

Great! :thumbsup:


Abraço Gadelhas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.