TYPE OU O QUE?

USUARIO.EXCLUIDOS 24/05/2007 11:07:18
#218057
Veja o problema:

Tenho uma função que tem um parâmetro cujo valor só pode ser dois possíveis:
bjCodUsina ou bjCodUsinaUnidGer.

Para tal, criei no argumento da função uma variável do tipo Boolean, e no bloco If atribui ovalor True para bjCodUsina e False consequentemimente para bjCodUsinaUnidGer.

Porém, gostaria de saber se é possível criar algum tipo de dados ou se lá o que, que me retornasse os referidos nomes como possíveis argumento.

Pois, ao digitar a função:
ValidarCod (aqui deveria aparecer ao invés de True ou False, os nomes bjCodUsina e bjCodUsinaUnidGer)

Como faço isso?
RODRIGOMARCHESE 24/05/2007 11:33:57
#218065
Resposta escolhida
Private Enum NomeEnum
bjCodUsina = 0
bjCodUsinaUnidGer = 1
End Enum

Private vValor As NomeEnum

Private Function ValidarCod(vParametro As NomeEnum) As Boolean

If vParametro = bjCodUsina Then
ValidarCod = True
ElseIf vParametro = bjCodUsinaUnidGer Then
ValidarCod = False
End If

End Function

USUARIO.EXCLUIDOS 24/05/2007 12:02:26
#218074
Assim também tinha feiro.. mas, num é bem isso.. porque ainda continua usando If e atribuindo valor Boolean....

O que preciso mesmo é algo tipo seilá... acho que criar uma classe onde possa então apenas usar os dois valores...

O porque:

é que por enquanto apenas existem duas opções.. mas, futuramente existiram mais... daí o boolean já era!!!
USUARIO.EXCLUIDOS 24/05/2007 12:25:28
#218081
eh uma questao de usar os valores certos

Public Enum SeusValores
bjCodUsina = -1
bjCodUsinaUnidGer = 0
end Enum


Exemplo:
Public Enum test
a = -1
b = 0
End Enum

Public Sub testing()
If a Then
MsgBox "a is true"
End If
If b Then
MsgBox "b is true"
End If
If Not a Then
MsgBox "a is false"
End If
If Not b Then
MsgBox "b is false"
End If
End Sub


USUARIO.EXCLUIDOS 24/05/2007 13:19:02
#218093
Para você entender melhor....
Abra o arquivo e navegue pelo código.

Abra o código da P5 e veja um exemplo de uso da função.

Ao invés de estar digitado:
ValidarCodigo 2, False

gostaria que tivese:
ValidarCodigo 2, bjCodUsinaUnidGer

é isso.
USUARIO.EXCLUIDOS 24/05/2007 13:23:04
#218094
esta falhando para fazer o download, mas eh exatamente isso q vc precisa fazer se vc usar valor 0 para o false e valor -1 para o true
USUARIO.EXCLUIDOS 24/05/2007 13:26:36
#218096
é mesmo....
tá certo... eu já vi onde estava errado, não era nada com o Enum e sim com a ref. que eu estava fazendo no código fonte.... eu estava testando se era True ou False... quando deveria testar se era 0 ou 1.

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