CALCULO

BLACKPIC 14/08/2013 09:39:36
#427518
Olá,

tenho uma aplicação que recebe um arquivo.txt (que não pode ser editado) que contém um valor tipo 009 que preciso utilizar para um calculo simples.

If Text1.Text > Label12.Caption Then
Text2.ForeColor = vbRed

onde text1 já contem o valor 009 e label12 já assumiu seu caption como 10.

o que acontece é que a text2 assume forecolor vermelho, quando não deveria.

A pergunta é , como reduzir as casas decimais do [Ô]009[Ô] para [Ô]9[Ô]? Não quero aumentar casas no [Ô]10[Ô] para ficar [Ô]010[Ô]

Valeu
BLACKPIC 15/08/2013 13:54:28
#427583
Consegui resolver um caso com o [Ô]Round[Ô], mas ainda estou tendo problemas, ainda tem casos em que 10 não é maior que 9.

tem alguma coisa a ver com as casas decimais?

Foi isso que usei em um outro caso.
label1.Caption = Round(label1.Caption, 1)

abraço
MARCELO.TREZE 15/08/2013 14:08:47
#427586
Resposta escolhida
colega a situação é a seguinte, tanto a propriedade text fo textbox como a propriedade caption do label, são strings, o que causa o problema, para contornar use CInt para converter para inteiro ou CDbl para double.

diferenças

cint numeros 1,2,3,4,5...
cdbl numeros 1.01, 2.3, 5.7...ou seja valores fracionados

bom veja como fica seu código

If [txt-color=#0000f0]CInt([/txt-color]Text1.Text[txt-color=#0000f0])[/txt-color] > [txt-color=#0000f0]CInt([/txt-color]Label12.Caption[txt-color=#0000f0])[/txt-color] Then
Text2.ForeColor = vbRed

e pronto seu código irá funcionar, mesmo que vc coloque 10, 010, 000010, ou 009, o cint simplesmente ignora estes zeros
MARCELO.TREZE 15/08/2013 14:12:47
#427587
esqueci de explicar a melhor maneira de se trabalhar com cálculos é criando váriaveis, ex:

Dim ValorA As Integer
Dim ValorB As Integer

ValorA = Text1.Text
ValorB = Label12.Caption

If ValorA > ValorB Then
Text1.ForeColor = vbRed
Else
Text1.ForeColor = vbGreen
End If


BLACKPIC 15/08/2013 14:42:03
#427591
Agora entendi, muito obrigado.
Abraço.
MARCELO.TREZE 15/08/2013 15:03:56
#427592
Não esquece de encerrar colega.

Tópico encerrado , respostas não são mais permitidas