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.FindByteMBS(srcOfs as Integer, numBytes as Integer, byteValue as Integer) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
method MemoryBlock MBS Util Plugin 10.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Finds the position of the first byte which has the given value.
Example
dim m as MemoryBlock = NewMemoryBlock(100)
dim n as Integer

n = m.FindByteMBS(0, 100, 0)

MsgBox str(n) // shows 0 as the byte at offset 0 is zero

m.Byte(0)=1

n = m.FindByteMBS(0, 100, 0)

MsgBox str(n) // shows 1 as the byte at offset 1 is zero

m.FillBytesMBS(0,100,5)

n = m.FindByteMBS(0, 100, 6)

MsgBox str(n) // shows -1 as there is no byte with value 6

Returns -1 if the byte is not found.

See also:

MemoryBlock.FindByteMBS(values() as UInt8, StartByteOffset as Integer = 0) as Integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
method MemoryBlock MBS Util Plugin 21.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Finds position of a given value.
Example
Dim m As MemoryBlock = "Hello World"

Dim u() As UInt8
u.Append Asc("e")
u.Append Asc("o")

Dim pos1 As Integer = m.FindByteMBS(u)
Dim pos2 As Integer = m.FindByteMBS(u, pos1+1)

// shows 1 and 4
MsgBox "Found position: "+Str(pos1)+" and "+Str(pos2)

Values is an array of possible values to find.
For best performance avoid duplicates in that array.

Returns zero based byte offset.
Result is -1 if not found.

See also:

Blog Entries

Xojo Developer Magazine

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


💬 Ask a question or report a problem