do case >>>>>>> case not this.HaveCar() >>>>>>> case not this.HaveLicense() >>>>>>> case this.isDrunk() >>>>>>> case this.isTired() >>>>>>> case this.getCar().getTank().isEmpty() >>>>>>> otherwise >>>>>>> lCanDrive=.t. >>>>>>>endcase>>>>>>>
l=.t. >>>>>l= l and this.HaveCar() >>>>>l= l and this.HaveLicense() >>>>>... >>>>>if not l >>>>> *-- report error >>>>>endif >>>>>return l>>>>>I know, this relies on VFP not executing any code past the point where l becomes .f., but I think the fears that this may change are unbased. The short logic hasn't changed since 1988, then why should it ever change?
>L=.NULL. >L=L AND (1=1) >?L && .NULL. >L=L AND (1<>1) >?L && .F. >>Regards,
clear L=.T. L=L AND (MESSAGEBOX("misunderstanding")=NULL) ?L && .null. L=L AND (MESSAGEBOX("Hi Jim")<>1) ?L && .F. L=L AND (MESSAGEBOX("not show")<>null) ?L && .f.