Tech Tip: Splitting large blobs into smaller chunks
PRODUCT: 4D | VERSION: 2003 | PLATFORM: Mac & Win
Published On: April 8, 2004
Compatibility: Version 6.8.x and 2003.x
Here's a useful method to use if you are handling large blobs containing text that needs to be manipulated in small streams of text. This method will break a blob down into an array of text.
C_POINTER($1)
C_POINTER($2)
C_LONGINT($blobSize;$limitSize)
C_LONGINT($elemNum)
C_LONGINT($offset;$0)
 :` we want a 20,000 character text buffer
$limitSize:=20000
$elemNum:=0
$offset:=0
$blobSize:=BLOB size($1->)
` insert the first text blob
Repeat
INSERT ELEMENT($2->;Size of array($2->)+1)
$2->{Size of array($2->)}:=BLOB to text($1->;Text without length ;$offset;$limitSize)
$offset:=$limitSize
$blobSize:=$blobSize-$offset
Until ($blobSize<=0)
` return the number of elements added
$0:=Size of array($2->)