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]
**********************************************************************

Reply via email to