SOMA COM NUMEROS NEGATIVOS - VISUAL BASIC

MARCOSSFERREIRA 10/06/2011 10:35:16
#376394
Bom dia pessoal, sei que pode ser uma coisa bem simples mas não consegui fazer. Seguinte:
Tenho tres textbox; Temperatura incial, temperatura final, Escala, sendo esta ultima a soma das duas. Porem a minha temperatura incial varia com numeros negativos e positivos, quando coloco numeros positivos da certo, mas numero negativos nao da. Por exemplo como faço pra que ao colocar na temperatura inicial o valor -10 e na temperatura final o valor 20 e na escala apareça 30 ao invez de dez, eu ja multipliquei por menos um porem quando o valor inicial é positivo ele passa a ser negativo.

Alguem pode me ajudar. Obrigado
ASHKATCHUP 10/06/2011 10:59:02
#376398

If ValorInicial < 0 then
Valor Inicial = Valor Inicial * -1
end if
ARCADYUM 10/06/2011 11:01:05
#376400
Resposta escolhida
Temperatura (Física) ou derivada (Matemática). Esta matérias chatas.
Marcos a dica do colega acima funciona, ou caso você deseje antes de realizar a soma das temepraturas, verifique se é negativa e converta para positiva com a multiplicação por menos 1. é outra dica.
Um Abraço.
MARCOSSFERREIRA 10/06/2011 11:23:01
#376408
Bom vamos lá acho que ficou mesmo mal explicado desculpem-me: segue abaixo exemplo do que preciso
temp Inicial valor 1
Temp final valor 10
Escala = 10 ( o intervalo de pontos de 1 a 10)

Se o numero da temp inicial for negativo entao:
Temp Inicial -2
Temp final 10
Escala = 12 ( Intervalo de -2 a 10 )
ASHKATCHUP 10/06/2011 12:37:38
#376420
Escala = TEmp Final - Temp Inicial
Como a Inicial é negativa, [Ô]menos- com menos vira mais[Ô]
MARCOSSFERREIRA 10/06/2011 13:08:51
#376426
Ok amigo mas não é tao simples por que quando for temp inicial igual a positvo, eu vou subtrair e nao é isso que eu quero.
Seria exatamente isso:
If ValorInicial < 0 then
Valor Inicial = Valor Inicial * -1
end if

Porem nao funcionou ele multiplica tambem quando é maior que zero.
ARCADYUM 10/06/2011 15:14:34
#376440
Marcos,
Veja se Atende

Dim TEMP_INICIAL As Long
Dim TEMP_FINAL As Long
Dim ESCALA As Long

TEMP_INICIAL = Text1.Text
TEMP_FINAL = Text2.Text

If TEMP_INICIAL > 0 And TEMP_FINAL > 0 Then
TEMP_INICIAL = TEMP_INICIAL - 1
End If

If TEMP_INICIAL < 0 And TEMP_FINAL > 0 Then
TEMP_INICIAL = (TEMP_INICIAL * (-1))
TEMP_INICIAL = TEMP_INICIAL
End If

If TEMP_INICIAL > 0 And TEMP_FINAL < 0 Then
TEMP_FINAL = (TEMP_FINAL) * (-1)
TEMP_FINAL = TEMP_FINAL - 1
End If

ESCALA = TEMP_INICIAL + TEMP_FINAL

Text3.Text = ESCALA


ARCADYUM 10/06/2011 15:16:12
#376441
Marcos,
Esqueci de avaliar temperaturas iguais. Segue corrigido.

Dim TEMP_INICIAL As Long
Dim TEMP_FINAL As Long
Dim ESCALA As Long

TEMP_INICIAL = Text1.Text
TEMP_FINAL = Text2.Text

If TEMP_INICIAL > 0 And TEMP_FINAL > 0 Then
TEMP_INICIAL = TEMP_INICIAL - 1
End If

If TEMP_INICIAL = TEMP_FINAL Then
ESCALA = 0
End If

If TEMP_INICIAL < 0 And TEMP_FINAL > 0 Then
TEMP_INICIAL = (TEMP_INICIAL * (-1))
TEMP_INICIAL = TEMP_INICIAL
End If

If TEMP_INICIAL > 0 And TEMP_FINAL < 0 Then
TEMP_FINAL = (TEMP_FINAL) * (-1)
TEMP_FINAL = TEMP_FINAL - 1
End If

ESCALA = TEMP_INICIAL + TEMP_FINAL

Text3.Text = ESCALA
MARCOSSFERREIRA 10/06/2011 15:27:42
#376442
Perfeito é exatamente isso. Muitissimo Obrigado. Agora posso continuar a quebrar a cabeça com Sqlite. Obrigado mesmo.
ARCADYUM 10/06/2011 15:40:25
#376443
Marcos,
Você verificou a mensagem interna enviada a você?
Tem algumas questões que esse código não verifica.
Aguardo uma resposta.
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas