Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Case insensitive strtran()
Message
From
25/04/2001 16:19:09
 
 
To
25/04/2001 14:12:07
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00499747
Message ID:
00499830
Views:
36
This message has been marked as the solution to the initial question of the thread.
Bob --
Same algorithm as Dan's but with in a function with a bit of error trapping thrown in.
*	FUNCTION SUBSTRCI
*		A case-insensitive SUBSTR(). In other words, characters in either the 
*		searched string or the string searched for are matched regardless of case, and
*		the replacement string inserted.

*	Parameters are in the same format as SUBSTR:
*						TYPE		REQ/OPT
*		tcSearched		C			REQ
*		tcSearchfor		C			REQ
*		tcReplace		C			OPT

*	Although some parameters are identified as required, 
*	the routine recovers gracefully if they are of a different data type.
*	The developer may want to add notification in these cases

*	The function returns the value of the string as converted by the function.

FUNCTION   SUBSTRCI 
PARAMETERS			tcSearched, tcSearchfor, tcReplace
LOCAL				llContinue, lcReturn, lcReplace, lnSearchForSize

lcReturn = IIF (VARTYPE (tcSearched) = "C", tcSearched, "")
IF NOT EMPTY (tcSearchFor) AND VARTYPE (tcSearchFor) = "C"
	llContinue = .T.
	lcReplace = IIF (VARTYPE (tcReplace) = "C", tcReplace, "")
	lnSearchForSize = LEN (tcSearchFor)

	DO WHILE llContinue
		lnStart = ATC (tcSearchfor, lcReturn)
		llContinue = (lnStart > 0)
		IF llContinue
			lcReturn = LEFT (lcReturn, lnStart-1) + lcReplace + SUBSTR (lcReturn, lnStart + lnSearchForSize)
		ENDIF
	ENDDO
ENDIF
RETURN lcReturn
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform