Get Rid of PUBLIC Variables
Well, in my programming techniques, I try very hard to avoid using PUBLIC variables. Then you ask me, how I can manage without using them ?? Avoiding Public variables has one common thing with avoiding smoking/drinking: you need the strong drive !! :)
This time, I tell you my way, I have one function called dPublic() - simulating the similar task with PUBLIC statement, as follows:
// dPublic() Function
#define PUB_NAME 1
#define PUB_VALUE 2
static _dPublic_ :=
function dPublic( cVarName, xNewValue )
local xOldValue := nil
local lVarExist := .F.
local nCounter
// If cVarName is a string, then proceed
if valType( cVarName ) == "C"
cVarName := upper( cVarName )
// Searching in the Pseudo-Variable List
for nCounter := 1 to len( _dPublic_ )
if _dPublic_[ nCounter ][ PUB_NAME ] == cVarName
// If found, then retrieve the current value into xOldValue
xOldValue := _dPublic_[ nCounter ][ PUB_VALUE ]
lVarExist := .T.
// If there is a new value passed, then assign it
if pCount() == 2
_dPublic_[ nCounter ][ PUB_VALUE ] := xNewValue
endif
endif
next
// Check if it is a new variable
if (! lVarExist) .and. pCount() == 2
aAdd( _dPublic_, )
endif
endif
return xOldValue
Download dPublic.zip now.
I currently live happily with my beloved family in Semarang. I am an IT-addict, but have huge interests on Internet Marketing, Family Financial Planning, Personal Wealth Building, and other self development activities. Beside that, I also like to read books, eat delicious foods, and play games with my beloved son. 