Chip: AFAIK, that's the marker that 4D added "way back when" when 4D started to support BLOB's. It's used to differentiate between a picture and a BLOB.
-- Douglas von Roeder 949-336-2902 On Thu, Jun 29, 2017 at 1:33 PM, Chip Scheide via 4D_Tech < [email protected]> wrote: > I have a question.. what does RVLB (at the end of the blob) do? > > > On Wed, 28 Jun 2017 06:09:43 +0800, Alan Chan via 4D_Tech wrote: > > Hi Chip, > > > > Try the following and it should be done in a second or 2 (compiled). > > > > //ES_ReplaceStr_Shrink($source;$oldString;$newString;{$count > > pointer})->Resulted text > > C_TEXT($0;$1;$2;$3;$source;$oldStr;$newStr;$result;$tempTxt) > > C_POINTER($4) > > > C_LONGINT($oldLen;$newLen;$oldStrLen;$NewStrLen;$count;$ > offset;$offset2;$start;$pos) > > C_BLOB($blob;$blob2) > > $source:=$1 > > $oldLen:=Length($source) //$source is the source text > > $oldStr:=$2 > > $newStr:=$3 > > $oldStrLen:=Length($oldStr) > > $newstrlen:=Length($newStr) > > > > SET BLOB SIZE($blob;$oldlen*2+9;0) > > $offset:=9 > > $start:=1 > > $count:=0 > > Repeat > > $pos:=Position($oldstr;$source;$start;*) > > If ($pos>0) > > $tempTxt:=Substring($source;$start;$pos-$start)+$newStr > > $start:=$pos+$oldStrLen > > If (Length($tempTxt)>0) > > $offset2:=0 > > VARIABLE TO BLOB($tempTxt;$blob2;$offset2) > > COPY BLOB($blob2;$blob;9;$offset;$offset2-9) > > $offset:=$offset+$offset2-9 > > End if > > $count:=$count+1 > > End if > > Until ($pos=0) > > > > If ($count>0) > > If ($start<=$oldlen) > > $tempTxt:=Substring($source;$start) > > If (Length($tempTxt)>0) > > $offset2:=0 > > VARIABLE TO BLOB($tempTxt;$blob2;$offset2) > > COPY BLOB($blob2;$blob;9;$offset;$offset2-9) > > End if > > End if > > If ($oldStrlen>$NewStrLen) > > $newLen:=$oldLen+(($NewStrLen-$oldStrLen)*$count) > > SET BLOB SIZE($blob;$newlen*2+9) > > Else > > $newlen:=$oldLen > > End if > > > > $blob{0x0000}:=Character code("R") > > $blob{0x0001}:=Character code("V") > > $blob{0x0002}:=Character code("L") > > $blob{0x0003}:=Character code("B") > > $blob{0x0004}:=0x0021 > > $blob{0x0005}:=$newlen%256 > > $blob{0x0006}:=($newlen\256)%256 > > $blob{0x0007}:=($newlen\65536)%256 > > $blob{0x0008}:=($newlen\16777216) > > $offset:=0 > > BLOB TO VARIABLE($blob;$result;$offset) > > $0:=$result > > > > Else > > $0:=$1 > > End if > > > > If (Count parameters>3) > > $4->:=$count > > End if > > > > Alan Chan > > > > 4D iNug Technical <[email protected]> writes: > >> $Source:=Replace String($Source;Char(9);"";*) > >> > >> Doesn't look so bad, does it? > >> Turns out there are over 550,000 tabs in the text. > >> Replace String, did indeed (eventually) return, but it took about 30 > >> minutes. > > > > ********************************************************************** > > 4D Internet Users Group (4D iNUG) > > FAQ: http://lists.4d.com/faqnug.html > > Archive: http://lists.4d.com/archives.html > > Options: http://lists.4d.com/mailman/options/4d_tech > > Unsub: mailto:[email protected] > > ********************************************************************** > --------------- > Gas is for washing parts > Alcohol is for drinkin' > Nitromethane is for racing > ********************************************************************** > 4D Internet Users Group (4D iNUG) > FAQ: http://lists.4d.com/faqnug.html > Archive: http://lists.4d.com/archives.html > Options: http://lists.4d.com/mailman/options/4d_tech > Unsub: mailto:[email protected] > ********************************************************************** > ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:[email protected] **********************************************************************

