SET SAFETY OFF SELECT * FROM h:\ids5\dbfs\t_tanklayout INTO CURSOR TESTcursor READWRITE StartTime = SECONDS() =AFIELDS(laFields, "Testcursor") cString = Chr(13) + Chr(9) + "<CLIENT>" + Chr(13) FOR nT = 1 TO ALEN(laFields,1) cString = m.cString + Chr(9) + Chr(9) + ; "<"+laFields(nT,1)+">%%"+laFields(nT,1)+"%%</"+; laFields(nT,1)+">" + Chr(13) ENDFOR cString = cString + Chr(9) + "</CLIENT>" SET TEXTMERGE DELIMITERS TO "%%","%%" SET TEXTMERGE TO "cxml.txt" noshow SET TEXTMERGE ON \\<TEST> SCAN TEXTMERGE(m.cString) ENDSCAN \</TEST> SET TEXTMERGE OFF SET TEXTMERGE TO cXml = FILETOSTR("cxml.txt") ?SECONDS() - StartTimeand your version.
SET SAFETY OFF SELECT * FROM h:\ids5\dbfs\t_tanklayout INTO CURSOR TEST READWRITE StartTime = SECONDS() =AFIELDS(laFields, "Test") lcTemp = Sys(2015)+'.tmp' lnHandle = fcreate(lcTemp) Fputs(m.lnHandle,'<TEST>') SCAN Fputs(m.lnHandle,"<CLIENT>") FOR f = 1 TO ALEN(laFields, 1) Fputs(m.lnHandle,"<" + laFields(m.f, 1) + ">" + ; TRANSFORM(EVALUATE("Test." + laFields(m.f, 1))) +; "</" + laFields(m.f, 1) + ">") ENDFOR Fputs(m.lnHandle,"</CLIENT>") ENDSCAN Fputs(m.lnHandle,"</TEST>") Fclose(m.lnHandle) lcXML = FileToStr(m.lcTemp) *Show Time-Taken Erase (m.lcTemp) ?SECONDS() - StartTimeI'm curious what does make the difference..