# I don't understand this...

## Recommended Posts

So, I have a condition to test, that a pixel color is in a certain value range. When I use an "IF" statement to perform the test, it doesn't work, but if I use a switch statement, it does. Check it out:

This works:

```\$swVal = PixelGetColor(\$x, \$y)

Switch (\$swVal)
Case (\$RED-100000) To (\$RED+100000)
\$lineState[\$LN - 1] = 2
Return True
EndSwitchoÝ÷ Ù8b±Ú²z-jëh×6\$swVal = PixelGetColor(\$x, \$y)

if (\$swVal>(\$RED-100000)) then
if (\$swVal<(\$RED+100000)) then
\$lineState[\$LN - 1] = 2
Return True
endif
endif```

It seems to me that these should test the same, but they don't. Any ideas on why this is? The code works with the Switch statement, but it seems wanky to me, and I want to understand _why_.

Thoughts?

##### Share on other sites

So, I have a condition to test, that a pixel color is in a certain value range. When I use an "IF" statement to perform the test, it doesn't work, but if I use a switch statement, it does. Check it out:

This works:

```\$swVal = PixelGetColor(\$x, \$y)

Switch (\$swVal)
Case (\$RED-100000) To (\$RED+100000)
\$lineState[\$LN - 1] = 2
Return True
EndSwitchoÝ÷ Ù8b±Ú²z-jëh×6\$swVal = PixelGetColor(\$x, \$y)

if (\$swVal>(\$RED-100000)) then
if (\$swVal<(\$RED+100000)) then
\$lineState[\$LN - 1] = 2
Return True
endif
endifoÝ÷ Ølyé¬¶¶­¶¬zÈhºWmzËmëæî¶Ø^ÉÚ'ßÛ@(y«(r¶¬ÄáyÊ{
+Ì"¶ay,"µÈlµ«^éínëb¶ÇÌL­¢gÒ0j{m¢éÝz»-jwp\$á¢è!¶Ïêº^²,Þsû)jì7=êáj+,¹ì"¶az«z{azØj[¬j¢Ö¥&§¡»º· ­«)jÖ ¹ë,²)Üz+wöÈî²×!yÉ"®ç¨¬V¥±êÞ²'±ì!Èr¢êÜ¡×¥¢,¶Þ~)Þzk¢øx÷­+µë-jëh×6\$swVal = PixelGetColor(\$x, \$y)

If \$swVal > (\$RED - 100000) Then
If \$swVal < (\$RED + 100000) Then
\$lineState[\$LN - 1] = 2
Return True
EndIf
EndIf```

Edit: The "enclosing" parentheses don't seem to be an issue with another test script I did, but again... I'm grasping here

Edited by Monamo

- MoChr(77)& Chr(97)& Chr(100)& Chr(101)& Chr(32)& Chr(121)& Chr(97)& Chr(32)& Chr(108)& Chr(111)& Chr(111)& Chr(107)-------I've told you 100,000 times not to exaggerate!-------Don't make me hit you with my cigarette hand...-------My scripts:Random Episode Selector, Keyboard MouseMover, CopyPath v2.1, SmartRename for XP,Window Tracer[sup]New![/sup]

##### Share on other sites

Gee, I found this problem yesterday, and now that I come back to it all 3 method work.

woof.

I need some rest, I guess. Sorry for wasting your time, I should have re-checked again today.

##### Share on other sites

Solution probably looked like:

```\$swVal = PixelGetColor(\$x, \$y)

if (\$swVal >= (\$RED-100000) AND \$swVal <= (\$RED+100000)) then
\$lineState[\$LN - 1] = 2
Return True
endif```

## Create an account

Register a new account

×

• Wiki

• Back

• #### Beta

• Git
• FAQ
• Our Picks
×
• Create New...