06-21-2010, 09:57 AM
I think there's something I'm missing about the way #define values are calculated, look:
What's the problem?
I think #defined values are simple labels calculated by the preprocessor. Is it right? Is there any limit about the depth of the calculated values?
Code:
#define screenFirstCol 0
#define screenLastCol 31
#define borderFirstCol screenFirstCol
#define borderLastCol screenLastCol
#define oWinFirstCol borderFirstCol+1
#define oWinLastCol borderLastCol-1
' Wrong result, 32 instead of 30:
#define oWinWidth oWinLastCol-oWinFirstCol+1
cls
print "Expected values in cramps:"
print
print "screenFirstCol(0)=";screenFirstCol
print "screenLastCol(31)=";screenLastCol
print "borderFirstCol(0)=";borderFirstCol
print "borderLastCol(31)=";borderLastCol
print "oWinFirstCol(1)=";oWinFirstCol
print "oWinLastCol(30)=";oWinLastCol
' Wrong result, 32 instead of 30:
print "oWinWidth(30)=";oWinWidth
pause 0
stop
What's the problem?
I think #defined values are simple labels calculated by the preprocessor. Is it right? Is there any limit about the depth of the calculated values?
Marcos Cruz
http://programandala.net
http://programandala.net