MemoryBlock methods

Online Documentation   -   Statistics   -   FAQ   -   Plugin Parts (All, Dependencies)   -   Class hierarchy

New in Version 22.2 22.3 22.4 22.5 23.0 23.1 23.2 23.3 23.4 23.5 24.0 24.1

The list of the   topics,   classes,   interfaces,   controls,   modules,   global methods by category,   global methods by name,   screenshots,   licenses   and   examples.

Platforms to show: All Mac Windows Linux Cross-Platform

Back to MemoryBlock class.

MemoryBlock.AndBitsMBS(Second as memoryblock, Dest as memoryblock=nil) as memoryblock

Type Topic Plugin Version macOS Windows Linux iOS Targets
method MemoryBlock MBS Util Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Performs a And on the bits in the memoryblock.
Example
dim m1 as MemoryBlock = NewMemoryBlock(20)
dim m2 as MemoryBlock = NewMemoryBlock(20)
dim m3 as MemoryBlock = NewMemoryBlock(20)

m1.Int32Value(0)=&b10000001
m2.Int32Value(0)=&b10000000

MsgBox bin(m1.Int32Value(0))+EndOfLine+bin(m2.Int32Value(0))+EndOfLine+bin(m3.Int32Value(0))

call m1.AndBitsMBS(m2,m3)

MsgBox bin(m1.Int32Value(0))+EndOfLine+bin(m2.Int32Value(0))+EndOfLine+bin(m3.Int32Value(0))

Dest is first and second memoryblock combine with a bitwiseand.
And first and second memoryblock are filled with the difference between them.

If dest is nil, a new memoryblock is created. You can speed up processing with reusing the same memoryblock in iterations. If you pass a memoryblock, the plugin does not check the size of the memoryblock.

Returns nil on any error. For example if source is a memoryblock without a known size.

See also:

MemoryBlock.AndBitsMBS(Second as memoryblock, Mask as Integer, Dest as memoryblock=nil) as memoryblock

Type Topic Plugin Version macOS Windows Linux iOS Targets
method MemoryBlock MBS Util Plugin 9.8 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Performs a And on the bits in the memoryblock.
Example
dim m1 as MemoryBlock = NewMemoryBlock(20)
dim m2 as MemoryBlock = NewMemoryBlock(20)
dim m3 as MemoryBlock = NewMemoryBlock(20)

m1.Int32Value(0)=&b11110001
m2.Int32Value(0)=&b11110000

const mask = &b11001111

MsgBox bin(m1.Int32Value(0))+EndOfLine+bin(m2.Int32Value(0))+EndOfLine+bin(m3.Int32Value(0))

call m1.AndBitsMBS(m2,mask,m3)

MsgBox bin(m1.Int32Value(0))+EndOfLine+bin(m2.Int32Value(0))+EndOfLine+bin(m3.Int32Value(0))

The mask is always 8 bit. Use the &b notation to specify it.
Dest is first and second memoryblock combine with a bitwiseand.
And first and second memoryblock are filled with the difference between them. Only bits set int he given mask are used.

If dest is nil, a new memoryblock is created. You can speed up processing with reusing the same memoryblock in iterations. If you pass a memoryblock, the plugin does not check the size of the memoryblock.

Returns nil on any error. For example if source is a memoryblock without a known size.

See also:

The items on this page are in the following plugins: MBS Util Plugin.


💬 Ask a question or report a problem