*!****************************************************************************** FUNCTION aparser * Description.......: Function parses a text string into an array. * : Each element of the array contains one word... * Calling Samples...: dimension laWords[1] * : lcWordString = "Some text string" * : lnWords = aparser(@laWords, lcWordString) * Parameter List....: paWords, pcWordString, pcDelimiter ******************************************************************** lparameter paWords, pcWordString, pcDelimiter local lnWords, lni external array paWords if not "FOXTOOLS.FLL" $ set("library") set library to foxtools.fll additive endif pcDelimiter = iif(empty(pcDelimiter), space(1), pcDelimiter) lnWords = Words(pcWordString, pcDelimiter) IF lnWords>0 && Not empty string dimension paWords[lnWords] for lni = 1 to lnWords paWords[lni] = WordNum(pcWordString, lni, pcDelimiter) && Array of words endfor ELSE dimension paWords[1] && For empty string lnWords=0 paWords[1]="" ENDIF return lnWords
*!****************************************************************************** function aparser1 * Description.......: Function parses a text string into an array. * : Each element of the array contains one word... * Calling Samples...: dimension laWords[1] * : lcWordString = "Some text string" * : lnWords = aparser1(@laWords, lcWordString) * Parameter List....: taWords, tcWordString, tcDelimiter ******************************************************************** lparameter taWords, tcWordString, tcDelimiter local lnWords, lni external array taWords if vartype(m.tcWordString)"C" return .f. && First and second parameters are required endif if vartype(m.tcDelimiter)'C' tcDelimiter=space(1) && Default delimiter endif * Idea of Charlie Schreiner #011905 *!* Now put each element in an array. lnWords=alines(taWords, strtran(m.tcWordString, m.tcDelimiter, chr(13))) return m.lnWordsThen you can use loop through first array (smaller string) and ascan in the bigger array. However, there could be more efficient ways of doing it, like WSH, for example. I would start from reading Ed Rauh & George Tasker articles in wfug, then check links in those articles...