That's the spirit!
>I think your hate is misplaced.
llRetVal didn't write that code :)
>
>>Jim, you couldn't see the tongue in my cheek!
>>I
hate llRetVal!
>>My point was; what could be more clear than:
>>
>>FUNCTION Myfunction
>>RETURN Blah1 OR Blah2
>>
?
>>>Hi David,
>>>
>>>Obviously the originator didn't understand the construction observed.
>>>
>>>It is for that reason that I will generally expand it along the lines that Craig did - why waste anyone's time trying to figure out something can can be expressed much more clearly?
>>>
>>>In your second example, though, it is the "llRetVal" that always irks me. What *real* use the "ll" has in there always eludes me. I think that ReturnValue is much clearer. We know returns are logicals and we can be careful to declare it local too. I don't know where a non-local would have much use on a RETURN, really.
>>>
>>>JimN
>>>
>>>
>>>>Hi Craig,
>>>> you know I'm feeling narky today so why not...
>>>>
>>>>>X = BOF() OR EOF() OR THIS.TOPFILE
>>>>>IF M.X = .T.
>>>>> THIS.TOPFILE = .T.
>>>>>ELSE
>>>>> THIS.TOPFILE = .F.
>>>>>ENDIF
>>>>
>>>>It just takes up that extra line :-))
>>>>But seriously, I often see code in production like your example and wonder "why?"
>>>>BTW, I know it was meant to explain to Todd what was going on, so I'm not having a go at you.
>>>>
>>>>I really love this sort of coding...
>>>>
>>>>FUNCTION Myfunction
>>>>* This function returns true if either or both Blah1 or Blah2 are true.
>>>>LOCAL llRetVal
>>>>llRetVal = .F.
>>>>IF Blah1 OR Blah2
>>>> llRetVal= .T.
>>>>ELSE
>>>> llRetVal= .F.
>>>>ENDIF
>>>>RETURN llRetVal
>>>>
>>>>I've seen that so often! ROFL!
>>>>
>>>>In any case
>>>>THIS.TOPFILE = THIS.TOPFILE OR EOF() OR BOF()
>>>>would normally be best, since it may reduce the overall number of function calls.
>>>>
>>>>
>>>>>It can be rewritten as
>>>>>
>>>>>
>>>>>IF BOF() OR EOF() OR THIS.TOPFILE
>>>>> THIS.TOPFILE = .T.
>>>>>ELSE
>>>>> THIS.TOPFILE = .F.
>>>>>ENDIF
>>>>>
>>>>>
>>>>>>This statement is contained in a class generated through the Application Wizard.
>>>>>>
>>>>>>
>>>>>>THIS.TOPFILE = BOF() OR EOF() OR THIS.TOPFILE
>>>>>>
>>>>>>
>>>>>>I have never seen a statement setting a variable/property = something with additional 'or' conditions.
>>>>>>
>>>>>>Could someone explain?
>>>>>>
>>>>>>Many thanks,
>>>>>>
>>>>>>Todd