Platforms to show: All Mac Windows Linux Cross-Platform

StringHandleMBS class

Type Topic Plugin Version macOS Windows Linux iOS Targets
class String MBS DataTypes Plugin 3.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
A class for attaching strings together very fast.
Example
dim s as StringHandleMBS

s=new StringHandleMBS

// Add some text
s.Add "Hello"
s.Add " "
s.Add "World"

// Insert a string
s.Insert " great",6

// check it
MsgBox s.Copy

// Delete the great from above
s.Delete 6,7

// check
MsgBox s.Copy

// Insert again
s.Insert " great ",6

// check
MsgBox s.Copy

// Now we extract the middle, so it's deleted
MsgBox s.Extract(6,7)

// check again
MsgBox s.copy

The class initalized itself on the first use.

  • 11 properties
  • 36 methods
    • method Add(data as MemoryBlock)
    • method Add(data as Ptr, size as Integer)
    • method Add(data as string)
    • method Add(data as StringHandleMBS)
    • method AddByte(value as UInt8)
    • method AddInteger(value as Int64)
    • method Clear
    • method clone as StringHandleMBS
    • method Constructor
    • method Constructor(InitValue as MemoryBlock)
    • method Constructor(initvalue as string)
    • method Copy as string
    • method CopyMemory as MemoryBlock
    • method Delete(start as Integer, lengthBytes as Integer)
    • method Extract(start as Integer, lengthBytes as Integer) as string
    • method FindByte(value as UInt8, StartByteOffset as Integer = 1) as Integer
    • method FindByte(values() as UInt8, StartByteOffset as Integer = 1) as Integer
    • method FirstNonWhiteSpace(StartByteOffset as Integer = 1) as Integer
    • method FirstWhiteSpace(StartByteOffset as Integer = 1) as Integer
    • method Insert(data as string, position as Integer)
    • method InStr(OffsetBytes as Integer = 1, target as String, EndOffsetBytes as Integer = -1) as Integer
    • method InStrUTF8(OffsetCharacters as Integer = 1, target as String, EndOffsetCharacters as Integer = -1) as Integer
    • method Left(lengthBytes as Integer) as string
    • method LeftUTF8(lengthCharacter as integer) as string
    • method Mid(startByte as Integer, lengthBytes as Integer) as string
    • method MidInteger(startByte As Integer, lengthBytes As Integer = -1) as Int64
    • method MidUTF8(startCharacter as integer, lengthCharacter as integer) as string
    • method Replace(a as String, b as string)
    • method Replace(startpos as Integer, a as String, b as string)
    • method ReplaceAll(a as String, b as string)
    • method ReplaceAll(startpos as Integer, a as String, b as string)
    • method Reverse as StringHandleMBS
    • method Right(lengthBytes as Integer) as string
    • method RightUTF8(lengthCharacter as integer) as string
    • method Truncate(lengthBytes as Integer)
    • method TruncateUTF8(lengthCharacters as integer)
  • 4 shared methods
    • shared method IsValidASCII(data as ptr, TotalByteLength as integer) as Boolean
    • shared method IsValidUTF8(data as ptr, TotalByteLength as integer) as Boolean
    • shared method UTF8Length(data as ptr, TotalByteLength as integer) as Integer
    • shared method UTF8LengthToBytes(data as ptr, TotalByteLength as integer, Characters as Integer) as Integer
  • 7 constants

Encodings

Constant Value Description
encodingASCII &h0600 ASCII encoding.
encodingBinary &hFFFF No encoding.
encodingLatin1 &h0201 ISO Latin 1 encoding.
encodingMacRoman 0 Mac Roman encoding.
encodingUnicode &h0100 Unicode UTF16 encoding.
encodingUTF8 &h08000100 UTF-8 encoding.
encodingWindows &h0500 Windows encoding.

This class has no sub classes.

Some examples using this class:

Blog Entries

Xojo Developer Magazine

Release notes


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


StdoutMBS   -   StringHashSetIteratorMBS


The biggest plugin in space...