A Blob object represents a chunk of binary data. Scripting languages like VBScript and JScript have no built-in support for binary data - this object can be used to allocate a chunk of memory and manipulate it in a similar way to low-level languages like C. You can use Blob objects in conjunction with the File object to read or write binary data from or to disk files.
Blob objects are convertible to and from two types of ActiveX arrays - a SAFEARRAY of type VT_UI1 (known as an array) and a SAFEARRAY of type VT_VARIANT, with each variant holding a VT_UI1 (known as a VB array). You can initialize a Blob with either of these two types of array (either when creating it via the DOpusFactory.Blob method or with the Blob.CopyFrom method), and you can also convert a Blob back to an array with the ToArray and ToVBArray methods. Support for these array types is dependent on the scripting language.
You can read and write individual bytes within the Blob by indexing the byte offset starting from 0. For example, my_blob(5) = 128 would set the value of the sixth byte in the blob to 128.
Property Name | Return Type | Description |
---|---|---|
size |
object:FileSize |
Returns a FileSize object representing the size of this Blob in bytes. |
Method Name | Arguments | Return Type | Description |
---|---|---|---|
Compare |
<Blob:source> |
int |
Compares the contents of this Blob against another Blob (or array). By default the entire contents of the two blobs are compared. The optional parameters that let you configure the operation are: to - specifies the byte offset within this Blob to compare against. Defaults to 0. The return value is 0 if the two blobs are the same. A value of -1 indicates this blob is less than the other blob, and 1 indicates this blob is greater than the other blob. |
CopyFrom |
<Blob:source> or |
none |
Copies data from the source Blob (or array) into this Blob. By default the entire contents of the source Blob will be copied over the top of this one. The optional parameters that let you configure the operation are: to - specifies the byte offset within this Blob to copy to. Defaults to 0. As well as copying from another Blob, you can use this method to initialise a Blob from a string. By default the Blob will be set to the Unicode form of the string; if you pass "utf8" as the second parameter it will initialise the Blob with the UTF8-encoded form of the string. If this Blob is not currently large enough to contain the copied data it will be resized automatically. |
Find |
<Blob:search> |
object:FileSize |
Searches the contents of this Blob for the data contained in another Blob (or array). By default the entire contents of this Blob are searched. The optional from parameter lets you specify the starting position for the search, and the optional size parameter lets you specify the length of data in this Blob to search through. |
Free |
none |
none |
Frees the memory associated with this Blob and resets its size to 0. |
Init |
none |
none |
Initialises the contents of the Blob (every byte within the blob will be set to 0). Equivalent to Set(0). |
Resize |
<int:size> |
none |
Resizes the Blob to the specified number of bytes. |
Reverse |
none |
none |
Reverses the contents of the Blob. |
Set |
<byte:value> |
none |
Sets the contents of the Blob to the specified byte value (every byte within the blob will be set to that value). By default the whole Blob will be affected. The option to parameter lets you specify a byte offset to start at, and the optional size parameter lets you control the number of bytes affected. |
ToArray |
<int:from> |
SAFEARRAY of |
Converts the contents of this Blob to a SAFEARRAY of type VT_UI1. By default the entire contents of the Blob will be copied to the array. The optional parameters that let you configure the operation are: |
ToVBArray |
<int:from> |
SAFEARRAY of |
Converts the contents of this Blob to a SAFEARRAY of type VT_VARIANT. Each variant in the array contains a VT_UI1. By default the entire contents of the Blob will be copied to the array. The optional parameters that let you configure the operation are: from - specifies the byte offset within the source Blob to copy from. Defaults to 0. |