vba - Enum condition behavior : enum_Var = str1 Or str2 -
(i use simple example , not original code, not relevant)
i wanted make if statement on enum, or. excel vba editor suggested use kind of syntax : if current = apple or peach then(dropdown choice, see below)
well, curious why not. figured out while testing behavior wasn't 1 expect :
public enum fruit apple peach banana end enum public sub pick() dim current fruit current = banana if current = apple or peach '//the condition true msgbox "toc" end if end sub indeed, in code, if true. not don't know why : think peach evaluated integer or so, beeing different 0, it's true. proof, if in enum fruit declaration, peach forced 0, it's false.
public enum fruit apple peach = 0 banana end enum public sub pick() dim current fruit current = banana if current = apple or peach '//the condition false time msgbox "toc" end if end sub my question (yeah, not vital, understanding) : why hell editor suggest me drop down list in above screenshot ? feel there hidden there...
thank feedback, valentin.
edit not looking way write condition (as quiet obvious if current = apple or current = peach then). question relates drop down list suggestion.
maybe because enum representation of integer constants , used masking.
so in example apple = 0, peach = 1, banana = 2
with or , and can combine values, used bit masking. ur example values wouldn't make sense. use bit values 1, 2, 4, 8, 16.
and if want set option can 1 or 2, mask first 2 bits (=3) represent both options should used.
Comments
Post a Comment