MELHORANDO O CODIGO

ROGERIOAZEVEDO 24/03/2012 14:01:42
#398148
Como melhorar o código abaixo com CASE?


Dim gerente As Single

If Val(Textbox3.Text) >= 1 And Val(Textbox4.Text) >= 1 Then
gerente = Textbox1.Text
If gerente < 95 Then
Textbox2.Text = [Ô]0.00[Ô]
Else
If gerente >= 95.0 And gerente <= 99.9 Then
Textbox2.Text = [Ô]0.03[Ô]
Else
If gerente >= 100 And gerente <= 105 Then
Textbox2.Text = [Ô]0.08[Ô]
Else
If gerente > 105 And gerente <= 110 Then
Textbox2.Text = [Ô]0.13[Ô]
Else
If gerente > 110 And gerente <= 115 Then
Textbox2.Text = [Ô]0.20[Ô]
Else
If gerente > 115 And gerente <= 120 Then
Textbox2.Text = [Ô]0.30[Ô]
Else
If gerente > 120 And gerente <= 125 Then
Textbox2.Text = [Ô]0.43[Ô]
Else
If gerente > 125 And gerente <= 130 Then
Textbox2.Text = [Ô]0.58[Ô]
Else
If gerente > 130 Then
Textbox2.Text = [Ô]0.75[Ô]

End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
LVFIOROT 24/03/2012 15:21:52
#398150
If Val(Textbox3.Text) >= 1 And Val(Textbox4.Text) >= 1 Then
Textbox2.Text = Regra(Val(Textbox1.Text))
End If

Function Regra(V1 As Long) As String

Select Case V1
Case Is < 95
Return [Ô]0.00[Ô]
Case 95 To 100
Return [Ô]0.03[Ô]
Case 100 To 105
Return [Ô]0.08[Ô]
Case 105 To 110
Return [Ô]0.13[Ô]
Case 110 To 115
Return [Ô]0.20[Ô]
Case 115 To 120
Return [Ô]0.30[Ô]
Case 120 To 115
Return [Ô]0.43[Ô]
Case 125 To 130
Return [Ô]0.58[Ô]
Case Else
Return [Ô]0.75[Ô]
End Select

End Function
LVFIOROT 24/03/2012 15:46:53
#398152
Resposta escolhida
melhorado

      Function Regra(V1 As Decimal) As String
Select Case V1
Case Is < 95
Return [Ô]0.00[Ô]
Case Is < 100
Return [Ô]0.03[Ô]
Case Is <= 105
Return [Ô]0.08[Ô]
Case Is <= 110
Return [Ô]0.13[Ô]
Case Is <= 115
Return [Ô]0.20[Ô]
Case Is <= 120
Return [Ô]0.30[Ô]
Case Is <= 115
Return [Ô]0.43[Ô]
Case Is <= 130
Return [Ô]0.58[Ô]
Case Else
Return [Ô]0.75[Ô]
End Select
End Function
LVFIOROT 24/03/2012 15:50:16
#398154
com if tambem fica simples, se for assim

          Dim gerente As Single

If Val(TextBox3.Text) >= 1 And Val(TextBox4.Text) >= 1 Then
gerente = TextBox1.Text
If gerente < 95 Then
TextBox2.Text = [Ô]0.00[Ô]
ElseIf gerente < 100 Then
TextBox2.Text = [Ô]0.03[Ô]
ElseIf gerente <= 105 Then
TextBox2.Text = [Ô]0.08[Ô]
ElseIf gerente <= 110 Then
TextBox2.Text = [Ô]0.13[Ô]
ElseIf gerente <= 115 Then
TextBox2.Text = [Ô]0.20[Ô]
ElseIf gerente <= 120 Then
TextBox2.Text = [Ô]0.30[Ô]
ElseIf gerente <= 125 Then
TextBox2.Text = [Ô]0.43[Ô]
ElseIf gerente <= 130 Then
TextBox2.Text = [Ô]0.58[Ô]
Else
TextBox2.Text = [Ô]0.75[Ô]
End If
End If
OCELOT 24/03/2012 15:51:29
#398155
O melhor mesmo seria você ter estas regras cadastradas no banco de dados e fazer uma consulta para achar a correta
LVFIOROT 24/03/2012 15:57:33
#398157
Citação:

:
O melhor mesmo seria você ter estas regras cadastradas no banco de dados e fazer uma consulta para achar a correta


com certeza é a melhor opção, se nao na camada de negocio
ROGERIOAZEVEDO 24/03/2012 18:09:50
#398160
Boa tarde.

Muito obrigado pelas contribuições.

O lance é que os dados são digitáveis. A aplicação é uma calculadora. Abraços.
Tópico encerrado , respostas não são mais permitidas