BASIC compatibility

The BASIC compatibility module provides miscellaneous functions that emulate the behaviour of 'classic' BASIC.

The functions in this module have largely been superceded by BlitzMax features such as 'string slicing', and the Find, Replace, Trim, ToLower, ToUpper string methods.

However, for programmers from a classic BASIC background, these utility functions should make the transition to BlitzMax easier.

NOTE: Strings in classic BASIC are '1 based'. This means that the first character within a string is at index 1, the second at index 2 and so on. However, BlitzMax strings are '0 based', meaning the first character is at index 0, the second at index 1 and so on. The Instr and Mid functions in this module retain the '1 based' behvaiour of classic BASIC.

Function reference

Mid$( str$,pos,size=-1 )   Extract substring from a string

Returns: A sequence of characters from str starting at position pos and of length size

The Mid$ command returns a substring of a String. Given an existing String, a position from the start of the String and an optional size, Mid$ creates a new String equal to the section specified. If no size if given, Mid$ returns the characters in the existing String from position to the end of the String.
For compatibility with classic BASIC, the pos parameter is 'one based'.


Instr( str$,sub$,start=1 )   Find a string within a string

Returns: The position within str of the first matching occurance of sub

The start parameter allows you to specifying a starting index for the search.

For compatiblity with classic BASIC, the start parameter and returned position are both 'one based'.


Left$( str$,n )   Extract characters from the beginning of a string

Returns: size leftmost characers of str

The Left$ command returns a substring of a String. Given an existing String and a size, Left$ returns the first size characters from the start of the String in a new String.



LSet$( str$,n )   Left justify string

Returns: A string of length n, padded with spaces


RSet$( str$,n )   Right justify string

Returns: A string of length n, padded with spaces


Replace$( str$,sub$,replaceWith$ )   Performs a search and replace function

Returns: A string with all instances of sub$ replaced by replace$

The Replace$ command replaces all instances of one string with another.


Trim$( str$ )   Remove unprintable characters from ends a string

Returns: str with leading and trailing unprintable characters removed


Lower$( str$ )   Convert string to lowercase

Returns: Lowercase equivalent of str


Upper$( str$ )   Convert string to uppercase

Returns: Uppercase equivalent of str


Hex$( val )   Convert an integer value to a hexadecimal string

Returns: The hexadecimal string representation of val


Bin$( val )   Convert an integer value to a binary string

Returns: The binary string representation of val


LongHex$( val:Long )   Convert a 64 bit long integer value to a hexadecimal string

Returns: The hexadecimal string representation of val


LongBin$( val:Long )   Convert a 64 bit long integer value to a binary string

Returns: The binary string representation of val


Module Information

Modulebrl.retro
Version 1.00
Author Mark Sibly
License Blitz Shared Source Code
Copyright Blitz Research Ltd
Modserver BRL