Article ID: 190792
Article Last Modified on 3/1/2005
CLEAR
m.string = REPLICATE("HelloWorld", 26)
? "Initial string length: ", LEN(m.string)
m.string = transgt255(m.string, "@!")
? "Return value from function: ", m.string
? "Length of returned string: ", LEN(m.string)
* Function TRANSGT255
* Purpose: Apply a string transformation to a string longer than 255
* characters passed: string to transform (lcText), transform string to
* apply (lcTransType).
* Returns: Transformed string (lcRetString).
FUNCTION transgt255
PARAMETERS lcText, lcTransType
* Define a string length safely smaller than 255, doesn't matter for
* these purposes.
#DEFINE MAX_LENGTH 253
liNumPasses = INT(LEN(lcText) / MAX_LENGTH)
liLastPass = MOD(LEN(lcText), MAX_LENGTH)
lcRetString = ""
FOR i = 1 TO liNumPasses
lcWorkString = SUBSTR(lcText, (i - 1) * MAX_LENGTH + 1, MAX_LENGTH)
lcRetString = lcRetString + ;
TRANSFORM(lcWorkString, (lcTransType))
NEXT
lcWorkString = RIGHT(lcText, liLastPass)
lcRetString = lcRetString + ;
TRANSFORM(lcWorkString, (lcTransType))
RETURN lcRetString
lcText=REPLICATE("HelloWorld",26)
? LEN(lcText)
? TRANSFORM(lcText,"@!")
Keywords: kbbug kbfix kbxbase KB190792