>* A) >SCAN > lcXML = m.lcXML + "<CLIENT>" > FOR f = 1 TO FCOUNT() > lcXML = m.lcXML + "<" + FIELD(m.f) + ">" + ; > TRANSFORM(EVALUATE(FIELD(m.f))) +; > "</" + FIELD(m.f) + ">" > ENDFOR > lcXML = m.lcXML + "</CLIENT>" >ENDSCAN > >* B) >Set Textmerge to memvar lcText noshow >Set Textmerge delimiters to "|" >Set Textmerge on >\local lcXml,f >\ lcXML ="<CLIENT>" > FOR f = 1 TO FCOUNT() >\ lcXML = m.lcXML + "<|FIELD(m.f)|>" + TRANSFORM(|FIELD(m.f)|) + "</|FIELD(m.f)|>" > ENDFOR >\ lcXML = m.lcXML + "</CLIENT>" >\return m.lcXml >Set Textmerge to >StrToFile(m.lcText, "runner.prg") >Compile runner.prg >SCAN > lcXML = m.lcXML + runner() >ENDSCAN > >* C) >SET TEXTMERGE DELIMITERS TO "|" >SET TEXTMERGE TO MEMVAR sCommand NOSHOW >SET TEXTMERGE ON >\ SCAN >\ lcXML = m.lcXML + "<CLIENT>" ; >FOR f = 1 TO FCOUNT() > \ + "<|FIELD(m.f)|>" + TRANSFORM(|FIELD(m.f)|) + "</|FIELD(m.f)|>" ; >NEXT >\ + "</CLIENT>" >\ ENDSCAN >SET TEXTMERGE TO >=EXECSCRIPT(M.sCommand ) > >* 1000 cycles for a 132791 string result from a VCX table >* A : 66 comp/s >* B : 107 comp/s >* C : 175 comp/s >>