Free Trial

Fórum

SOLUCIONADO

Dúvida - Usar o Conteúdo de uma String como "Operador de Comparação"

pradogcf
Átomo

Olá Pessoal, bom dia!! essa é minha primeira postagem no fórum. Espero estar fazendo corretamente...

Estou com uma dúvida!! Num projeto interno consideramos em deixar um arquivo disponibilizado para "Negócios" inserir a regra de negócios conforme validade e necessidade.
No conteúdo desse arquivo existe um field/coluna chamado [OPERADOR] que indicaria ">=" ou "<=" ou "=" ou "<" ou ">" e outro field/coluna chamado [VALOR_COMPARADO] com qualquer value.

Estou tentando, porém sem sucesso algum e não sei se é possível utilizar, o conteúdo da "string" e do "int" para compor a expresão de comparação via fórmula e deixar o projeto rodar limpo sem "hard code no código". (obviamente poderia setar essas configurações direto na formula, mas ficaria dependente de alteração toda vez que a regra mudar...o que não é o desejo inicial).

 

Para simplificar o exemplo projeto faz seu processamento e retorno por exemplo o valor 10.

Então na formula faria:  If 10 [OPERADOR] [VALOR_COMPARADO] then A else B endif.

 

Alguém já passou por isso ou tem alguma dica?

 

Obrigado e abs!

 

 

3 RESPOSTAS 3
carlosteixeira
15 - Aurora
15 - Aurora

Bom dia @pradogcf 

 

Faz um IF na sua fórmula.

 

IF [Operador]='>=' THEN (If 10>= [VALOR_COMPARADO] then A else B endif)

ELSE IF [Operador]='<='  THEN (If 10<= [VALOR_COMPARADO] then A else B endif)...

...

Else '0' Endif

 

Assim você contempla todas as combinações.

 

Veja se funciona

Carlos A Teixeira
nicolascorreiacolombo
13 - Pulsar
13 - Pulsar

Olá @pradogcf , vou aproveitar a ideia do @carlosteixeira e mostrar que você também pode utilizar o switch.

nicolascorreiacolombo_0-1674568215984.png

 

Qualquer coisa só avisar, que ajudamos.

Abraço.

 

pradogcf
Átomo

opa....legal!
ambas as soluções conceituais funcionaram aqui.... valeu a ideia..
Implementei as 2 inclusive pra brincar de resultado equal e funfou!! :)
valeu..boa semana a todos!!

Rótulos