Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
M.var=bof() or eof() or m.var WHAT???
Message
From
16/07/2001 13:03:47
 
 
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00530035
Message ID:
00531084
Views:
20
>>I'm not sure about using parentheses, I've been told by Microsoft support that they can affect how code works.
>>
>>Some years ago, I had a problem with Foxpro 2.5 and an SQL select returning unexpected results, after several calls, one support engineer asked to see a copy of the code, which was in the form :
>>
>>select ..... where (a=b) AND (c=d) AND (e=f)
>>
>>he asked me why the parentheses were there - so I told him to aid readability - & in all seriousness he told me that they weren't necessary & if I removed them then the select would work correctly.
>>
>>(At that point, I was actually desperate enough to try & of course it didn't work. Since then I've been very dubious about the quality of MS tech support.)
>
>I am a big fan of parentheses. I do believe that not only can it afford better readability in a particularly complex logical evaluation, it is also a clean and sure way to force or obtain a logical evaluation in a particular order.
>
>For example take the expression where d and e are actually equal values, and a, b, and c are discrete and different from d
>
>IF a=b AND b=c OR d=e
>
>if my memory serves me, VFP will evaluate the expression left to right and the result will be TRUE. If we place a parentheses thus,
>
>IF (a=b AND b=c) OR d=e, the result will be TRUE again. However, if we shift the parentheses, and consider a=b AND (b=c OR d=e), the result is FALSE.
>
>Len, in your example with 2 AND's, a bracket will make no difference to the outcome.

Now there goes another one taking me seriously - I prefer brackets/parantheses & would go a little further than you
IF ((a=b) AND (b=c)) OR (d=e)
etc - removes any doubt about how the AND applies - for example
IF a = b AND c
is that
IF a = (b AND c)
or
IF (a=b) AND c
I use them in all places where there is even the slightest hint of ambiguity, despite the advice from Microsoft Support.
Len Speed
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform