returns floating point number without sign
Note: for integers use IABS(n%)
see also: IABS
returns inverse cosine
see also: COS
returns memory address of the variable
returns ASCII-value of the first character in a string
see also: CHR$ Character Table
returns inverse sine
see also: SIN
returns arcus-tangens
see also: TAN
returns the barcode read by the barcode reader. The first caracter is the barcode-ID, followed by the actual barcode. Start and stop characters are only returned for CODABAR and CODE128 types. Any checksum digits will always be at the end of the returned string.
To find out which value to give the type% parameter, simply add together the values in the table below which correspond to the bar code type you wish to allow.
| VALUE | ID CHAR | BAR CODE TYPE |
| 1 | A | EAN |
| 2 | B | UPC |
| 4 | C | CODE39 |
| 8 | D | ITF |
| 16 | E | CODABAR |
| 32 | F | TELEPEN |
| 64 | G | MODIFIED PLESSEY |
| 128 | H | PLESSEY |
| 256 | I | CODE128 |
The mode% parameter specifies the condition under which BAR$: should return back to the OPL program:
| VALUE | MODE |
| 0 | wait until a good read is made |
| -1 | wait for a good read or a key press |
| >0 | wait for a good read or for this number of twentieths of second |
| <-1 | wait for a good read or a key press or for this (positive) number of twentieths of a second |
The options% parameter may be used to specify any or all of the options in the table below:
| VALUE | OPTION |
| 1 | use low current mode |
| 2 | return TELEPEN codes in numeric format, not ASCII (checksum expected) |
| 4 | use 2 checksum digits for MODIFIED PLESSEY, not 1 |
| 8 | use 1 checksum digit for CODE39 (modulo 43), not 0 |
| 16 | use FULL-ASCII CODE39, not 43 character CODE39 |
| 32 | UPC-E is zero-suppressed (6 digits), not expanded to UPC-A (10 digits) |
If you wish to specify more than one option, simply add together the values in the table. If you do not wish to use any of these options, you can omit the options% parameter completely.
Note: If you are using a very old barcode reader, type% parameters above 8 and the options% parameter may not be supported.
returns the character specified by its ASCII number
see also: ASC Character Table
turns UDG clock on if n% is 1, off if 0, returns previous status
returns cosinus of n
see also: ACOS
returns the total number of records in current file
returns date & time in string format (eg. "MON 01 JUN 1996 01:01:01")
see also: DAY DAYNAME$ MONTH MONTH$ YEAR HOUR MINUTE SECOND
returns day of month (1..31)
see also: DAYNAME$ DATIM$ MONTH YEAR
converts d% to day of the week. 1 returns "Mon" etc.
see also: DAY
returns number of days since 1/1/1900
converts rad to degree
see also: RAD
DIR$("dev")
returns first filename (data file only) on dev
DIR$("")
returns next filename or "" if no more
see also: DIRW$
DIRW$("dev:file.ext")
returns first filename (any file type) on dev, wildcards + and * allowed
DIRW$("")
returns next filename or "" if no more
Valid extensions:
DISP( 1,text$)
displays text$
tab (CHR$(7)) = line seperator
DISP(-1,"")
displays current record
DISP( 0,"")
repeats last DISP
returns number of pressed key
scrolling is controled by cursor keys, any other key ends DISP and its ASCII value is returned.
returns day of the week of the given date (1...Monday)
see also: DAYNAME$
returns TRUE if an attempt to go past the end of the current file has been made (the current record pointer will point to the last record then)
returns last error number
returns descriptive text for error n%
returns TRUE if file$ exists
returns (math. E)**n
see also: LN
locates x$ in current file starting at current record
returns position (0..not found), and sets the current record pointer to the found record
Note: FIND("") is the same as NEXT
see also: FINDW
locate x$ in current file starting at current record
returns position (0..not found), and sets the current record pointer to the found record
wildcards + and * are allowed
see also: FIND
converts n to a string within width% with dec% decimals, right justified if width is negative
converts integer to float
see also: INT
returns free bytes in main memory (i.e. pack A:)
see also: SPACE
converts n to a string in most suitable format within width%, number is right justified if width is negative
reads keybuffer, if empty waits for keypress
returns number of the pressed key
reads keybuffer, if empty waits for keypress
returns character of the pressed key
returns the hexadecimal representation of an integer as string
returns current hour from internal clock (0..23)
see also: MINUTE SECOND DATIM$
returns integer number without sign
Note: for floats use ABS()
see also: ABS
converts a float to an integer by cutting the decimals (vs. FLT(n%) --> n)
Note: floats are automatically converted this way if assigned to an integer
converts a float to a pseudo integer float by cutting the decimals
see also: INT
reads 1 key from keybuffer (does not wait for a key!)
returns ASCII-Value of the key or 0 if keybuffer is empty
reads 1 key from keybuffer (does not wait for a key!)
returns key or "" if keybuffer is empty
returns leftmost n% characters in x$
returns length of the string x$
reads from serial device until either
- n% chars are received
- the REOL or REOF char(s) are received (they will be part of the string)
- nothing is received within timeout% secs
returns natural logarithm (base (math. E))
returns the position of a substring in a string or 0 if not found
returns logarithm (base 10)
see also: LN
returns x$ in lower case
see also: UPPER$
returns maximum of the first n elements of array, or of the listed items
see also: MEAN MIN STD SUM VAR
returns mean of the first n elements of array, or of the listed items
displays a menu, returns number of selected item (0..<ON/CLEAR>)
see also: MENUN
displays menu of type n% (0 full screen, 1 one-line, 2 part screen)
returns number of selected item (0..<ON/CLEAR>)
see also: MENU
returns a substring of x$ starting at position start% with a length of length%
returns minimum of the first n elements of array, or of the listed items
returns current minute from internal clock (0..59)
returns current month from internal clock (1..12)
see also: MONTH$ DAY YEAR DATIM$
converts m% to name of the month. 1 returns "Jan" etc.
see also: MONTH
converts a float to a string within width% without decimals, right justified if width is negative
returns the byte at address addr%
returns the word at address addr% and addr%+1
returns position of current record in current file
converts degrees to rad
see also: DEG
returns length of current record in current file (0..254)
replicates c$ n% times
returns rightmost n% characters of x$
returns a 'random' float between 0.0 (inclusive) and 1.0 (exclusive)
see also: RANDOMIZE
converts float to string in scientific format within width% with dec% decimals, right justified if width is negative
returns current second from internal clock (0..59)
returns sinus
returns free bytes on device of current file (error if no file open!)
see also: FREE
returns square root of n
returns standard deviation of the first n elements of array, or of the listed items
returns sum of the first n elements of array, or of the listed items
returns tangens of n
sends x$ to serial device, then reads from serial device until either
- n% chars are received
- the REOL or REOF char(s) are received (they will be part of the string)
- nothing is received within timeout% secs
see also: LPRINT LINPUT$: LSET:
returns string in upper case
see also: LOWER$
executes machine code
moves n% into D-Register, executes HD6303X machine code at address addr%
returns contents of X-Register
WARNING: casual use may cause total data loss (you may need to remove the battery)!
executes machine code
moves n% into D-Register, executes HD6303X machine code at address addr%, the X-Register must point to string x$ afterwards
WARNING: casual use may cause total data loss (you may need to remove the battery)!
converts string to float "123.45","1.2E10" are ok
returns variance of the first n elements of array, or of the listed items
displays (or scrolls) text$ in line%, returns number of pressed key
returns the week number of the date you specify
returns TRUE if remote file is at end of file or remote file is closed
see also: XFOPEN:
reads data from an open remote file
if file was opened as
- text: reads 1 record (max. length=n%, else error 185)
sets current remote-file position (only for random access files), returns the position in the file
mode%:
0....absolute
1....relative to current position
2....relative to end of file
XFPOS:(1, 0.) returns current position.
Note the decimal point after the zero: the second parameter must be a float,
therefor XFPOS:(1, 0) will raise the bad parameter error.
see also: XFOPEN: XFPOS: XFGET: XFPUT: XFEOF:
low level link protocol command, receives a single frame
see also: XLCON: XLDIS: XLPUT:
returns current year from internal clock
see also: DATIM$