Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Equivalent to VBs join function
Message
From
13/07/2001 06:21:40
 
 
To
12/07/2001 15:55:02
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00529650
Message ID:
00530135
Views:
13
Thanks for the response. What i was asking was whether there was - or furthernore if we need ... - a native join function, because i have many situations which i need it and i cant afford the overhead of writing it in fox

Thank You again and
Regards


>
>*#define USE_ALINES
>
>dimension laArray[1]
>
>clear
>lcString = "1  \n\n\n2\n4\n5"
>? alines(laArray, strtran(lcString, "\n", chr(13)))
>? ajoin(@laArray, "|")
>? tokenize(@laArray, lcString, "\n")
>? ajoin(@laArray, "|")
>lcString = "1  \n\n\n\n2\n4\n5\n"
>? alines(laArray, strtran(lcString, "\n", chr(13)))
>? ajoin(@laArray, "|")
>? tokenize(@laArray, lcString, "\n")
>? ajoin(@laArray, "|")
>lcString = "1  \n\n\n\n2\n4\n5\n\n\n\n"
>? alines(laArray, strtran(lcString, "\n", chr(13)))
>? ajoin(@laArray, "|")
>? tokenize(@laArray, lcString, "\n")
>? ajoin(@laArray, "|")
>dimension laArray[6]
>laArray[1] = "string"
>laArray[2] = 4.567
>laArray[3] = 8
>laArray[4] = .f.
>laArray[5] = datetime()
>laArray[6] = date()
>? ajointrans(@laArray, "|")
>
>return
>
>function tokenize (taArray, tcString, tcDelimiter)
>	
>	if vartype(tcDelimiter) != 'C'
>		tcDelimiter = " "
>	endif
>	
>	local lnCount, i
>
>#ifdef USE_ALINES
>
>	if version(5) >= 700
>		lnCount = alines(taArray, tcString, tcDelimiter)
>	else
>		lnCount = alines(taArray, strtran(tcString, tcDelimiter, chr(13)))
>	endif
>
>#else
>
>	local lcTwoDelimiters, lnDelimiterSize
>	lcTwoDelimiters = tcDelimiter + tcDelimiter
>	lnDelimiterSize = len(tcDelimiter)
>	
>	tcString = strtran(tcString, lcTwoDelimiters, tcDelimiter)
>
>	lnCount = occurs(tcDelimiter, tcString)
>	
>	if lnCount < 1
>		dimension taArray[1]
>		taArray[1] = tcString
>		lnCount = 1
>	else
>		local lnDelimiter, lcTempString, i
>		dimension taArray[lnCount]
>		lcTempString = tcString
>		for i = 1 to lnCount
>			lnDelimiter = at(tcDelimiter, lcTempString)
>			taArray[i] = left(lcTempString, lnDelimiter - 1)
>			lcTempString = substr(lcTempString, lnDelimiter + lnDelimiterSize)
>		endfor
>		if !(lcTempString == "")
>			lnCount = lnCount + 1
>			dimension taArray[lnCount]
>			taArray[lnCount] = lcTempString
>		endif
>	endif
>
>#endif
>	
>	return lnCount
>	
>endfunc
>
>function ajoin (taArray, tcDelimiter)
>	
>	if vartype(tcDelimiter) != 'C'
>		tcDelimiter = " "
>	endif
>	
>	local lcString, i
>	lcString = taArray[1]
>	
>	for i = 2 to alen(taArray)
>		lcString = lcString + tcDelimiter + taArray[i]
>	endfor
>
>	return lcString
>	
>endfunc
>
>function ajoinTrans (taArray, tcDelimiter)
>	
>	if vartype(tcDelimiter) != 'C'
>		tcDelimiter = " "
>	endif
>	
>	local lcString, i
>	lcString = transform(taArray[1])
>	
>	for i = 2 to alen(taArray)
>		lcString = lcString + tcDelimiter + transform(taArray[i])
>	endfor
>
>	return lcString
>	
>endfunc
>
Previous
Reply
Map
View

Click here to load this message in the networking platform