Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
I wish this was in VFP and not VB.....
Message
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00519713
Message ID:
00520724
Views:
35
>>>>#DEFINE's are string translations that take place at compile-time not run-time. That is, when PRG's etc. are converted into FXP's or EXE's etc.
>>>
>>>Houston,
>>>
>>>This isn't correct if the #DEFINE contains a function such as your INLIST() example. These are evaluated at run-time.
>>
>>George,
>>I just entered the following code into VFP6 SP3 running on NT4 SP6.
#DEFINE Sunday 1
>>#DEFINE Saturday 7
>>#DEFINE AWeekend   INLIST( iDayOfWeek, Saturday, Sunday )
>>
>>CLEAR
>>dCurrent = DATE()
>>iDayOfWeek = DOW( dCurrent )
>>IF (AWeekend) THEN
>>   ? "Yes it's a weekend."
>>ELSE
>>   ? "Not a weekend"
>>ENDIF
In my Edit, Preferences, I have 'Compile when saved' checked. After compiling the prg and running it for today (Monday), I get "Not a weekend", and then I changed the date to Sunday using my system clock and immediately ran the prg again (without any modifications and/or recompiling) - as expected the message changed to "Yes it's a weekend."
>>
>>If the INLIST() is 'evaluated' at compile-time, why does the message change?
>
>Hi Houston,
>
>Look, that George wrote to you:
>>>This isn't correct if the #DEFINE contains a function such as your INLIST() example. These are evaluated at run-time.
>
>With whom do you argue? :)

Hi Nadya,

With George! Since it was he that stated my example was not correct. Some additional hints: my reply was to George and I started the message with 'George'.

I really hope I have not woke up to a 'Ground Hog Day' experience :-)
censored.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform