Recent additions

This file contains changes to EBL Plus since the documentation was created. Many of these changes are new EBL-Plus version 4.08 or later features, and it supports DOS 6.0, and OS/2 2.0 as well.

BLINK( on/off )
This EBL function turns on background color blinking with BLINK(ON) (the system default) or turns it off to provide 16 background colors with BLINK(OFF). This function will work with EGA and VGA compatible displays. The on/off parameter can also be an expression that evaluates to a true/false value.

CURSOR( on/off/block/line )
It is used to turn the text cursor on or off, or to adjust the cursor's size. Use CURSOR(OFF) to turn off the cursor, CURSOR(ON) to restore the size of the last visible cursor, CURSOR(BLOCK) to create a large block cursor, CURSOR(LINE) to create a thin line cursor, or CURSOR(hhhh) for any other cursor size.

hhhh is a four digit hexadecimal number representing the new cursor size. The first two digits are the starting line number, and the second two digits are the ending line number. For example CURSOR(LINE) is equivalant to CURSOR(0607) which creates a cursor from line 6 to 7. The result on the screen depends on the type of hardware installed.

This function is useful for turning off the cursor when there is continuous activity on the screen, such as updating a clock. Note that DOS may restore the cursor type when it returns to the DOS prompt (e.g. C:> ).

DOSCHARIN()
This function waits for a single keystroke then returns its value. If a function key is pressed, the entire key name is returned. The key is not echoed to the screen, you can do that explicitly with the TYPE command. Unlike the CHARIN() function, the keystroke always comes from DOS. DOS may get the keystroke from a redirected file, the keyboard stack, or the physical keyboard in that priority depending on what's available. In contrast, the CHARIN() function will avoid redirected files and the keyboard stack. Because function key names are also returned, this function can be a flexible substitute for the INKEY command.

    DOSCHARIN()         ==  'a'         (perhaps)
    DOSCHARIN()         ==  'ALT-F3'    (perhaps)

ABBREV( information, info {, length})
This EBL function identifies when an abbreviation is correct. It returns 1 when info matches the first characters within information. Otherwise it returns 0. By default, all characters within info must match, but the minimum amount of characters required to match can be changed with length. If info is empty or length is zero, then the abbreviation matches.

    ABBREV('Print','Pri')    == 1
    ABBREV('PRINT','Pri')    == 0
    ABBREV('PRINT','PRI',4)  == 0
    ABBREV('PRINT','PRY')    == 0
    ABBREV('PRINT','')       == 1
    ABBREV('PRINT','',1)     == 0

For example, ABBREV() can be used to identify when an option or its proper abbreviation is used.


    READ Enter option: %1

    %1 = UPPER(%1)
    IF ABBREV('KEYWORD1', %1) THEN GOTO ....
    IF ABBREV('KEYWORD2', %1) THEN GOTO ....
    ELSE GOTO ....

BITAND( string1 {,{string2} {,pad}} )
This EBL function returns the logical bit AND of two strings. If the strings are not the same size, the pad character is ANDed with the larger remaining string. The resulting size is the same as the largest string.

BITOR( string1 {,{string2} {,pad}} )
This EBL function returns the logical bit OR of two strings. If the strings are not the same size, the pad character is ORed with the larger remaining string. The resulting size is the same as the largest string.

    BITOR("FRED", "", " ")         == "fred"
    BITOR("ThAT", "    This", "")  == "thatThis"

BITXOR( string1 {,{string2} {,pad}} )
This EBL function returns the logical bit XOR of two strings. If the strings are not the same size, the pad character is XORed with the larger remaining string. The resulting size is the same as the largest string.

OVERLAY( new, target, n {,length {,pad}} )
The OVERLAY() function returns a new string placed on top of an existing target string. at position n. The length determines how many characters from new are used. Pad characters will be added if new is too short. The default length is the size of the new string. The default pad is a blank.

   OVERLAY(' ','abcdef',3)      == 'ab def'
   OVERLAY('.','abcdef',3,2)    == 'ab. ef'
   OVERLAY('qq','abcd',1)       == 'qqcd'
   OVERLAY('qq','abcd',4)       == 'abcqq'
   OVERLAY('123','abc',5,6,'+') == 'abc+123+++'

XRANGE( start {, end )
The XRANGE() function returns a sequence of characters between and including the characters start and end. The start character is required, but the default end character is hexadecimal FF. If start or end are strings, only the first character is used from each string to determine the range. If start is greater than end, the sequence will wrap from FFh to 01h. The value 00h is never returned as this character is a delimiter within EBL.

    XRANGE(a,h)      == 'abcdefgh'

    XRANGE(0,A)      == '0123456789:;<=>?@A'

FIXBIOS.EXE
The FIXBIOS.EXE program is included on the distribution diskette if you have a not quite compatible IBM clone computer. If EBL-Plus hangs the computer when it loads the first time, then this program may be a cure. Use it just once before EBL-Plus starts to load. It is convenient to add a line FIXBIOS to the top of your AUTOEXEC.BAT file. Most computers will *not* need to use this program.
.
---- End of Errata ----

Thank you for choosing EBL Plus.