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.SwapBytes32MBS(offset as Integer, numBytes as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method MemoryBlock MBS Util Plugin 4.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Swaps longs inside the given bounds inside the memoryblock.
Example
// Test SwapBytes32MBS and SwapBytes16MBS:

const h11223344=&h11223344
const h22114411=&h22114433 // 16bit swap
const h44332211=&h44332211 // 32bit swap

dim m as memoryBlock
dim ok as Integer

m=NewmemoryBlock(20)
m.Long(00)=h11223344
m.Long(04)=h11223344
m.Long(08)=h11223344
m.Long(12)=h11223344
m.Long(16)=h11223344

m.SwapBytes16MBS(4,4)
m.SwapBytes32MBS(12,4)

if m.Long(00)=h11223344 then
ok=ok+1
else
MsgBox "00: "+hex(m.Long(00))
end if

if m.Long(04)=h22114411 then
ok=ok+1
else
MsgBox "04: "+hex(m.Long(04))
end if

if m.Long(08)=h11223344 then
ok=ok+1
else
MsgBox "08: "+hex(m.Long(08))
end if

if m.Long(12)=h44332211 then
ok=ok+1
else
MsgBox "12: "+hex(m.Long(12))
end if

if m.Long(16)=h11223344 then
ok=ok+1
else
MsgBox "16: "+hex(m.Long(16))
end if

if ok=5 then
MsgBox "OK"
else
MsgBox "Fail"
end if

It should do something like this:

dim m as memoryBlock

for i=0 to numbytes step 2
m.long(i)=EndianSwap32MBS(m.long(i))
next

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


💬 Ask a question or report a problem