Delta BASIC_Reference_Manual_May1985 BASIC Reference Manual May1985
DeltaBASIC_Reference_Manual_May1985 manual pdf -FilePursuit
DeltaBASIC_Reference_Manual_May1985 DeltaBASIC_Reference_Manual_May1985
User Manual: DeltaBASIC_Reference_Manual_May1985
Open the PDF directly: View PDF
.
Page Count: 130
| Download | |
| Open PDF In Browser | View PDF |
!
)1.
i
"á
.
ELEMENTS
OF DeltaBASIC
COMMANDS
AUTO
CLEAR
LIST
LISTP
DEL
LOAD
FILES
OFF
RENAME
FREE
GO
RUN
HELP
STATEMENTS
SAVE
CHAIN
CLOSE
ON
GOTO
ON
RESTORE
DATA
OPEN
GOSUB
(diskfile,
data entry screen)
OPTION
PRINT
(formatted,
unformatted)
READ
(internal data,
diskfile, data
entry screen)
GOTO
REM
DEF
FN
DIM
END
EXIT
FOR/NEXT
FORM
IF/THEN/ELSE
INPUT
RESTORE
LET
RETURN
LINPUT
ON
ATTN
ON
RESET
REWRITE(disk file,
data entry screen)
(Error
Condition)
ON GOSUB
FUNCTIONS
WRITE(disk file,
data entry screen)
Numeric:
Character:
ABS
ATN
CHR$
CNVRT$
CMDKEY
DATE$
STOP
ERR
STR$
EXP
TIME$
INT
LEN
LINE
LOG
POS
RND
ROUND
SGN
SIN
SYSTEMS SUPPORTED*
Visual screen attributes, function keys, arrow keys,
and diskette formats for the following are supported
by DeltaBASIC.
(214)
S'tf
g'
i
,,.'i
}]
'H
!Í.,,,,.
d "\,.
Com,ute,s,
Kaypro
Epson QX-1O
Radio Shack Model lV
(CP/M Plus, [v. 3.0])
Xerox 820-11
Televideo (CP/M orTurboDOS)
A variety of disk formats, including IBM 3740 stanis available.
dard 8" diskette (SS/SD),
Terminals:
ADM-3A
Televideo 900 Series
Qume QVT-102
Wyse 100
*NOTE: New implementations are regularly added to
this list. Please contact DeltaSoft, Inc., for further information on computer systems and terminals not
listed.
About DeltaSoft, Inc.
.
by professional
,
DeltaSoft, Inc., was established
programmers to develop improved software for business
applications. DeltaBASIC, based on a powerful subis ciesigneci
set of IBM System/34 BASIC,
to provide
the programmer with the most effective utilization of
the rapidly developing capabilitites of microcomputers. The present release is in 8080 Assembly
Language and runs on CP/M, MP/M-80, and TurboDOS.
An 8086/8088
version is under development.
Call or Write for More Information:
A DeltaSoft technical representative will be happy to
discuss your specific applications. Please call us at
'y'
",i
!'
0
D
O
sr
.
"
;
"
"
.
m m
"
-
D
0
m
,
-'
0
D
0
(
"
Q
,
i
O O
J'
'
1>
"
581-1425.
Trademarks:
CP/M and MP/M are trademarks of Digital Research. TurboOOS is a trademark of
Software 2000, Inc. IBM System/34 is a trademark of IBM Corporation.
Substring function:
(a: b) replaces
string functions
LEFTS,
MID$
and RIGHT$
of other BASICS,
allows insertion
and deletion
S
,.
'
,
DeltaSoft, Inc.
©1984· DeltaSoft, Inc.
'
'
l
STATUS
'
!'t
t¶
.
SQR
VAL
} '
1,:·
"
7524 S. Broadway
P. O. Box 7082
Tyler, TX 75711
(214)581-1425
\\,
'
·
A
Buslness·Orlenteg
BASIC Language
DeltaRA@IC
A Business-Oriented
BASIC Language
Designed to fill the gap in business proAramming
languages for microcomputers, DeltaBASL provides
the multi-user support and other programming
features essential to the development of efficient,
smoothly-functioning
and well documented software.
Keyed files, decimal arithmetic, formatted data entry
screens, and other amenities familiar to users of
main-frame languages have been incorporated. With
DeltaBASIC, the business programmer is now able to
achieve maximum effective use of the rapidly developing capabilities of microcomputers.
FEATURES
Interactive Design of
Formatted Data Entry Screens:
A menu-driven utility allows you to design screens interactively, using a full complement of visual and
data entry attributes, including reverse video, blinking, and field protection. HELP messages may be incorporated to speed operator learning and data entry.
Once designed, a screen may be accessed by simple
READ/WRITE statements.
Keyed Data Files for
Fast Indexed Access
DeltaBASIC provides fast access to files, using rapid
sequential or random access by key in addition to access by record number.
For Single- or
Multi·User Systems
DeltaBASIC's file- and record-locking capabilities
allow programming for multi-user environments.
Decimal Precision
The precise calculations required by business math
are achieved with DeltaBASIC's decimal arithmetic.
The errors inherent in other BASIC'S
binary-todecimal conversions have been eliminated. Precision
is selectable to eight
or sixteen digits.
Binary-Tree Data Management
DeltaBASIC uses internal binary-tree data management for faster program execution and file access.
Powerful Substring Function
One simple, versatile substring function (a: b) allows
great flexibility in string hand|ing. It not only replaces
but
and RIGHT$ in other BASICS,
the MID$, LEFT$,
also allows both insertion and deletion of characters
within strings.
Powerful FORM Statement Provides Versatility in
WRITE,
PRINT,
READ,
and REWRITE
A comprehensive forms specification list allows
precise positioning of decimals, dollar signs, leading
or trailing pluses and minuses, and DR and CR
codes; definition of character and numeric fields;
and packed or zoned decimal fields where applicable.
Run-Time Module
Run-time modules are available from DeltaSoft as
needed forthe distribution of applications programs.
Plus Other Useful Features
Many other time-saving and convenient features are
built into DeltaBASIC including program chaining,
on-screen program editing, a HELP facility for identifying errors, long variable names, support of function
and arrow keys, and an extensive error-trapping
capability.
UTILITY PROGRAMS
INCLUDED
P
·
·
· ·
·
of
for Interactlve
design
Utihty
Screen Design
formatted data entry screens.
KEYSORT:
Sorts data files by key (predefined) to
allow keyed sequential access.
GENMSG: A "message generator" which works with
be used
your text editor to create HELP messages to
with data entry screens.
ORGANIZE: Provides conversion of ASCII text files
conversion of unkeyto DeltaBASIC and the reverse;
ed files to keyed;
or the removal of previously marked
records (e.g., Inactive) from data files.
RENUM: Renumbers a DeltaBASIC program.
SDU:
SPECIFICATIONS
Source Language: 8080 Assembly
(8086/8088
under development)
Operating Systems Supported:
CP/M-80, MP/M-80, TurboDOS
Recommended Memory Size:
48K minimum
Essential Terminal Capabilities:
Clear Screen
Cursor Positioning
Supported Terminal Capabilities'
Low Intensity
Blink
Non-Display
Reverse Image
Underline
Function Keys
Arrow Keys
Field Color
Attributes Available to
Formatted Data Entry Screens:
Controlled Field Exit
Adjust/Fill
Mandatory Field Entry/Fill
Field Type
(Alphanumeric or Numeric)
Auto Screen Entry
Position Cursor
Field Protection
Data File Access Methods:
Sequential
Relative by Record Number
Sequential by Key
Random by Key
Data Formats:
Character
Numeric
Zoned or Packed Decimal
DeltaSoft,lnc.
A
RELEASE
(May 1,
DOCUMENTATION
DeltaRASIC
3.0
Version
1985)
(T)
Configuration:
I.
A.
Operating
B.
MP/M
C.
Diskette
D.
Terminal
l.
System
Compatibility
Format
--
Keyboard
TurboDOS
-IBM
Wyse
100
key
insert
next line
—-
-------
toggle
previous
rub out
tab next
line
Function
Keys
Function
keys
Visual
——
---
field
" means
----
field exit
3.
SS/SD
——
HELP key
2.
8"
standard
Assignment
(ATTN)
attention
begin/end toggle
cursor left
cursor right
cursor down
cursor up
delete right
Note:
Full
---
1.3
hold
down
FI through
("I)
ESC
"B
left arrow ("FI)
right arrow ("L)
arrow ("V)
arrow ("K)
down
up
^G
line feed ("J)
"Z
"O
"X
"E
RUB
OUT
TAB
("I)
key
CONTROL
F8
------
press
are implemented.
Attributes
low intensity
blink
non-display
reverse
underline
and
implemented
implemented
implemented
implemented
implemented
1
letter key.
E.
Printer
--
Defaults:
II.
A.
Files
system
DBERR.MSG
DBREF.MSG
SDU.COM
KEYSORT.COM
ORGANIZE.COM
RENUM.COM
B.
DeltaBASIC
CUSMAN.BAS
CUSXAN.FRM
CUSMAS.DTA
CUSMAS.KEY
CUSMAS.DEF
CMM-OOI.LIB
CMM-OO1.MSG
CMM-002.LIB
CPM-002.MSG
on
system
DBASIC.CCM
GENMSG.COM
device
auto form feed on
page overflow
line length
page length
page overflow
included
DeltaBASIC
list
---
---
diskette
Error
Command,
for HELP
Screen
Help
file
message
demonstration
for
facility
HELP
statement,and
Utility
reference
function
message
file
file
command
file
Utility command file
command
Utility
message
Renumber
file
facility
Design
Organize
--
command
DeltaBASIC
--
--
1
files
Keysort
--
132
66
64
----
no.
---
on
--
command
generation
command
Utility
file
file
programs
Maintenance
Master
Customer
program
data entry
fileusedcontaining
by CUSMAN.BAS
Format
'C!YM-002'
screens
'CMM-OO1'
and
file (data) used by CUSXAN.BAS
Customer
master file (key) used with CUSMAN.DTA
-Customer
master
file definition
-(ASCII text) file of HELP messages for screen
-- Library
'CMM-OQ1'
--
--
Customer
HELP message
'CMM-OO1.LIB'
-- Library
'CMM-002'
--
master
(ASCII
HELP message
'CMM-OC)2.LIB'
for screen
file
using the
GENMSG
text)
file
file
of
for screen
using the GENMSG
2
'CPM-OOl'
(Created from
Utility)
HELP messages
'CMM-OO1'
Utility)
for screen
(Created from
CUSREP.BAS
CUSREP.FRM
CUSREP2.BAS
CUSREP4.BAS
DES.BAS
Miscellaneous
CUSDEL.DO
report
program:
sequential
access
file
report
program:
sequential
access
file
data
'DO'
TurboOOS
used
demonstration
selected
by
program
'DES-OO1',
data entry screens
used
CUSMAS.DTA
file
deletion
in
TurboDClS
DeltaBASIC
'DC)'
Menu
file
programs
utility
Demonstration
--
DeltaSoft
files
on
diskette
Demonstration
Data
--
Key
--
CUSMAN.BAS
--
1.
Formatted
by
DES.BAS
program
2.
Random
Access
menu
(if
2
file used
file used
text
RENUM
utility
De1taBASIC
file
utility
with
above
K500O.DTA
Programs
Screens
a Keyed
File
3
with
Help
Messages
to
for
renumber
system
interpreted
included)
by KED.BAS
marked
records
Master File Maintenance
Entry
of
with
TurboDOS
Demonstration
by
remove
Files
Data
Customer
Data
used
interactive
no.
to
provided with
--
Features Highlighted
A.
file
master
entry screen demonstration
Keyed
--
HELP.COM
IV.
access
file containing
'DES-002', and 'DES-003'
--
MENUCll
K500O.KEY
program:
Format
--
MENU.COM
K500O.DTA
report
access
Files
RENUY.DO
Auxiliary
sequential
Customer
master
by selected key range
--
CUSREP.BAS
by
program:
--
Data
'CMR-OO1',
report
Customer
by key
--
KED.BAS
used
menu
file
master
file
number
range
--
--
DES.FRM
Special
record
reports
program:
data entryscreen
'CMR-003'
and
master
Customer
--
CUSREP3.BAS
III.
Customer
report
containing
file
'CMR-002',
--
file
master
Format
--
CUSREP1.BAS
C.
Customer
--
by
HELP
MENU.COM
facility
B.
C.
3.
Multi-User
Support
4.
Substring
Function
5.
OFF
6.
Error Trapping
7.
Use
V.
Sample
CUSREP1.BAS,
CUSREP.BAS,
1.
Formatted
2.
Sequential,
3.
FORM
4.
Program
5.
Forms
Entry
Data
Relative,
Keys
Arrow
etc.
--
Master File
Customer
Reports
Screens
File
Keyed-Sequential
and
Access
"PIC" for formatted
including
specifications
output
chaining
utilizing internal
control
Screen
page
length
and
overflow
Demonstrator
-- ñata Entry
Explicit demonstration of visual attributes
DES.BAS
I.
D.
and
of Function
line"
"Command
statement with
Access)
File
(Shared
2.
Explicit demonstration of data entry attributes
3.
Use
of substring
4.
Use
of Function
KED.BAS
--
Keyed
keys
File Demonstrator
relatively large
1.
Access
of
2.
Random
number
"INDIC" string
to build
function
(if
(5000
included)
records)
data
file
by
key
generator
Terminal/Computer Interface
Module
of your version
helpful for basic reconfiguring
(CP/M
Either
or MP/M) or MOR'ITOR.COM can be used to
Care must be execised to prevent
modify, and resave DBASIC.COM.
code
changes
Inc.
other than those provided for below. DeltaSoft,
in
of DBASIC.COM by the user.
assumes
no responsibility for the modification
for more information.
Please see the license agreement
The
following
of
load,
De1taBASIC.
NOTE:
listing
configuration
your implementation of
The
g
may
be
DDT.COM
below
a sample
De1taBASIC.
is
"7 %
Ur d 4 ? @ b te L~j Lpt µxt~jµzL.t4b-4@
r , T r b r h r r r r"r"r"rTT"rT
Jp
""r
g
only
and
does
not correspond with
!> 9>t but d LpQpjpj f LpbL.f f f d f f Y P L t. r Jp C >
r r ó r i r r t r t ó r r r ó t i l r r r l R r r Ó Ó·T' r Ó h rn T r i b Ó
xC
T
;*
·*
g
DeltaBASIC
4
*
*
(C)
;*
.*
g
;*
.*
g
;*
.*
g
;*
COPYRIGHT
;*
·*
g
i "r
Rev.
Date:
Rev.
Time:
tp¿twwjp
1~&^ b Ct 4 @
Ctr
ím r r rm
"Ti t rm b
r r td
r
MISC.
;
ll
rt ri
DeltaSoft,
*
*
*
*
*
*
Inc.
1984
23 May
3: 00
Terminal:
rrr
{ b++
BY
1.3
Version:
L
0 q>
g
?
*
g
1984
>;<
PM
*
*
*
SAMPLE
L) d
p bj~j M? W t~j C C C? CWíd
e t~&p+bgp%LpM
rá LpU
>ri CnCt¶
n t ó b 4+
rm n t t ¶ ó b "r"r"r"r
rn á r r i "i
r
rt t
ri
EQUATES
0
g
OFFH
;
DOFF
=
g
N
EQU
0
?
;
THE HIGH
INDICATE
A
CHARACTER
NULL
STRING
OFFH
IS SET TO MARK
THE END OF CHARACTER
CONVENIENCE, THE VALUE P CAN BE ADDED
STRINGS.
TO
OF
A STRING.
THE LAST CHARACTER
;
=
TO
BIT
FOR
;
0080
USED
IS
e
?
P
EQU
128
ORG
103H
*
?
0
g
0103
0
g
SO
LONG
AS
THE XFER SUBROUTINES ARE USER
MODIFIABLE
BELOW
ARE
THE
UPDATED.
THE ADDRESSES IN THE TABLE
ADDRESS
SPACE
FOR
THESE SUBROUTINES IS 03A2H TO 053FF!.
PROVE
TWO
DIRIO
USEFUL ARE
SIJBROUTINES THAT COULD
CHARACTER
(AT 3C30H WHICH OUTPUTS
THE ASCII
IN THE 'A'
REG
TO
THE TERMINAL AND
(2) CURSO AT O1F6H WHICH
CURSOR
POSITIONS
AT THE
AT THE ROW GIVEN IN THE H REG
COLUMN
AND
IN THE L REG.
;
;
;
(I)
;
;
;
;
;
0
:
;
;
THE GENERAL
BELOW.
:
;
NOTE:
SPECS
FOR
NO
THE XFER
SUBRC)UTTNES
ADDRESSES ARE SHOWN
IN
DIFFER DEPENDING ON THE SPECIFIC
IMPLEMENTATION.
;
;
ARE
GIVEN
THE TABLE BECAUSE THEY
COMPUTER/TERMINAL
e
g
0103
0106
0109
OlOC
O1OF
0112
0115
0118
C30000
C30000
C30000
C30000
C30000
C30000
C30ClOO
C30000
TTNIT:
AWRSET:
AWRRST:
ARDSET:
ARDRST:
CLRATR:
SETTMO:
SETDTO:
0
7
;
JMP
JMP
JMP
JMP
JMP
JMP
JMP
MP
;TERMINAL
INITIALIZATION
;VISUAL
ATTRIBUTE WRITE SET
;VISUAL
ATTRIBUTE WRITE RESET
SET
;VISUAL
ATTRIBUTE READ
;VISUAL
ATTRIBUTE READ
RESET
;CLEAR VISUAL ATTRIBUTES
;GET TIME INTO [HL]
;GET DATE INTO [HL]
.....
.....
.....
.....
.....
.....
.....
.....
CONFIGURATION
DATA
r
g
;
1.
OPERATING
SYSTEM FLAG
5
0
g
1=MP/M
0=CP/M
;
2=TURBODOS
0
:
0118
00
OPSYS:
0
7
;
2.
*
g
;
;CP/M
O
DB
ANSI
FLAG
0=NC)
1=Y
O
:
OllC
00
0
?
;
O
DB
ANSI:
3.
;NO
(TURBODOS ONLY)
FLAG
COMPATIBILITY
0
g
BIT
;
7
=
6 =
5
=
4 =
3 =
(BITS
2-O
;
;
;
;
;
PERMISSIVE
FLAG
SUSPEND
FLAG
GLOBAL-WRITE
FLAG
MIXED-XODE FLAG
LOGICAL FLAG
NOT
DEFINED)
0
g
0110
00
COMPAT:
DB
0
g
;
TERMINAL
4.
;FULL
O
INITIALIZATION
MP/M
DATA
©
g
O11E
0123
0128
012D
FF00000OOOINIT:
0000000000
0000000000
0000000000
DB
N,0,O,O,O
;N=N0NE
DB
0,0,0,0,0
0,0,0,0,0
0,0,0,0,0
;
DB
DB
;
;
W
g
;
5.
MOVE
CURSOR
LEFT
DATA
0
y
0132
880000OOOOCURLFT:
0
?
;
6.
;"H
08H+P,O,O,O,O
DB
MOVE
CURSOR
RIGHT
DATA
9
?
0137
8C00OOO0OOCURRGT:
0
:
;
7.
;"L
OCH+P,0,O,O,O
DB
CURSOR
POSITIONING
DATA
O
g
SEE
;
BELOW
O
g
013C
0141
0142
0143
0144
1BBDOOOO0OCURPS1:
CURPS2:
IF
FF
CURPS3:
CURPS4:
IF
FF0O000OO0CURPS5:
DB
1BH,'='+P,O,O,O
DB
31
DB
N
DB
31
N,0,O,O,O
DB
0
:
8.
;
ROW/COL
'ESC='
;CUR POS PREAMBLE:
NUMBER
31
BIAS:
;LINE
;SEPARATOR CHAR:
N=N0NE
31
;COL NUMBER
BIAS:
N=NONE
;CUR POS TRAILER:
ORDER
0
g
OOH
;
=
ROW/COL
OFFH
=
COL/ROW
*
7
0149
00
RCORD:
DB
;R0W/COL
OOH
O
g
;
9.
ATTN
CHARACTER
DATA
0
g
6
014A
IB
;ESC
1BH
ATNCHR:
DB
e
g
;
KEY DATA TABLE
10.
0
g
0148
014E
0151
0154
0157
015A
015D
0160
0163
0166
0169
016C
016F
FFOOOO
0172
LICHR:
N,0,O
;LEAD-IN
07H+P,O,O
7FH+P,O,O
08FI+P,O,O
0CH+P,O,O
0AH+P,O,O
OBH+P,0,O
OFH+P,0,O
02H+P,O,O
0AH+P,O,O
09H+P,O,O
05fl+P,O,O
18H+P,O,O
1AH+P,O,O
DB
870000
DB
FFOOOO
DB
880000
DB
8COOOO
DB
8AOOOO
DB
880000
DB
8FOOOO
DB
820000
DB
8AOOOO
DB
890000
850000
980000
DB
9AOOOO
DB
DB
DB
?
;
11.
FUNCTION
CHARACTER: N=N0NE
"G
;DELETE RIGHT:
;RUB OUT: RUB OUT
"FI
;CURS0R LEFT:
"L
;CURS0R RIGHT:
;CURS0R DOWN:
"J
;CURS0R UP: "K
;INSERT TOGGLE: "O
;BEGIN/END
TOGGLE: "B
EXIT:
;FIELD
"J
;TAB NEXT FIELD:
"E
;PREVI0US
LINE:
"X
;NEXT LINE:
MESSAGE
HELP: "Z
;FIELD
"I
KEY TABLE
P
g
0175
0178
017B
810000
810000
B20000
FICHR:
O1FI+P,O,O
31H+P,O,O
32H+P,O,O
33H+P,O,O
34R+P,O,O
35H+P,O,O
36H+P,O,O
37H+P,O,O
38H+P,O,O
N,O,0
N,0,O
N,0,O
N,0,O
N,0,O
N,0,O
N,O,0
N,0,O
DB
DB
DB
017E
0181
0184
0187
830000
840000
DB
850000
860000
DB
018A
018D
0190
0193
0196
0199
019C
019F
O1A2
O1A5
870000
880000
800000
800000
800000
800000
800000
800000
800000
800000
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
0
:
;
12.
HOME
CURSOR
CHARACTER:
;LEAD-IN
KEY 1
;FUNCTI0N
;FUNCTI0N
KEY 2
KEY 3
;FUNCTI0N
;FUNCTI0¥
KEY 4
KEY 5
;FUNCTI0N
;FUNCTION KEY 6
;FUNCTI0N
KEY 7
KEY
8
;FUNCTI0N
;NOT IMPLEMENTED
;NOT IMPLEMENTED
;NOT IMPLEMENTED
;NOT IMPLEMENTED
;NOT IMPLEMENTED
;NOT IMPLEMENTED
;NOT IMPLEMENTED
;NOT IMPLEMENTED
DATA
*
:
O1A8 8000000O0OHOME:
*
3
;
N,0,O,O,O
DB
13.
CLEAR
SCREEN
;NONE
DATA
O
9
O1AD 9A0O00OO00CLR:
DB
0IAH+P,0,O,O,O
PRINTER
SKIP
;"Z
0
9
;
14.
PERF
P
g
0=OFF
;
1=ON
*
g
0182
01
PINIT:
DB
1
PRINTER
LINE
;ON
0
:
;
15.
LENGTH
0
:
7
soFt
("A)
0183
50
;80
DB
80
PRINTER
LINES
DB
66
PRINTER
OVERFLOW
DB
64
0
:
16.
;
*
g
0184
42
0
g
;
17.
*
7
0185
40
PAGE
PER
;66
LINE
;64
*
g
18.
;
W
g
;
SEE
PATCHES
TURBODOS
MISC
BELOW
0
g
TurboOOS
;
0186
5000
TDOSA:
0188
0189 12
O1BA IB
O1BB 00000000
;FUNCTI0N
CALL ADDRESS
FLAG
;SET COMPATIBILITY
;SEND COMMAND
LINE
SET
;PRINT MODE
;LEAVE ROOM FOR MORE
50H,O
13
18
27
DB
DB
OD
DB
DB
0,0,0,0
DB
1.22
1.3
05H,O
120
108
76
50H,O
13
18
27
Ver.
V
g
P
g
19.
;
ATTRIBUTE
TABLE
e
g
ORDER:
;
DIM,BLINK,BLANK,REV,UND
4002010408ÁTTBL:
O1BF
40H,02H,O1H,04H,08H
DB
*
}
;
20.
0
g
;
TERMINAL
MUST
SIGN-ON
INCLUDE
MESSAGE
32 POSITIONS
*
g
O1C5 5465726D69ATRMSG:
'Terminal:
DB
','
ADM-3A
0
©
g
;
DATA
'+P
END
0
g
0
3
* 0 0
*
?
g
"r\kl**>k>k:P***TkT*k7***gr**>:<**t"r\>m****lT::*P**7k
*Y*k*T*7k**kTk>77M:
,
y
;
MISC.
SUBROUTINES
.
g
·**>P**>k****a\*:
g
--
USER
*
*
*
MODIFIABLE
k*M::k*>k****"r***y**k***kq"r*7*q"T*kP****7Y*t***:k*******>É
0
g
;
XFER SUBROUTINES ARE USER
MODIFIABLE.
THE ENTRY
BE
TABLE AT 0103H MUST
MODIFIED TO
POINT JUMP
REFLECT ADDRESS
CHANGES.
ALL REGISTERS CAN BE MODIFIED
BE
PRESERVED.
BUT TFIE STACK MUST
0
g
;
NOTE:
;
;
;
NO
CODE
IS
GIVEN--ONLY
SUBROUTINE
DEFINTIONS.
0
g
;
;
TERMINAL
SIGN-ON.
INITIALIZE
P
g
8
SUBROUTINE:
CALLED
ONCE
BEFORE
;XFER0:
*
:
0
?
CONTROL
ATTRIBUTE
VISUAL
;
0
g
*
?
;
;
;
VISUAL ATTRIBUTE WRITE SET SUBROUTINE:
CURSOR
AND
POSITIONS
VISUAL ATTRIBUTES
HL BEFORE WRITE.
SETS SPECIFIED
AT ROW/COL IN
0
g
L=C0L
;
H=ROW
g
g
;
ATTR BYTE
*
g
;
(AS
9
y
;
BIT
ABOVE)
6
DIM
5
4
3
O
O
O
UNO
MUST
RETURN
WITH
7
NOTE:
C=ATTR BYTE
LEN
TRUE=1
-
DEFINED
;
0
?
;
B=FLD
CURSOR
2
O
1
BLINK
REV
BLANK
AT P0S(H,L)
0
?
;XFER1:
*
?
;
;
RESETS VISUAL
ATTRIBUTE WRITE RESET SUBROUTINE:
AFTER WRITE IF NECESSARY.
ATTRIBUTES
*
?
;XFER2:
e
7
;
;
;
SETS SPECIFIED
AT ROW/COL IN
SET SUBROUTINE:
VISUAL ATTRIBUTE READ
CURSOR
VISUAL ATTRIBUTES AND POSITIONS
READ
FIL
BEFORE
IF NECESSARY.
0
g
!3=FLD LEN
L=C0L
;
H=R0W
0
:
;
ATTR BYTE
0
g
;
BITS
7
O
;
-
C=ATTR
BYTE
TRUE=1
6
DIM
5
4
3
O
O
UNO
1
2
BLINK
REV
O
BLANK
0
g
0
g
;
NOTE:
MUST
RETURN
WITH
CURSOR
AT P0S(H,L)
0
g
;XFER3:
*
g
;
;
ATTRIBUTE
ATTRIBUTES
RESETS VISUAL
RESET SUBROUTINE:
AFTER READ
IF NECESSARY.
READ
0
y
;XFER4:
0
:
;
;
CLEAR RESIDUAL ATTRIBUTES:
AFTER INTERRUPTION.
CLEARS VISUAL
GET
HH: MM:SS
ATTRIBUTES
0
?
;XFER5:
0
g
;
TIME
SUBROUTINE:
9
STORE
AT
ADDRESS
;
;
POINTED TO
AVAILABLE.
BY
REG
HL.
USE
99:
99:99 IF
TIME
NOT
0
?
;XFER6:
0
g
;
;
;
GET
DATE SUBROUTINE:
POINTED TO BY REG HL.
AVAILABLE.
0
}
;XFER7:
W
g
10
STORE
USE
YYYYMMDD
00000000
AT
IF
ADDRESS
DATE
NOT
,~
a
g.
\
DéltaBASTC
Read
MTRñWk
this
license
with the terns and conditions
S. Broadway Suite 119, Tyler,
LiK=&e
carefully
herein, return
C.&.l=f!=é.P¿
ccntained
Texas 7SU3.
I . License
MtaSoft, Inc. agrees to grant to the Licmsee,
conditions
of this agreerent, a rmtransferable
enclosed
software
in the accQmnying µEkage·
2.
The
opening this packíge.
you do not agree
the unoµ'ned package to DéltaSoft,
Inc., 7524
If
acceptance of the terms and
upon tjE Licensee's
Inc.
and ncnexclusive
license to use the DeltaSoft,
on Use
agrees to use the enclosed software only cm the ccimµiter sc) deságnated
registration form. Neither this license nor the encksed software tray be asiñgned,
otherwise
transferred
by the Liumsee without written permission of IkltaSoft, Inc.
Restrictions
Li
3. 'Back-up Copies of Program
my náke up to twD copies of
The Lícmsee
.
4.
tiie enclosed
software
provided
it
is for
on the licmse
sublicensed,
or
the Liamsee's
Copies of Documentation
related
dttaticnInc.,or 7425
S.
whcñe
enc1Q8ed
The
my not copy in
or in part the
Addition
copies of the d«trrmtation can te obtained fran DeltaSoft,
119, Tyler, Texas 75703.
Li
Modif ication
tray nrdify the prc)gr=
printer. No other rtrxlificatícns
my
mteria1s.
Bruadway Suite
5.
The Licensee
only to Üe! extent
be wade.
to
adapt
it to
a terminal
or
6. Copyrig?n"
Notice
The SO: ÉF 7rq, CiCf" tmmtation,
by Ik1taSoft,
and related mterials contained herein are copyrighted
Inc.
The ¡jL¿jeiIsee
Fírrther,
Licmsee agrees to
notices.
agrees not to rgIr)ve any copyright
reprMuce
such notices on any copies of the software mde by the Licensee.
7.
tN
NcyÉFdigtlosttre
úcEm!e agrrm not to
softmre, dcrmmtátion or
then only to tjiz extmt
M
8. TetiM
The 1ica1g?
provide, disclose,
related mteria1s
to conduct
of License
sMll remain in effect for
make
available
or otherwise
any lkltaSoft, Inc.
of the Licensee
than
errployees
other
any
Ferson
to
business of Ü1e Licensee.
such perícxj as Úe! Licmsee
The License is sub ject to cancellation
tmditions a the
LioeEsee to tmp1y with tie t«irg and conditions
of this
li.
9.
EMmncelmmts
and
Re! verskm of sdímre,
~mmfa±ured.
si±scri! to the
10.
Limited
mftware,
d'q"1'Af'!'q
Inc. diá11
li.
Updates
dttation,
DékaSoft,
Inc.
and related
Soft\Ñare Uµjate
mteria1s
was
ccrrplíes vith the
by IELtaSoft,
Inc.
currmt at
the time
t
and
and
for faihre of
this
µíckage
Prcgram.
Warrmty
d(mn=athm, and related mrpri·l1q enclcsed in this Facikage. DéltaSoft, Inc.
IkltzGoft,
for a µírticular FurpKjge.
all hiplied warranties of mercMntabi1ity or
ccnsequaitial
damges
related
mtified oF the
mt te liable for
or
expenses evm
p~intyofsiKhda=.
if
TheIÁceEEEm]sttl~ltjlmuu~ingthisprum.
.
DeltaBASIC
This form inust be fi.l-led out
Suite 1!9, Tyler, Texas 75703
registration.
Serial
Form
returned to DeltaSoft, Inc., 742-5 S. Broadway
within 30 days after purchase
to ensure proper
and
number:
Computer
Serial
Registration
system
number
on
of
which the software
computer
will
be used:
system:
(Licensee") , agree to the terms and
,
enclosed.
conditions of the DeltaSoft, Inc. DeltaBASÍC
License Agreement
T
by an individual,
the software package was not purchased
represent that
the authorized agent of the company named below.
T
signature
of individual
or agent
representing
company
If
I
am
date
Address
City/State
Phone
No.
Zip
(
Code
)
lam
enclosiñf' $75.00 for
not
I am
DeltaSoft,
Inc. Software Update Program.
will receive all software and publication
package
for a period of one year.
a
to the
one-year subscription
understand that by subscribing,
I
updates for the above named software
T
DeltaBASIC
Reference
NOTICES
Manual
NOTIICE
COPYRIGHT
Copyright (C) 1984
by
All Rights
DeltaSoft,
Inc.
Reserved
part may be
without written permission of
in any
7524
Broadway,
S.
Suite 119, Tyler, Texas, 75703.
Inc.,
is copyrighted.
All material in thisformpublication
whatsoever
reproduced
DeltaSoft,
NOTICE
TRADEMARK
CP/M
and
trademark
IBM
MP/M
of
are trademarks
Software
2000,
Corporation.
of
Inc.
DISCLAIMER
No
Research.
Digital
IBM
System/34
OF
is
TurboDOS is
a trademark
a
of
WARRANTY
DeltaSoft, Inc. makes no express or implied warranty of any kind
with respect to the use of the contents of this publication.
DeltaSoft, Inc. expressly disclaims all implied warranties of
merchantability or fitness for a particular purpose.
DeltaSoft,
Inc. shall under no circumstances be liable for consequential
damages or related expenses even
notified of the possibility
of such damages.
The user must assume the entire risk of using
the contents of this publication.
if
DeltaBASIC
TABLE
Manual
Reference
OF
TABLE
Section
I
of
Organization
Section
CONTENTS
CONTENTS
Introduction
Features
2
OF
1-l
DeltaBASIC
of the Reference
Manual
...........
Definitions
.. 2-l
2-l
2-l
Constants
..
Variables .,
Numeric Expressions
Character Expressions
Relational Expressions
Logical Expressions
Section
3
Section
4
Abbreviations
................
...........
.........
...........
......
5
4-l
4-l
4-l
Description
....................................
....
................
...............................
FILES...
................
....
...............
...........................................
5-l
AUTO
CLEAR
DEL
5-2
5-3
5-4
5-5
5-6
5-7
5-B
5-lO
Commands
.
FREE
.
.
HELP
LIST
LISTP
LOAD
OFF
RENAME
RUN
SAVE
6
3-l
..................
...................................
.....................
GO
Section
2-2
2-2
2-2
Operation
Basic
The Command/Prograin Edit Mode
Editing Keys
The Program Execution Node
Section
l—1
...
.
......
.
.
.........................
.........................
.................................
..............
...................
.
Statements
5-ll
5-12
5-13
5-14
5-lS
5-16
Description
6-l
CHAIN
CLOSE
6-2
6-3
........
..........................................
....
DeltaBASIC
TABLE
Manual
Reference
DATA
DEF FN
DIM
END
OF
CONTENTS
...............
.......
...........
.............
...........................................
........
...........................................
..........
.................
...............
.....................
EXIT ....................
.
FOR/NEXT
FORM
GOSUB
GOTO
.
...........................................
IF/THEN/ELSE...........
INPUT
LET
..........................................
.........
...........
.........................................
........
Condition
Error ..........
............................. ...
.........
........................................
(disk file)
..............
............
(work station ...............................
file) .......................
(unformatted)
.........................................
PRINT (formatted)
............................
..............................
(internal data)............................
(disk file)
(work station ...............................
file) .......................
............................................
...
............................
........................................
(disk file)
.........................
(workstation ............................
file)
........
(disk file)
......................
........
(workstation file)
..................
.......................
LIXPUT
ON
ATTN
ON
ON
GOSUB
GOTO
ON
RESTORE
OPEN
OPEN
OPTION
PRINT
ON
READ
READ
READ
REM
RESET
RESTORE
RETURN
REWRITE
REWRITE
STOP
WRITE
WRITE
Section
7
.
6-4
6-5
6-7
6-B
6-9
6-lO
6-ll
6-15
6-16
6-17
6-18
6-19
6-20
6-21
6-22
6-23
6-24
6-25
6-26
6-28
6-29
6-30
6-31
6-32
6-33
6-34
6-35
6-36
6-37
6-38
6-39
6-40
6-42
6-43
6-44
Intrinsic Functions
Description
Intrinsic
ABS
ATN
CMDKEY
ERR
EXP
Numeric
...,..,..................
Functions
....................
.
........................................
...
.........
........................................
INT ......................
.........................
LINE ................
........................
........................
........................................
.........................
.......................
............................
LEX
LOG
POS
RND
ROUND
SGN
7-l
7—l
7-2
7-2
7-2
7-2
7-2
7-2
7-2
7-2
7-2
7-2
7-3
7-3
7-3
.
DeltaBASIC
TABLE
Manual
Reference
SIN
OF
CONTENTS
7-3
7-3
7-3
7-3
.....................................
......
.......
..........
'
..
SQR
STATUS
VAL
$
.
7-4
Intrinsic Character Functions ..
CF1R$
CNVRT$
DÁTE$
STR$
TTME$
7-4
7-4
7-4
7-4
7-4
7-4
.
....
.....................................
.......................................
......................................
(Special
character substring function)
.....
Section
8
Utility
..
Programs
Description
GENMSG
KEYSORT
ORGANIZE
RENUM
SOU
Appendix
A
8-I
.................
.........................................
........................................
.......................................
.....................
.....
......................
A-l
A-l
.........................................
List
............................
Reserved Words
.................................
Disk
I/O
of Error Codes
B
Appendix
C
8-ll
B-12
Error Codes
Format
Appendix
8-2
8-5
8-6
B-1
File
Description
.........
Sequential Access
..............................
Output
.............
Input
Update
...................................
............
Relative Access
................................
Output
...............
Input
Update
.....
...................
...........
Keyed Access
...................................
by Key/Output
Key/lnput
....................
Key/Update
.....................
Mode
Mode
Mode
Mode
Mode
Mode
Random
Random
Random
Mode
Mode
Mode
by
by
Sequential
Sequential
by
by
Key/lnput
Key/Update
Mode
Mode
.................
................
.
C-l
C-2
C-2
C-4
C-5
C-6
C-6
C-6
C-7
C-9
C-lO
C-ll
C-12
C-13
C-14
DeltaBASIC
Appendix
Reference
D
Formatted
TABLE
Manual
Data
E
Appendix
F
Appendix
G
CONTENTS
Entry Screens
Description
Data Entry Attributes
Visual Attributes
Appendix
OF
..............,.....................
..........................
..............................
Multi-User Information
.........................
Language Compatibility
.........................
Index
..........................................
D-l
D-l
D-2
E-l
F-l
G-1
DeltaBASIC
INTRODUCTION
Manual
Reference
INTRODUCTION
Section 1.
was designed to meet
programming
language.
DeltaBASIC
business
The
Its
most
for
for a versatile
but easy-to-use
important features include:
Unproved
l.
Versatile
2.
Formatted data entry screens for better
system
complete utilization of computer
3.
Decimal arithmetic
To take
become
file
needs
your
disk
access
(8 or
data
and
user interfacing
capability
digits) for
16
management
improved
more
accuracy.
advantage of these and other features of DeltaBASIC,
you should
familiar with the commands and statements described in this manual.
full
reference
Sections
Section
Sections
available
is organized
manual
2 and
4
3
define
describes
5
through
for
use
follows:
as
the terms
and
the basic operating
describe the
in DeltaBASIC.
7
A
lists error
codes
Appendix B
programs.
lists the reserved
Appendix
describes DeltaBASIC's disk
C
Appendix D describes
DeltaBASIC.
Appendix
Appendix
E
provides
words
the powerful
information
used
this
in
manual.
DeltaBASIC.
and
statements,
functions
that provide support functions
programs
their
and
of
modes
commands,
Section 8 describes various utility
to programs
written in DeltaBASIC.
Appendix
abbreviations
meanings.
that
have
file
formatted
restricted
use
in
DeltaBASIC
I/O features.
data entry screen features
concerning multi-user
F discusses DeltaBASIC's compatibility
implementations.
of
capabilities.
with other
BASIC
Page
l-1
DeltaBASIC
Reference
DEFINITIONS
Manual
Section 2.
DEFINITIONS
Constants
Values that remain the same during program execution are called constants.
Numeric
constants are accepted within the range 1.OE-62 to 9.99...E+62 and
have a selectable
precision of 8 or 16 significant digits (see the OPTION
statement).
Character constants are formed by enclosing alphanumeric
Character constants can be from O to 255
characters in quotation marks.
characters in length.
Examples:
2.45
1.3E-20
"JAMES
SMITH"
Variables
Values that can change during program execution are called variables.
Numeric
variables
Variables take two possible forms: numeric or character.
have the same size
(above).
variables
Character
can
as
constants
restraints
have any length from 1 to 255 characters,
with the length assigned using the
DIM statement.
is automatically set at 18
(If no length is assigned,
characters.)
Either numeric or character variables can be used in arrays.
it
Each
variable must be given a name consisting of l to 8 alphanumeric
The
characters (A-Z, 0-9).
first character of the name must be alphabetic.
The name of a character
variable must end with a dollar sign ($)·
Examples:
RATE
CUSTOMER$
CNST(I0,5)
TABLE$(I)
Numeric
DAY
and character
and
variables cannot have the same name;
Certain words are reserved
use
cannot be used in the same program.
DeltaBASIC
and may not be used as variable
For a
of these
names.
B.
reserved words, see Appendix
le.,
list
Numeric
for
DAY$
by
Expressions
Numeric
expressions are composed of numeric variables and constants, intrinsic
numeric functions,
arithmetic
operators (+, ,*,/,"), and parentheses.
Algebraic rules are used to establish precedence
for evaluating a numeric
expression:
Page
2-l
DeltaBASIC
Reference
First:
When
equal
DEFINITIONS
Expressions within parentheses
Exponentiation (^)
Negation (-)
Multiplication (*), Division (l)
Addition (+), Subtraction (-)
l.
2.
3.
4.
5.
Last:
Manual
precedence
is encountered, evaluation
proceeds
from
left to right.
-35/2
Examples:
2*SQRT(X"2+Y"2)+180
Character Expressions
Character expressions are composed of character variables and constants,
concatenation operators (&), and intrinsic character functions.
Examples:
DB"
A$&"
STR$(65)
Relational
Expressions
Relational expressions are composed of two numeric expressions or two
The valid
character expressions separated by a relational operator.
relational operators are <,>,=, or a combination of two of these. The
combination <> means "not equal to". Relational expressions are evaluated
the program as either true or false.
Examples:
HOURS<=12
FIRST$>LAST$&"A"
Logical
Expressions
Logical
expressions
(NOT,
AND,
program
as
and
OR),
either
of relational expressions, logical operators
Logical expressions are evaluated by the
parentheses.
Evaluation precedence
true or false.
is as follows:
First:
Last:
When
by
equal
Examples:
Page 2-2
are
composed
1.
2.
3.
4.
Expressions within
and
precedence
NOT(ATEUP$)
parentheses
NOT
AND
OR
is encountered, evaluation
AND
A3 THAN A=lO
Line 20 contains a syntax error: THAN should be THEN. When
executed, an error is detected and this message displayed:
(I)
SYNTAX
Error in Line
Suppose
cotnmand/statement
correct the THEN error
error message appears.
and
you
different
(2)
unrecognizable
an
SYN
EDS
is
enough,
was
entering
HELP
encountered.
This time
try again to execute.
Although the abbreviation SYN clearly points to a syntax error, the EDS
information:
Entering HELP gives this additional
a little mysterious.
SYNTAX
ERROR
AT
is short for
that the letter
END
"END
EDS
20
O
was
STATEMENT:
OF
colon or
line
end
STATEMENT".
used
Looking at the
of
instead
the number O.
correct.
HELP
The
OF
10
(return
HELP message
Page
5—8
will
a
20
in Line
Error
20
20
While the meaning of this error is probably clear
information:
provide this additional
SYNTAX ERROR:
line
key)
for error
number
10
is displayed.
may
be
expected.
end of
Changing
line 20, you see
this makes line
DeltaBASIC
Reference
Manual
COMMANDS
{line—mm}
LIST
lists the program currently in memory.
If the optional line
the entire program is listed. If the optional line
not specified,
is used,
then the program line with a line number greater than or equal
is
to the one specified will be the last line listed. In this case, the last
line will be positioned near the bottom of the screen with the cursor located
at the first character of the line. At this point, you can change the line
The LIST
number
number
command
back in
and place
command/program
edit
it
4), the following
"E
"X
RETURN
memory by pressing the
(see
mode cursor control
keys
activated at
special keys
are
Move
Move
key.
In addition
BASIC
OPERATION,
to the
Section
this time:
to the previous line in the program.
to the next line in the program.
Example:
LIST
The
120
(return
key)
is listed with line 120 near the bottom of the screen.
appears at the beginning of line 120 so that the line can be changed.
Pressing the RETURN key replaces the line in the program.
program
Page
5-lO
The
cursor
DeltaBASIC
LISTE'
Reference
Manual
(line—mm l,line—num
COMMANDS
2)
The
LISTP
command lists the current
program
either in its entirety or over the optional
through líne-num 2).
to the
line
list device)
(1ine-num 1
printer (the
number
range
Examples:
LISTP
The
(return
entire
LISTP
Program
program
is listed to the printer.
(return
100,300
lines
key)
IDO
through
key)
300
are
listed to the printer.
Page 5-11
DeltaBASIC
Reference
COMMANDS
Manual
{drv: }name{.typ){,S}
LOAD
frorn disk.
The
program
loads the named DeltaBASIC
file name
S
used to
The
and
option
type.
can include a disk drive reference
is
file
load a source (ASCII) file. The defaults file types are BAS for non-source
files and SRC for source files.
LOAD command
The
files are closed before loading begins. Loading a non-source file clears
the data area of memory, thus destroying all previously defined variables.
Open
Loading
a
source
also clears
program
left intact, with the new
of duplicate line numbers,
the data area, but the program area is
In case
into the current program.
the old line is replaced by the new line.
program
merged
Examples:
LOAD
The
PAYMAIN
program
LOAD
(return
PAYMAIN.BAS
C: PAYMAIN,S
source (ASCII)
the current program.
The
Pmze
S-12
key)
(BAS
(return
program
is the default
file
type)
is loaded into
memory.
key)
PAYMAIN.SRC
is loaded from drive
C,
merging with
De1taBASIC
OFF
Reference
COMMANDS
Manual
{char-expr}
to the operating system after first closing
using TurboDOS and CP/M 3.0, the
any open files.
specifies
optional character expression
a command line to be executed upon
return to the operating system.
The
OFF command
returns
For
control
computer
systems
Unlike
as program
statement to terminate program execution.
edit mode, OFF returns
the
statement, which returns to the command/program
to the operating system.
OFF can
be
used
END
Example:
OFF
(return
key)
Operation returns
999
OFF "KEYSORT
to the operating
system
after closing
any
open
files.
CUSMAS"
In CP/M 2.2 systems, the program terminates and returns control to the
operating system. In TurboDOS and CP/M 3.0 systems, the program terminates,
returns control to the operating system, and then begins execution of the
specified command line.
Page S-13
DeltaBASIC
RENAME
(drv:
Reference
)name
Manual
l{.typ},name
COMMANDS
2{.typ)
command changes
the name of the
specified by name 1
2.
The
by
be
renamed
must already exist
name
name specified
to
be
must
of
the
that
same as
an existing
new name
not
The
file
RENAME
file
file.
Example:
RENAME
The
file
PAYNAS.BAS,PAYMAS.BAK
PAYMAS.BAS
Page 5-14
is
renamed
(return
PAYMAS.BAK.
key)
to the new
and the
DeltaBASIC
Reference
COMMANDS
Manual
RUN
The
RUN
currently
program
executes the DeltaBASIC
begins, the data area of memory is cleared and
command
execution
closed.
in
any
Before
files are
memory.
open
Example:
RUN
(return
Program
key)
execution
begins at the
first line
of the current
program.
Page
DeltaBASIC
SAVE
Reference
Manual
COMMANDS
{drv: }name{.typ}{,S}
SAVE command saves
the DeltaBASIC
currently in memory storing
program
and
disk
the
specified
drive
of the specified name and
the
in
on
in aby file
words
DeltaBASIC
and may not be used as
Certain
reserved
use
type.
for
are
disk file names.
For a list of these reserved words, see Appendix B. With
the S option, the program is saved in source (ASCII) form. The defaults file
types are BAS for non-source files and SRC for source files.
The
it
Examples:
SAVE
The
D: PAYMAS
program
disk in
SAVE
The
and
D
key)
in memory is saved using the
drive.
Non-source form is used.
H0URS,S
in
program
type SRC.
Page 5-16
(return
(return
memory
Source
is
file
name
PAYMAS
and
type
BAS on
using the
file
name
the
key)
saved
on
(ASCII) form
the default
is
used.
drive
HOURS
DeltaBASIC
Reference
STATEMENTS
Manual
Section 6.
STATEMENTS
DeltaBASIC
used in a program
to accomplish
statements are the instructions
such tasks as reading data, performing computations,
results.
In
printing
or
by a
number
becomes
the command/program
edit mode, a statement preceded
Most statements can be executed
by
part of the current program.
RETURN
and
number
key.
pressing the
entering the statement without a
line
line
You
can
must be
put more than one statement
The
separated by a colon.
directly
line, but such multiple statements
line length is 240 characters.
on a
maximum
Page
6-l
DeltaBASIC
CHAIN
Reference
{drv: )name{.BAS)
Manual
STATEMENTS
{,FILES}{,var-list}
statement provides a way to pass execution from the program in
the current program with the program
on disk.
memory to
It replaces
The chained program
must be in nonspecified,
then continues execution.
BAS).
(type
form
source
The
CHAIN
a program
Files will be closed unless the FILES option is taken.
All variables except
those in the variable list will be removed from the data area. When an array
name appears in the variable
list, the entire array remains after chaining to
the new program.
Examples:
100
CHAIN
ACTPAY.BAS,PAYDATE,CLIENT
The
current
drive.
All
preserved.
10 CHAIN
The
Open
E: ACTPAY,FILES
current
Page
is replaced with the program ACTPAY.BAS from the default
files are closed, and the variables PAYDATE and CLIENT are
program
open
program
files are
6—2
left
is replaced with the program ACTPAY.BAS from drive
but all variables are cleared.
open,
E.
DeltaBASIC
CLASE
#
Reference
file-ref:
or
The
{IOERR
{EXIT
STATEMENTS
Manual
line-mm)
line—num)
CLOSE statement closes the
IOERR or EXIT provides a
previously opened under
file
number
should
branch
given.
line
the file reference
error occur.
an
It is
The CLOSE
very important to close files that are no longer in use.
individual
program
provides
capability
during
statement
files
for
this
END
To close
execution.
open files at program
termination,
use the
or
all
GO
END
of closing all open files after an
statement.
will take
care
interruption. Remember, STOP does not close files.
OFF
Example:
20 CLOSE #1:
P0 0
lOó
REM
I/O
IOERR
ERROR
lOó
PROCESSING
0 0 0
The
file
execution
with
will
file
reference number
continue at line 100.
l is closed.
Should
an
I/O error
occur,
Page 6-3
DeltaBASIC
DATA
Reference
Manual
STATEMENTS
cnst-list
DATA statement
is used to create a data list within
internal data list is then used in conjunction with the
assign data values to program variables.
The
This
statement to
a program.
READ
After entering RUN or executing RESTORE, an internal data pointer is set to
As READs are executed, the
the first constant of the first DATA statement.
data pointer will move through the constants in that line and to other DATA
statements as necessary, always keeping track of the next constant to be read.
internal data pointer
The
program
using the
positioned at
statement. (See
be
can
ON...RESTORE
DATA statement must be the
by any executable statement on
(See REM,
end of a DATA
A
first
the
line.
statement
same
below.)
line.
on
any DATA statement in
ON...RESTORE,
below.)
line
a
Remarks
null data entry leaves the corresponding variable
A
example
the
cannot be followed
are permitted at the
and
unchanged.
(See
the
below.)
Example:
10
READ
NÁME$,RATE,TIME
0 D0
READ
NAME$,RATE,TIME
20
* O0
30
DATA
When
"sMITH,jIM",4.50,6.25,"mE,jANE",,12.00
line
10
is executed, variable assignments are
NAME$:
RATE :
TIME :
remains 4.50 since
Page 6-4
a
follows:
4.50
6.25
When
line
20
null entry appears in the
DATA
statement.
NAME$:
TIME :
RATE
as
SMITH,JIM
data pointer will then point to
additional
assignments will be made:
The
made
D0E,JANE.
is executed, these
D0E,JANE
12.00
DeltaBASIC
STATEMENTS
Manual
Reference
FNname{$}{(var-1íst))=expr
DEF
statement defines
the program, as follows:
DEF
The
a
that
user function
can
be
referenced
by
name
in
FNnarne{$){(expr-1ist))
During execution, each expression in the optional expression List is evaluated
The
and
in the DEF statement.
its value passed to the corresponding variable and
passed
DEF
result
evaluated
the
expression in the
statement is then
is
back.
Expression list items must agree in number and type (numeric or character)
with the items in the DEF variable list. Functions can be either numeric or
character, but character functions must be indicated by the dollar sign (S) in
The function
the function name.
name contains from
l to 8 alphanumeric
be
must
characters, the first character of which
alphabetic.
Certain words
be
used
by
DeltaBASIC
and
For
names.
as function
may not
are reserved for use
B.
a list of these reserved words, see Appendix
Variables used in a function
are local to that function;
i.e., are used only within that function.
A
DEF
statement must be executed before the user function is referenced in the
cannot be redefined by second DEF statement.
program. Once
is defined,
A
function statement cannot include a reference to itself or refer to a
function that includes a reference to itself.
it
it
Examples:
10 DEF FND(S,D)=S*D
0 * »
30
DISTANCE=2*FND(SPEED,DURATION)
Assume
SPEED
following
is
30
and
DURATION
made:
assignments are
S:
D:
FND
is evaluated as 300
Evaluation is completed
and
and
10.
is
DEF FNCI.ASS$(P$,N$)=P$&"
line
30
is executed, the
30
10
passed
back
to the expression of
the assignment made:
DISTANCE:
l0
When
line
30.
600
"&N$
* * ¥
30 CLASS$=FNCLASS$(PREFIX$,NUHBER$)
Assume
PREFIX$
following
is
ART and
assignments are
NUMBER$
made:
P$:
N$:
Using these values,
124A.
This result
is
124A.
When
line
30
is executed, the
ART
124A
the user-defined function of line 10 is evaluated to
is passed back to the character expression of Line 30,
Page
ART
6—S
DeltaBASIC
DIM
Reference
var(m{,n,·..))
var$(m{,n,...)){*L)
var$*L
The
DIM
statement
the data area of
is
used
memory,
STATEMENTS
Manual
{g·-·}
{,var(m(,n,.··}))
{,var$(rn{,n,...}){*L))
{,var$*L}
to assign space for numeric and character
to fix the maximum length of character
and
The
constants m,n,... are maximum dimension sizes and
character string length for a character array element.
Array subscripts
in a program.
begin with
1.
Array variables
can
be
L
is the
arrays in
variables.
maximum
dimensioned only
once
Example:
10 DIM SALES(10,1O),SAf.EM$(10)*30,TEMP$*lO
When
executed,
the following
SALES :
SALEM$:
TE!'ÍP$
:
allocations
are
made:
two-dimensional numeric array of size 10 by 10
one-dimensional character array of size 10 by I;
each character
element
with length 30
single character variable with length 10
Page 6-7
DeltaBASIC
Reference
Manual
STATEMENTS
END
The
END
statement
returns
and
files
Program
DeltaBASIC
used
DeltaBASIC
is
to terminate a DeltaBASIC
to the command/program
should be through the
exitcommand/program
(or OFF) is especially
closed.
properly
are
END
END
program.
edit
rnode.
It
closes
all
if
you want
statement
to remain in
edit mode afterwards.
Terminating a program with
important to ensure that files otherwise left open
Example:
9999
END
When program
files
termination is required, statement 9999 is executed.
All
and DeltaBASIC
closed
enters the command/program
edit mode.
are
Page 6-8
open
DeltaBASIC
{IOERR line-mm}
{DUPKEY line-num)
{NOKEY line-mm)
{EOF line-mm)
EXIT
STATEMENTS
Manual
Reference
(9···)
line—mm)
{,IOERR
{,DUPKEY line-num}
{,NOKEY line-mm)
{,E0F line-num)
and CLOSE
statement can be used with OPEN, READ, WRITE, REWRITE,
(See the
statements to provide branching when the specified errors occur.
The
appropriate statements for more information concerning these errors.)
EXIT statement can be accessed
only by way of one of these I/O statements;
EXIT is ignored much as a REM
when otherwise encountered during execution,
statement would be.
EXIT
The
have the saíne error
when a number of I/O operations
is especially useful
EXIT
would
contain an
line number
processing lines. Each I/O statement
referring to the EXIT statement, which would in turn contain the line numbers
EXIT
for the various
error
traps.
Examples:
10
READ
II
FORM
0 0 O
130
135
II:
100
EOF
A,B
130
IOERR
...
0 0 0
lOó
105
#1,USING
REM
PROCESSING
ERROR
END-OF-FILE
...
REM
I/O
ERROR
PROCESSING
...
EXIT
is not used in this program segment.
while file #1 is being read, the program
processing.
an I/O error occurs, the
If
Yow
consider
10 READ
11 FORM
20 EXIT
an
method
equivalent
#I,USING
II:
...
EOF 1OO,IOERR
A,B
EXIT
If
an
branches
program
using the
EXIT
end-of-file error occurs
to line 100 for recovery
branches
to line 130.
statement.
20
130
0 9 0
lOó
105
0 0 0
130
135
REM
ERROR
END-OF-FILE
PROCESSING
...
REM
l/O
ERROR
PROCESSING
...
READ
An
error in the
EXIT statement of
Besides making the
statement of
execution to divert to the
the
various
error conditions are handled.
line
READ
statement simpler, the EXIT statement can be used by
other I/O statements for error branching to line 20.
20.
Here
line
10 causes
Page 6-9
DeltaBASIC
FUR
Reference
var=num-expr I
Manual
TO nuin-expr
STATEMENTS
2 {STEP
num-expr
3}
0 e D
included
DeltaBASIC
staternents
e e *
NEXT
The
var
FOR/NEXT
statements
statements one or more
variable (num-expr I),
3).
If not specified,
set up a loop that performs the included DeltaBASIC
on the beginning value of the index
times, depending
ending value (num-expr 2), and the step size (nurn-expr
the step size is l.
included DeltaBASIC
statements will be executed at least one time before
The "exit" value of the index variable
termination conditions are checked.
be
meets
the
value
that
will
or exceeds num-expr2.
first
The
FOR/NEXT
loops
can
be
nested to
a
level
a FOR/NEXT loop before normal
recommended.
Repeated
exits of
level to be exceeded.
Exiting
this
of
8 deep.
termination is allowed but not
type will cause the maximum FOR/NEXT
Examples:
10 FOR INDEX=1
20 PRINT INDEX
30 NEXT INDEX
These
FOR/NEXT
values from
Page 6-10
1
to
20 STEP
2
statements cause
to 19 in steps of
line
2.
20
The
to
be
executed
"exit" value of
10 times,
INDEX
is
the
printing
21.
DeltaBASIC
FORM
Reference
specification
STATEMENTS
Manual
list
for PRINT, READ, WRITE, and
statement gives the format specification
The specification
can consist of any combination of
statements.
list
by
separated
commas:
the following specifications,
The FORM
REWRITE
"char-cnst"
the character string between the quotation marks
Character constant:
Allowed in PRINT and WRITE only.
output at the current position.
C
is
w
Character field:
the matching character value is treated
string that is left-justified
in a blank field of width w.
as
a
character
CUR(m,n)
Cursor:
the next value
PRINT only.
N
will
be
output at
line
m
and
position
n.
Allowed in
w{.d)
field: the matching numeric value is treated as a character string of
width w, including d decimal positions.
For output, the width must include
both a sign and decimal point position.
For input, an explicit decimal
overrides the implicit decimal position d.
Numeric
PI) w.d
decimal:
the matching numeric value is given in packed decimal format.
For output, the value is rounded
to d decimal places, then packed two binary
coded
decimal digits per position and written right-justified into a field of
The
width w. Only the low nibble of the leftmost position contains a digit.
0000
high nibble is
binary for a positive value and 1000 binary for a
As with zone decimal, no explicit decimal
negative.
is
written. For input,
d
the value is read from a field w wide and then given
decimal positions.
Packed
decimal is not allowed in the PRINT statement.
Packed
PIC(char-str)
Picture:
the matching numeric value is written into a field with width and
composition given by the character string. Valid characters are described
below:
#
Number
digit:
always replaced
by
a
digit.
Z
Leading zero:
any
leading zero replaced
by
a
blank.
Page 6-11
De1taBASIC
Reference
Manual
STATEMENTS
$
Leading
digit.
dollar sign:
dollar sign placed to the left of the
first
nonzero
+
Leading plus sign:
plus sign placed to the left of the first nonzero
digit for a positive value, or a minus sign placed to the left of the
first nonzero digit for a negative value.
Leading negative sign:
blank placed to the left of the
digit for a positive value, or minus sign placed to the
nonzero digit for a negative value.
Blank (ASCII
A
blank
first ofnonzero
the first
left
space)
is placed in the field.
?
Comma:
a comma
otherwise,
the
is inserted in the field if a nonzero digit precedes
is replaced with a blank.
comma
it;
0
Decimal point:
point can appear
a
decimal point is placed in the
in the character string.
field.
Only
one
decimal
+
Trailing plus sign: a plus sign is placed to the right of the last digit
for a positive value, or a minus sign is placed to the right of the last
digit for a negative value.
Trailing minus sign: a blank is placed to the right of the last digit
for a positive value, or a minus sign is placed to the right of the last
digit for a negative value.
CR
or
DB
CR
DB
Credit or debit code:
is placed to the right of the last
or
nonzero digit for a negative value, or two blanks are placed to the
of the last digit for a positive value.
POS
n
Position:
Page 6-12
the next value
will
be
input or output at position
n.
right
DeltaBASIC
SKIP
n
Skip
lines:
X
the next
STATEMENTS
Manual
Reference
lines
n
Allowed in
are skipped.
PRINT
only.
n
Skip positions:
the next
n
are skipped.
positions
ZD w.d
decimal:
the matching numeric value is given in zoned decimal format.
For output, the value is rounded
to d decimal positions and written in ASCII
without a decimal point, right-justified into a field of width w. For a
negative output value, the high bit of the leftmost position is set to 1. For
input, the value is read from a field w wide and then given d decimal
Zone decima1
positions.
is not allowed in the PRINT statement.
Zone
Note:
N, C, ZD, and
Specifications
and
an asterisk
replication factor
contiguous numeric fields of width
FORM
A
a
can
(*); for
6
be preceded
by
2*N
example,
2
with
a constant
6.2 will set
decimal positions.
the first statement
statement on the same line.
statement
executable
by any
end of
PO
be
must
line
on a
Remarks
line.
FORM
dollar sign ($), leading plus (+), or leading
A
follow
a
up
two
cannot be followed
are permitted at the
and
(-) character cannot
minus
#.
Examples:
20
21
Print
FORM
Assume
would
A=
A
#255,USING
"A=",N 9.2,X
is 12.258
appear
B$
is
BAJ..
When
line
20
is executed, the printed line
BAL
·...)....1....)....2
O
Now consider
above
example:
and
follows:
as
12.26
21: A,B$
2,C 4
the
PIC
O
effect of using
specification
######.##
ZZZZZ#.##
ZZZZZ#.##
+++++#.##
+++++#.##
-----#.#//
-----it##
$$$$$#.#//CR
$$$$$#.##CR
a PIC
specifier
Value of
12.258
12.258
-12.258
12.258
-12.258
12.258
-12.258
12.258
-12.258
A
in place of
Printed
N
9.2 in the
Result
000012.26
12.26
12.26
- +12.26
-12.26
12.26
-12.26
$12.26
$12.26CR
Page 6-13
,
DeltaBASIC
Here
is
Reference
example
an
30 WRITE #3,USING
31 FORM
ZD 5.2,POS
is 2.528
Assume
A
record
would
O
2
5
HEX 30
30
32
35
POS
!
SPEC
To
-- -- --
—-
using
ZD
and
B$
is
ABCD.
3
A
33 20
5
—
)
5.2
POS
When
20
20 41
-- --
C
20
20
--
--
20
15
C
10
D
42 43 44
10 ——
—
—
is executed, the written
follows:
as
B
30
line
9 —>)
decimal format works, consider
how
VALUE
+0
02
58 -O
02
HEX
pos
00
02
58
02 58
5
40
41
decimal format:
zoned
in hexadecimal
see
program
spec
STATEMENTS
31: A,B$
9,C 10
appear
VALUE +0
Manual
packed
20...
20
20
—-
-- --
the following
segment:
80
-- -- -- -pd
3.lj
)pd
58 +0
O
30
30
2
5
8 -O
O
2
32 35 38 bo
10
30
32
-- -- -- --
3j
l
zd
5.1
5
35 38
15
-- -- -- -!
)
zd
8
-- -- --
5.1
!
read #6,using 41: a,b,c,d
form 2*pd 3.1,2*zd 5.1
When
line
40
is executed, the values assigned are
A:
B:
c:
D:
Page
6—14
25.8
-25.8
25.8
-25.8
"
as
follows:
data record
and
DeltaBASIC
Manual
statement branches to a subroutine at the specified line
in the subroutine branches back to the statement immediately
GOSUB
RETURN
the
STATEMENTS
line—mm
GOSUB
The
Reference
number.
A
following
GOSUB.
GOSUBs can
be
nested
Exiting a subroutine
good practice
since
type
this
will cause
up
to
20 deep.
without using RETURN
is allowed but is not considered
Repeated
leaves the nested level incorrect.
exits of
the maximum GOSUB level to be exceeded.
it
Example:
10
20
GOSUB
50
...
Oe 0
REM
50
SUBROUTINE
e 0 0
60 RETURN
When
The RETURN
line
10
at
is executed, the program branches to the subroutine at line
line 60 branches back to line 20.
Page
50.
6-lS
DeltaBASIC
Reference
Manual
STATEMENTS
t
G(YID líne—num
GOTO
The
statement branches to the specified
line
number.
Example:
10
GOTO
50
0 e 0
50
...
When
statement
Page 6-16
10
is executed, the
prograrÍí
branches to
line
50.
DeltaBASIC
IF
Reference
THEN line—mm
log—expr
STATEMENTS
Manual
or statement
{ELSE
line—mm
or statement}
The
IF statement branches
on whether the
or executes a statement depending
evaluates
false.
execution
expression
true,
to
true
logical
or
If false, executioncontinues
continues
at the line number or statement following THEN.
If
the ELSE option is used, at the
at the next statement in the program or,
line number or statement following the ELSE.
if
Examples:
10
20
IF
A>=B+C
THEN B=Á
..
When
line
10
A>=B+C
(making
the
is executed,
is evaluated.
If
is greater than or equal
and
the expression true), then B is assigned the
to the sum of
value of A. If A is not greater than or equal to the sum of B and C (making
the expression false), then the value of B is not changed.
In both cases,
execution continues at line 20.
10
20
IF
B
NAME$<>TEMP$
C
AND
A
character
expression is inserted
In this case, num-expr
l.
num-expr
2
num—expr
2
before the character
is ignored.
position
given
by
Examples:
10 A=2*B
20 C$=ADRS$&"
Assume
20
B
"&ZIP$
6,
is
is "lOó
ADRS$
are executed,
the following
A
12
100
:
C$:
To see
ABCD.
10
how
LET
executed,
position)
from
A$,
Characters
be
can
line
10
so
10
is "29012".
ZIP$
MAIN
When
lines
10 and
made:
assignments are
ST 29012
characters,
A$
asswne
will delete the letter
that
A$ becomes
substituted
in the following
statements
is
in
B
(the
second
character
ACD.
a
similar
123,
so
manner:
A$(2:3)="123"
This statement replaces
Now
and
A$(2: 2)=""
When
ID
delete
can
sr',
MAIN
consider
a
substring
BC
with
that
assignment to insert
A$
becomes
A123D.
characters.
A$(2:!)="XY"
2
Since nurn-expr
is less than nurn-expr
XV
characters
are inserted before B.
l,
2
num-expr
A$ becomes
AXYBCD.
is ignored
and
the
Page 6-19
DeltaBASIC
LINPUT
Reference
Manual
STATEMENTS
{"char-str": } char-var
statement assigns an entire line eritered from the keyboard to the
Unlike the regular INPUT statement, LINPUT
specified character variable.
A
of
data
entered rather than as a data separator.
the
reads a comma as part
mark
prompt
(?)
unless
the optional character
question
is displayed as a
string (message prompt) is included.
The
LINPUT
Example:
10 LINPUT
NAME$
This statement assigns keyboard-entered
key
is pressed. If the line entered is
SMITH,J0E
Q.
(return
then the following
key)
assignment
NAME$:
Page 6-20
characters
is
made:
SMITH,J0E
Q.
to
NAME$
until the
RETURN
DeltaBASIC
ON
ATTN
GOTO
Reference
STATEMENTS
Manual
line-mm
IGNORE
The ON ATTN statement selects alternate
interruptions
ways of handling program
caused
by pressing the ATTN key.
terminated and the
Normally the program
command/program
instead cause
edit mode
entered.
Using ON ATTN GOTO
number
branching to the specified
should the ATTN key be pressed. The ON
ATTN IGNORE form
result in the ATTN key being ignored altogether.
will
The
ON
ATTN
selection
is
is
line
can
be
turned
ON
ATTN
off
by
GOTO
O
will
using:
Example:
10
20
ON
If
GOTO
ATTN
RECOVERY
IDO
...
0 0 e
lOó
the
ATTN
)
PROCESSING
the operator presses the
program
braches to line
10 ot:
ATTN
ATTN key
lOó for
at any time after line
recovery processing.
10
is executed,
IGNORE
* P0
Following
program
execution
operation.
of
line
10,
pressing
the
ATTN key
will
have
no
effect
on
Page 6-21
DeltaBASIC
ON
Reference
Manual
GOTO
líne-num
Error Condition
Error Condition
where
can
STATEMENTS
be CONY,
ERROR,
OFLOW, UFLOW,
SOFLOW,
or
ZDIV.
Error Condition statement sets the line number for an error trap.
that error occurs, the program branches to the specified line number for
Error conditions result from a variety of causes.
recovery processing.
Appendix A for more information.
ON
The
The
trap
error
can
be
removed
ON
error
by
If
See
using:
condition
GOTO
O
Example:
10
ON
ZDIV
GOTO
lOó
0 0 0
30 B=12/A
35 A=A+1
0 0 D
lOó
105
B=1E+60
GOTO
35
Assume
A
is
O.
is set to lOó.
branches to line
Pzaoe
6—22
When
10
executed, the division-by-zero
When a
30,
zero division error occurs in
100, where
procedure
executed.
a
line
is
recovery
is
line
error trap
the program
line
DeltaBASIC
ON
num—expr
Reference
GOSUB
STATEMENTS
Manual
line—mm
1{,line—num
2,...}
on
statement causes a branch to one of several lines, depending
rounded
The value is
an
the valué of the numeric expression.
to
first
2, to lineinteger, then
is 1, the program branches to line-mm I;
2;
An
num
etc.
invalid expression value causes execution to continue at the
statement following the ON...GOSUB.
The
ON..,,G0SUB
if it
After
branching to
if
branches
subroutine, subsequent
execution of a RETURN
ON...GOSUB.
As
standard
with a
statement following the
first
the subroutine other than by a normal RETURN
statement should
a
back
to the
GOSUB, leaving
be avoided.
Example:
10 ON 2*A-l
15 A=A+1
GOSUB
20,30,40
2¿)'ij$=HI$
25 RETURN
30 B$=MED$
35 RETURN
40 B$=LOW$
45 RETURN
?
Assume
i's 2. When line 10
evaluates to 3 and the program
branches back to line 15.
A
is executed, the numeric expression 2*A-l
branches
to line 40. At line 45, the program
Page 6-23
DeltaBASIC
ON
num—expr
Reference
GOTO
line—mm
Manual
l{,line—num
STATEMENTS
2,...}
ON...GOTO
statement causes a branch to one of several lines, depending on
The value
the value of the numeric expression.
is first rounded to an
1, the program
2, to linebranches
integer, then
to line-num l;
is
An invalid expression value causes
execution to continue at the
num 2; etc.
statement following the ON...GOTO.
The
if it
if
Example:
10 ON 3*(A+l)/5
15 A=A+1
GOTO
20,30,40
When
line 10 is executed, the numeric expression 3*(A+l)/5
is rounded to 2. The program therefore branches to
2á'á$=HI$
25 GOTO
50
30 B$=MED$
35 GOTO
50
40 B$=LOW$
50
...
Assume
A
evaluates
line
is
2.
to 1.8, which
30.
Page 6-24
DeltaBASIC
ON
num—expr
Reference
RESTORE
Manual
line-mm
l{,line-num
STATEMENTS
2,...)
statement sets the internal data pointer to one of several
The value
depending on the value of the numeric expression.
is first
rounded
data
the
internal
pointer is restored
to an integer, then
is I,
2, to Line-num
2; etc.
An invalid
expression value results
to line—num l;
in no RESTORE being executed.
The
ON...RFSTORE
lines,
if it
if
Example:
ID ON 3*(A+I)/5
15 A=A+1
20,30,40
RESTORE
0 O¥
20 DATA
30 DATA
40 DATA
Assume
7,8,9,0
4,5,6,0
1,2,3,0
A
is
2.
When
line 10 is executed, the numeric expression 3*(A+l)/5
is rounded to 2. The data pointer is set to the first
evaluates to 1.8, which
data value on line 30.
Page 6-25
DeltaBASIC
Reference
#fiíe—ref:
OPEN
Manual
STATEMENTS
a
disk
line-mm)
{EXIT
or
(Open
line-mm}
{IOERR
attributes
char-expr,fi1e
file)
statement opens a disk file for input, output, or update access. The
number
reference
from l through 254.
can be any integer
(File #0 is
file
reserved for regular display terminal operation and #255 is reserved for
These special
printer operation.
file references do not require OPEN statements.)"
The
OPEN
disk file ID is specified by char-expr
parameters (separated by commas):
The
(i)
(ii)
NAME={drv:
(iii)
RECL=record
(iv)
KEYL=key
(V)
KEYP=key
position
to be keyed.
-- required
RANDOM
a keyed
be added
NEW
}name{.typ}
used
-—
only
if
or
(vii)
if
--
KEYED
include
is specified,
the
ifINPUT file
(both
BEGIN
rather
name.
NEW
if
NEW
specified
specified
and
be accessed
keyed
a
to
specified..
and
the
the
file
new
randomly
new
by
key
file.
have
parameters
a
shared status
(each
preceded
in
by
be accessed
by key
by record number.
then sequential
a
a
if
the
or RELATIVE
KEYED
neither
nor
If
access
is selected by
mode
input (reads only allowed) or OUTPUT
mode
neither
output (writes only allowed).
OUTPUT
specified,
then update mode
selected
nor
reads and writes allowed).
if
the
INPUT
to
to
file
required
if
NEW
to
the following
being created.
--
if
file is
the following
if the file is
is to be accessed
file
RELATIVE
file is
file is
if
default.
(iii)
if
—— required
the
multi—user environment.
file attributes
(ii)
used
data
-- required
records are to
SHR
The
comma):
(i)
a new
length (1-32)
to be keyed.
file is
required
(1-2048 bytes)
length
is
(vi)
--
includes
and
file
is
is
is
is
sequential/output
ifthan
at the end of
access
the
If
is to begin at record
one
file.
I/O error occurs and IOERR line-num is specified,
then execution
EXIT line-num is given instead,
the
continues at the line number given.
If used.
EXIT statement at the specified
IOERR
EXIT
lineline is
nor
If neither
results.
num is specified,
an error interruption
If
For
an
more
information
Page 6-26
about disk
file
I/O,
see
Appendix
C.
I)e1taBASIC
Examples
LO
OPEN
Reference
of disk
#1:
file
STATEMENTS
Manual
openings:
"NAM=PAYTRN.DAT,NEW,RECL=200",OUTPUT
200
ÍOERR
Since
Line 10 creates the new file PAYTRN.DAT with a record length of 200.
records will be arranged
neither KEYED nor RELATIVE access is specified,
sequentially,
in the order they are written. The first record written will
record I. The OUTPUT attribute prescribes that file reads are prohibited.
an I/O error occurs, execution will continue at line 200.
10
OPEN
#1:
be
If
"NAME=PAYTRN.DAT",0UTPUT
Since neither I"EYED nor RELATIVE is specified,
access
will be sequential.
OUTPUT
Since BEGIN is not
With the
attribute, file reads are prohibited.
added
end
be
specified,
of the file. This file
new records will
to the
opening would be used to add records to an existing file.
10
OPEN
#1:
"NAMF.=PAYTRN.DAT"
EXIT
lOó
Since neither KEYED nor RELATIVE is specified,
access
will be sequential.
INPUT
OUTPUT
and
Without
specified,
both file reads
rewrites are permitted
or
read will access
Subsequent
The
(update mode).
reads will
record
I.
first
the remainder of the file in a sequential manner (record 2, record 3,
access
etc., to the end-of-file). If an error occurs, the EXIT statement at line 100
is referenced for error recovery processing. This file opening would be used
to update records in the file PAYTRN.DAT.
10
OPEN
Record
number.
#1:
"NAM=PAYTRN.DAT",RELATIVE,INPUT
PAYTRN.DAT
is opened for read-only
file
Requesting a record beyond the
current
access
end
error.
10
OPEN
Ill:
by
of
relative record
file
results
in
an
"NAME=pAMAs.DAT,NEw,REcL=3Q0,KEYL=l0,KEYp=1,RAND0M",KEyED,0UTpUT
This file opening would be used to build a new keyed file. File PAYPIAS.DAT
Key length
created with record length 300.
is 10 and the key begins in
RANDOM
OUTPUT
and
position I. Since
only new records can be
are specified,
added
to the file.
lCl
OPEN
#1:
Keyed
file
specified,
obtain
10
OPEN
Keyed
INPUT
mode).
"NAME=pAmAs.DAT,RANDo}í",KEYED,INpUT
PAYMAS.DAT
is
opened
for
only reads are permitted.
data randomly by key.
#1:
is
random
This
access
file
by
key. Since
opening would be
INPUT
used
is
to
"!iAM=pAYMAs.DTA",KEYED
PAYMAS.DAT
is opened for sequential access by key. Since neither
file OUTPUT
nor
is specified, both reads and rewrites are permitted (update
This file opening could be used to update records in order by key.
Page
6—27
DeltaBASIC
Reference
Kile-ref:
OPEN
Manual
a
Iíne-num)
{IOERR
char-expr
line-mm}
{EXIT
or
(Open
STATEMENTS
file)
vork station
statement opens a work station file for update access. The file
reference number can be any integer from 1 through 254.
(File #0 is reserved
#255
and
display
terminal
regular
operation
reserved
for
for printer
is
These
special file references do not require OPEN statements.)
operation.
The
OPEN
The
file
ID
(separated
specified
is commas):
by
char-expr
and
includes
the following
by
(i)
(ii)
WS
(iii)
RECL=constant
parameters
-- required.
NAME={drv:
)name.FRM
--
required
screen format
file
name.
-- required.
and created by the
must be of type
screen design
file specifiedSDU.COM.
The record length must be greater than or equal to
program
utility
the length of the longest screen input or output buffer in the screen format
file.
and IOERR 1ine-num
is specified, then execution
If an I/O errorthe occurs number
EXIT
continues at
given.
line
is given instead, the
If used. line-num
EXIT statement at the specified
IOERR
neither
line is
nor EXIT lineIf
specified,
interruption
The
num
FRM
is
an
When a work
The
closes.
station
INPUT
terminal
until the
For
information
more
results.
error
file is
opened,
the
and PRINT statements
work station
about
work
(#0) automatically
file
used with the display
be
file is
display
cannot
closed.
station
files,
see
Appendix
D.
Examples:
10
OPEN
#1:
"WS,NAME=PÁY.FRM,RECL=200"
This statement closes the display station file (#0) and opens work station
The maximum input
contains the screen formats to be used.
file #1. PAY.FRM
200,
record
length
the
buffer
length
which
requires
to be set to
or output
is
READ
200.
Screen
and
#1.../WRITE
performed
keyboard
using
input
output
are
#1... statements. If work station file #1 is later closed, the display
station file #0 will automatically
reopen.
Page 6-28
DeltaBASIC
OPTION {PRTZO II},
1, char—expr
expr
The
(ii)
(iii)
(,SPREC
2)
or
s,l,n,o),
{,PTRSET
LPREC),
PRTZO n:
print
16)
width of
zone
(l to
n
BO)
SPREC:
short precision
in ca1culation--8
LPREC:
long precision
in ca1culation--16
forms
Printer
characters
s=0N:
s=OFF:
automatic form feed on page overflow
automatic form feed suppressed
1=line
length:
n=1ines
O
page:
overflow
o=page
(iv)
per
indicates
line:
O
s,char-expr l,char-expr
operating system only, where:
PRTSET
s=D
s=S
s=C
s=U
1=Printer
char-expr
2=Spool
do
(default
no change
Printer
value
(default
mode
control
is
value
for
(default
66)
is 64).
TurboOOS
is direct
... printing
is to spooler
... printing
printing is to console
... unchanged
...
char-expr
Options
2:
is
SPREC)
from the previous setting
no change
indicates
is
width
where:
control,
change
(default
digits.
s,l,n,o:
indicates no
value is 132)
options:
digits (default
PRTSET
O
s,char-
{,PTRSK1
statement provides the user the choice of certain
OPTION
(i)
STATEMENTS
Manual
Reference
or Spooler assignment
drive
not take effect
(A-F',U)
(A-P,U)
until the statement is executed.
Example:
10 OPTION
PRTZO 20,LPREC,PTRSET
When
10
line
Print
ON,0,58,52,PRTSET
is executed, the following
options
S,"A","E"
are selected:
width is set to 20.
precision arithmetic
is selected.
Printer will automatically
form feed on page overflow, line length is
unchanged,
lines per page is set to 58, and page overflow point is
set at line 52.
Output to printer is routed to spooler A on drive E (TurboDOS only).
zone
Long
Page 6-29
DeltaBASIC
Reference
{#255: )
PRINT
Manual
STATEMENTS
{; or .)
list
PRINT)
(Unformatted
unformatted PRINT statement outputs the specified list to the display
#255
terminal or,
is used, to the printer. The list can consist of any
combination of the following data items:
The
if
arithmetic
expressions
character expressions
TAB({1,)p)
to position p or, optionally,
to line 1 position p
-- moves
NEWPAGE
sends
command
clear screen
to display or new page command
-- to
printer
be separated by a comma to
data
or zones (see OPTION, above) or by a semicolon
Ending
adjacent on the
the
with a comma or
feed.
carriage and
The
items
left-justify
must
line.
line
final
if
list
data items into columns
items are to be
semicolon inhibits a
Examples:
10 PRINT
"TODAY
Assume
is
A
";8$;" IS";A;"
10 and
B$
is
YEARS OLD."
ROBERT.
When
is output to the display terminal:
TODAY ROBERT IS
10
YEARS
Note
that
O
spaces
TO
I=l
10 FOR
20 PRINT
30 NEXT
E255:
between
10
is executed, the following
line
OLD.
·...!....1....)....2....)....3
O
line
words
O
must
be
supplied
in the character expressions.
4
I,I1*I
I
This short program outputs the following
position columns)
to the printer:
l
1
4
9
16
2
3
4
....!....1....)....2
O
Page 6-30
O
multiplication table (arranged in 16-
DeltaBASIC
PRINT
Reference
{f255,)USING line-mm:
(Formatted
STATEMENTS
Manual
expr-list
PRINT)
The
formatted PRINT statement outputs the expression list to the display
//255
format specifications
terminal, or
is specified, to the printer, using
FORM
(Sec the explanation
of
given by the
statement at the USING line number.
FORM
statements above.) The expression list consists of numeric or character
expressions separated by commas.
if
Example:
10 PRINT
II
FORM
USING
"SERIAL
li:NO. B$,2*A
",C lO,X
2,"WEIGHT:
",N 8.2
When line
is 12.347 and B$ is A1O-1897.
following is output to the display terminal:
Assume
A
SERIAL
NO.
A1O-1897
WEIGHT:
Modifying
10 PRINT
line
O
10 as
#255,USING
O
shown
li:
below
is executed, the
24.69
·...)....1....|....2....)....3....)....4
O
10
O
will direct output to the printer
instead.
B$,2"A
Page 6-31
DeltaBASIC
Reference
Manual
STATEMENTS
var—list
READ
(Read
internal data)
This READ statement assigns the named variable a data value from the current
The data pointer
position of the internal data pointer.
is then advanced to
(See the DATA statement above.)
the next data value.
Example:
10
READ
NAME$,A?40UNT
* 0 P
50 DATA
JOHN
JONES,I0.50,JANE
the data pointer
assignments:
Assume
is set to
NAME$:
AMOUNT:
The
data pointer
Page 6-32
then
SMITH,8.40
JOHN
JONES.
JOHN JONES
advances
10.50
to
JANE
SMITH.
Line
ID
makes
the following
#file—ref,USING
READ
STATEMENTS
Manual
Reference
DeltaBASIC
{,KEY=char—expr)
Iíne—num
:
{,KEY>=char-expr)
{IOERR line-mm}
{NOKEY line-mm)
{EOF line—mm)
var-list
{,REC=num-expr)
(Read
file)
disk
a
or
{EXIT
line-mm)
This READ statement reads data from the disk file specified by the file
Variables separated by commas in the variable list are
reference number.
assigned values from the current record of the file, using the specifications
in the FORM statement given by the USING line number.
KEY=char-expr specifies that the record with the given key be read. If the
execution continues at the NOKEY
record is not found and NOKEY is specified,
line number; otherwise, an error is reported. The file must be open for
keyed-random/input or keyed-random/update access.
KEY>=char-expr
specifies that the first record with a
equal to the given key be read. The file must be open
sequential/input
or keyed-sequentia1/update
access.
REC=num-expr
The
must
file
specifies
be open
key
greater
for keyed-
than or
that the record with the given record number
for relative/input or reiative/update
access.
be
read.
non-keyed file sequentially
results in the next record being read
of file indication
until an
is encountered. If a keyed file is read
sequentially,
the records are taken in order by key until all sorted keys are
read (see KEYSORT utility, Section 8). In either case,
an EOF line number
is given, the program will then branch to that line; otherwise, an error
results. IOERR, NOKEY, and EOF errors can be trapped at the specified line
numbers,
or an EXIT statement can be used.
Reading
a
end
if
Examples:
10
15
READ
#1,USING
FORM
POS
15,KEY="PENCIJ.":
1O,ZD
COST
NOKEY
100
IOERR
200
7.2
0 0 e
100
REM
NOKEY
REM
I/O
ERROR
PROCESSING
e 0 0
200
Assume
#1
file
value
100.
10
15
ERROR
PROCESSING
#1
is
file read
open
for
using the
is
is assigned to COST.
Should
READ
FORM
an
I/O error
keyed/random
key
If
occur,
#15,USING
IS: KIND$,SIZE
2,C lO,X 6,PD 4
access. When line 10 is executed,
If the record is found, the stored
is found, the program branches to line
execution will continue at line 200.
PENCIL.
no key
EOF 100
X
0 * *
lOó
REM
END-OF-FILE
ERROR
PROCESSIXG
#15
is
file
executed, the
Assume
open for non-keyed sequential
access. When line 10 is
next record of file #15 is read and the stored values are
assigned to variables KIND$ and SIZE.
If the end-of-file is encountered,
execution continues at line 100.
Page 6-33
DeltaBASIC
READ
Reference
#file—ref,USING
(Read
a work
station
Manual
STATEMENTS
line—mm: var—list
file)
This READ statement reads data from a work station file. In this case, the
The USING line number
only data record is the screen input buffer.
gives the
F0R7'Í
how
describes
the variables are read. When a work
statement that
station read is executed, the user enters data into the fields displayed on
the screen. Pressing the return key or a special function key enters the
and execution continues at the
screen data into the appropriate variables,
next statement.
Whenever
a work
display
terminal.
The
following
"L
"H
^G
DEL
"I
^Z
LINE FEED
RETURN
FI,F2,...
file is
station
keys
special
open,
INPUT
are activated
and
PRINT
while the
work
cannot
be
station
used
with the
file is
open:
Moves
Moves
the cursor one character to the right.
the cursor one character to the Left.
Deletes one character to the right.
Deletes one character to the left.
Moves the cursor to the next field.
See Note
Display field help message
defined.
I below.
Moves the cursor to the next field with blank
or zero
Enters the screen data.
(Function keys) Enters the screen data. See Note 2 below.
if
fill.
field message facility requires that a message file of the same
the screen and type of MSG be present on the default disk drive.
Pressing the "Z key displays the corresponding field message in the message
"Z a second
time displays the global message for the same
file. Pressing
At
either
the space bar returns to the data entry
point,
pressing
file.
The field message
is created with the GENMSG utility. (See
screen. PROGRAMS,
file
UTILITY
Section 8.)
Note
I:
The
name as
2:
After returning to DeltaBASIC, the numeric function CMDKEY
(See INTRINSIC
FUNCTIONS,
used to determine the last key pressed.
Section 7.)
Note
can be
CMDKEY,
in
Examples:
30
31
READ
FORM
#3,USING
3*C 30,C
31:
5,N
NAME$,ADRS$,CITY$,ZIP$,BAT.ANCE
8.2
station fil-e. After line 30 is executed, the
to the data items on the screen. The work station input
user
After the RETURN key is
buffer is updated
to reflect this data entry.
read
and
assignments are made to the
pressed, the work station input buffer is
FORY
specification
in line 31.
four variables according to the
#3
is
file changes
Assume
makes
Page 6-34
open
as
a work
Reference
DeltaBASIC
STATEMENTS
Manual
REM
statement that is used to include remarks
or other
is a non—executing
by the total
The length of a remark
limited
documentation in a program.
is
length of the line on which
is found. The REM statement must be the last
statement on a line.
REM
it
The
comments
special character
can also be used for including
in a program.
DeltaBASIC
actually
treated
but
rather
as an end-ofas a
not
statement
It is blanking
beyond
by the
be
character--anything
ignored
entered
the
line
will
of
While
a line,
can appear
cannot
statement processor.
at the beginning
following a colon used as a multi—statement separater.
appear
it
Example:
10
REM
* e 0
)
20
THIS
THIS
IS
IS
A
CONÍENT
ALSO
0 P0
30 C0UNT=COUNT+I
COMENT
A
)
A
COPMENT
CAN
BE
HERE,
TOO.
Page 6-35
DeltaBASIC
Reference
Manual
STATEMENTS
RESET
The RESET
Open
files
statement performs
are not closed.
a
disk reset
to allow diskettes
Example:
10 RESET
Nhen
PaRe
line
10
6-36
is executed,
the disk
system
is reset.
to
be
changed.
DeltaBASIC
Reference
STATEMENTS
Manual
RFSTURE
The
statement moves the internal data pointer
first DATA statement in the program.
RESTORE
of the
to the
first
data value
Example:
10
RESTORE
0 0 $
READ
20
A,B
0 0 4
lOó
200
DATA
12,14
DATA 14,16
Line
20
10
will
sets the data pointer to 12 in line
then make the following assignments:
A
:
B
:
lOó.
The
READ
statement of
line
12
14
Page 6-37
De1taBASIC
Reference
STATEMENTS
Manual
RETURN
back from a subroutine
statement branches
Execution continues at the next statement after the
subroutine.
The
RETURN
to the main program
that called the
GOSUB
Example:
10
20
GOSUB
50
...
0 0 *
REM
50
SUBROUTINE
e 0 *
RETURN
60
When
The RETURN
line
Page
10
6-38
at
is executed, the
line 60 branches
program
back
branches to the subroutine
to
line
20.
at
line
50.
DeltaBASIC
Reference
Manual
REm: TE #file—ref,USING
line-mm:
(Rewrite
a
STATEMENTS
expr-líst
or
file)
disk
line-mm)
{IOERR
{EXIT
line-num)
This REWRITE statement rewrites a disk record that has previously been read.
Expressions are evaluated then rewritten into the disk record using the format
IOERR or
given by the FOR9! statement at the specified USING line number.
EXIT provides a branch
line number should an error occur.
REWRITE
last
The
the
is useful for updating records in
record
file
last
When
read
must
can
a
disk
rewritten.
file. All
be open
operation
rewriting
be
in update mode; otherwise an error
the
to
file must have been a read.
a keyed
file,
an
error
occurs
if
the
key
or part of the
occurs.
field is
In addition,
changed.
Example:
#3,USING
30 READ
35: A,B,C
3*PD 4.1
35 FORM
40 C=A+B+C
50 REWRITE #3,USING
55: C
POS
55 FORM
9,PD 4.1
EXIT
lOó
0 0 e
lOó
EXIT
IOERR
200
0 0 $
200
REM
I/O
ERROR
PROCESSING
disk file #3 is open for keyed-sequentia1/update access. When line 30
A, B, and C
is executed, data values
are read from the record of the next key
C
in the disk file.
then
re-computed
rewritten to the
(line A 40) and
is
B
and
record
50).
Fields
for
values
the record are not
on
original
(line
changed.
The EXIT
number
be
used
(lOó)
an
line
will
error occurs.
If an
I/O error has occured, the program will then branch to line 200.
Assume
if
Page 6-39
DeltaBASIC
Reference
#file-ref,US1NG
REWRITE
Manual
STATEMENTS
1ine-num{,INDIC char-expr):
expr-líst
or
(Rewrite
for
a work
station
{IOERR
{EXIT
line-mm)
line-num)
file)
This REWRITE statement rewrites data and attributes to a work station record
that has previously been read. It is useful for updating a screen when only
certain fields need changing. Expressions are evaluated then rewritten
into
the work station output buffer using the format given by the FORM statement at
the specified USING line number.
The
optional INDÍC parameter is used to control visual and data entry
Characters in the
specified when the work station file is created.
indicators
INDIC character
01 to 99.
expression correspond positionally to indicators
A
The
I
of
01.
character
the
controls
character
indicator
expression
first
O
Dl
The
second
indicator
while
on
character
a
sets
to
sets
to off.
character controls indicator 02 and so forth to 99.
Indicators
are
when
work
opened
and remain off unless
the
station file is
initialized to off
When INDIC
set on with INDIC.
is not used, indicators remained unchanged.
For REWRITE, only fields with the output attribute conditioned by an indicator
that particular indicator
will be rewritten and then only
is turned on.
Also, no screen clear is issued before the screen is rewritten.
it
if
IOERR
or
occurs
EXIT
if
the
An error
provides a branch line number should an error occur.
READ.
work
the
was
a
operation
station
to
not
last
file
Example:
20 WRITE #I,USING
25,FORMAT "CMM-OO1",INDIC
C 30,C
5,C I
25 FORM
#1,USING
30 READ
35: CNAl'tF.$,ZIP$,STAT$
C 30,C
5,C
35 FORI'Í
OR
OR
STAT$="I"
STAT$="D"
40 IF STAT$="A"
50 REWRITE #1,USING
" "
"11":
55,INDIC
POS
36,C 1
55 FOR9Í
30
60 GOTO
70
"IQ":
l
CNAME$,CZIP$,STAT$
THEN 70
...
Assume
update
work
station
Ill is
fileCZIP$,
CNAXE$,
fields:
attributes are conditioned
by
open and
STAT$.
AND
consists of three
screen CM-OOl
Further, assume only the following
indicators:
FIELD
ATTRIBUTE
INDICATOR
STAT$
STAT$
Output
Position
01
02
the screen format C6M-OOl
is cleared and
is executed, the screen
STAT$
OI
the
on,
field will be output.
is set
is displayed. Since attribute
Note
When line 30 is executed, screen input is accepted.
that since indicator
CNAME$, the
the
02 is off, the cursor will appear
at field
first field on key
and
When data entry is complete, the operator presses the
screen.
STAT$
D),
40.
(A,
valid
character
I, or
execution continues at line
is a
If Otherwise,
the program continues at lirie 70.
line 50 causes a rewrite and
When
line
20
RETURN
PaRe
6-40
DeltaBASIC
Manual
Reference
STATEMENTS
Since only the STAT$ output field is
an indicator,
is rewritten while all other fields will
unchanged.
remain
Because
indicator 02 is turned on, the cursor will be
positioned on the STAT$ field for the next read.
sets indicators
conditioned by
DI
and
02
on.
it
Page 6-41
DeltaBASIC
Reference
Manual
STATEMENTS
STOP
statement stops the program.
All files
To continue the program, a
printed.
message
is
(See the explanation
frorn the keyboard.
of the
The
STOP
remain
open and a stop
command must be entered
(jO
command in Section 5.)
GO
Example:
100
STOP
When
line lOó is executed,
command
is entered. Files
Page 6-42
execution is interrupted
at this point are left open.
program
open
until
a
GO
#fil-ref,USING
WRITE
(Write to
a
STATEMENTS
Manual
Reference
DeltaBASIC
{,RFC=num-expr}:
line-mm
expr-list
file)
disk
or
{IOERR
{DUPKEY
{EXIT
line-mm}
line-num)
line-mm)
statement writes data to a disk file specified by file reference
Expressions are evaluated then written to the current record of the
given in the FORM statement at the
disk file using the specifications
specified USING line number.
The WRITE
number.
The
file
the record with the given record
for RELATIVE access.
specifies
REC=num-expr
be open
must
number
be
written.
when writing new records.
for keyed-random
access
and length as
new record is taken from the key position
Before the record is added to the file, the key is
file.
checked
against the key list. If a duplicate is found and DUPKEY is
specified,
then execution continues at the DUPKEY
line number; otherwise,
error results.
be
files must
for the
defined for the
Keyed
The key
open
non-keyed sequential file is written,
new records are added
of file unless the BEGIN parameter was specified when opening the
the OPEN statement above for more information.
When
a
I/O error
statement can
An
can be trapped
be used.
at the specified
line
by
IOERR
or
an
to the
file.
an
end
See
EXIT
Examples:
10 WRITE
15 FORM
C
#1,USING
IS: PART$,QTY
6
7,X 30,ZD
lOó
DUPKEY
IOERR
200
* * 0
lOó
REM
DUPKEY
REM
I/O
e 0 0
200
ERROR
ERROR
#1
is
file
record begins
PROCESSING
PROCESSING
for keyed-random
access, and that the key position of
in position I and has length of 7. Further, assume PART$ is
10-1054
and QTY
is lOó. When line 10 is executed, 10-1054 (PART$) is checked
against both the sorted and unsorted key lists.
If a duplicate is found,
execution continues at line lOó; otherwise, a new record is written to file #1
and 10-1054
is added to the unsorted key List. Should an I/O error occur,
execution will continue at line 200.
Assume
the
IQ WRITE
15 FORM
#15,USING
POS
30,ZD
open
15:
7.l,X
A+B,C
2,PD
EXIT
lOó
4
0 * P
lOó
EXIT
IOERR
200
0 0 0
200
REM
I/O
ERROR
PROCESSING
#15
is open for non-keyed
file
specified,
the new record containing
end of the
file. If an error occurs
lOó.
Assume
line
sequential access. Since
the values of A+B and C is
during the write, execution
BEGIN
added
is not
to the
continues at
Page 6-43
DeltaBASIC
WRITE
(Write
Reference
#fil-ref,USING
to
a work
Manual
1ine-num,FORMAT
station
STATEMENTS
char-expr
{,INDIC char-expr):
expr-list
file)
The
must refer
to a file opened as a work station.
screen
file reference
then
values
cleared,
the
displayed
expression
the
on
is
are
screen and
list
written into the work station output buffer using the format given by the FORM
statement at the specified USING line number.
The
FORMAT
specifies
which
screen in the format
file is
to
be
used.
The
optional INDIC parameter is used to control visual and data entry
attribute indicators specified when the work station file is created.
Characters in the INDIC character expression correspond positionally to
01 to 99.
The
indicators
first character of the expression controls indicator
DI. A character ! sets indicator 01 to on while a zero sets
to off. The
second
character controls indicator 02 and so forth to 99.
Indicators
are
initialized to off when the work station file is opened and remain off unless
When INDIC
set on with INDIC.
is not used, indicators remained unchanged.
it
Example:
30 WRITE #3,USING
3*C 30
31 FORM
#3
is
file
CMN-OOI
31,FORMAT
"CMM-OO1",INDIC
"1010":
NAME$,ADRS$,CITY$
When line 30
open as a work station
is executed,
file.
terminal
along
display
with
the character
format
the
written
to
is
values NAME$, ADRS$, and C1TY$.
Fields and attributes conditioned by
02
Dl and 04
indicators
are turned on; attributes conditioned by indicators
work
and 03
also
the
turned
This
data
written
station
input
to
off.
is
are
READ
operations.
during subsequent
buffer so that
can be changed
Assume
it
Page 6-44
DeltaBASIC
Reference
Manual
Section 7.
INTRINSIC
INTRINSIC
FUNCTIONS
FUNCTIONS
provides a number of intrinsic functions that can be used in
Those
that produce
numeric
character expressions.
numerical results are
classified as numerical functions, while those that produce character results
The
below
contains
are classif led as character functions.
first
list
and
second,
functions.
the
character
numerical functions
DeltaBASIC
and
-r
Page 7-1
DeltaBASIC
Reference
Manual
INTRINSIC
FUNCTIONS
.
INTRINSIC
NUMERICAL
FUNCTIONS
A8S(num—expr)
Gives the absolute value of the numeric expression.
ATN(mm-expr)
(in radians)
Gives the angle
whose
tangent
of the following values,
station screen read:
depending
is given
by
the numeric expression.
(MDKEY
Gives
one
a work
Key
pressed
key
was
pressed to leave
for
a
Value
O
RETURN
function
function
.
which
on
key.
key
FI
1
F2
2
0 0 0
ERR
Gives the error
numbers
number
,and messages.
of the
last error.
See
Appendix
A
list
of error
EXP(nuin—expr)
Gives the value of constant
e
raised
to the
power
of the numeric expression.
INT(ním-expr)
Gives
the largest
integer
less than or equal to the numeric expression.
LEN(char-expr)
Gives the number of characters
character expression.
in the string currently
assigned to the
LINE
Gives the
line
number
of the
last error.
I1AG(num—expr)
Gives the natural
FOS(char—expr
(base
logarithm
l,char—expr
2
e) of the numeric expression.
{,nim-expr))
Gives the position of the first occurrence of char-expr 2 within char-expr 1.
1
The search begins with position
unless num-expr
is specified in which case
by
with
the
given
position
search
begins
the
num-expr.
Page 7-2
INTRINSIC
Manual
Reference
DeltaBASIC
FUNCTIONS
RND(num—expr)
Gives
number
a pseudo-random
<
num-expr
num-expr
num-expr
=
>
O
and
l, with the followinp
variations:
number
generator is reseeded.
then the pseudo-random
number
pseudo-random
then previous
is given.
number
then a new pseudo-random
is generated.
O
O
O
ROUND(num-expr
between
1,num-expr
2)
given by
the value given by num-expr
l to2 the number of decimal places
rounded
be
2.
I
to
will
the value of num-expr
is zero,2 num-expr
If num-expr
A
number.
negative value for num-expr
a whole
will cause rounding to that
many positions
left of the decimal point.
Rounds
SGN(nurn-expr)
Gives the value:
I
if
if
-l if
O
O.
= O.
<
O.
>
num-expr
num-expr
num—expr
S1N(num—expr)
Gives the sine of the angle
(in radians) specified
in the expression.
SQR(num-expr)
Gives the
root of the numeric expression.
square
STATUS(num—cnst
I
Gives the status
{,num—cnst
of certain
num-cnst
O
system
parameters,
depending
on
num-cnst
I:
STATUS
key pressed
Last keyboard
below
File information--see
Current printer line
Number of bytes of unused
memory
Current user number
1-254
255
256
257
num—cnst
If
determines
l
2))
I is a file reference number of an open file, then num-cnst
which additional
file parameters are given.
num-cnst
O
I
2
3
2
2
STATUS
Record
length--all DeltaBASÍC files
End-of-file record number--all DeltaBASIC files
Number of sorted keys--keyed
files only
Number of unsorted keys--keyed
files only
VAL(char—expr)
Page 7-3
DeltaBASIC
Gives
Reference
Manual
INTRINSIC
FUNCTIONS
the numeric value of the character expression.
FUNCTIONS
INTRINSIC CHARACTER
CHR$(num-expr
the
specified,
expr 2.
ASCII
Gives
2})
l{,num-expr
the
character with value of num-expr
character is repeated the
I.
ASCII
When
number
2
num-expr
of times given
is
by
num-
CNVRT$(char-expr,num-expr)
Converts the value of the numeric expression to a character string, using the
The N, ZD, PO, and PIC format
format specified by the character expression.
FORM
(see
specifications
can be used
the
statement in Section 6 above).
DATE$
Gives the date in character string
value of DATE$ for March 16, 1945
YYYYMDD.
representation
is
For
example,
the
19450316.
STR$(num-expr)
'
Converts the value of the numeric expression
to
a
character
string.
)
TIME$
Gives the time in character
Character substring
(num—expr
l:
num—expr
string
representation
(HH:
M:SS).
l
'
function
{
2)
1 and
ending
Creates a substring beginning with the position given by num-expr
2.
specifications
the
substring
with the position given by num-expr
are
If
beyond
the last character of the string, a null character string is returned.
The substring
function can follow character variables and character functions.
Examples:
If
If
A$
is
TINE$
Pciqe!
ABCD,
is
7—4
02:
then
30:15,
l
A$(2:
3)
then
will
be BC.
TIME$(4:
5)
will
be
30.
DeltaBASIC
Reference
UTILITY
Manual
Section 8.
UTILITY
PROGRAMS
In addition to DeltaBASIC
itself there are several utility
by Deltasoft,
and
Inc. to assist you in program development
The
utility programs discussed in this section are:
PROGRAM
DESCRIPTION
GEIYMSG
Used
to create
KEYSORT
Used
to keysort
ORGANIZE
Used
to perform certain
RENUM
Used
to
SOU
Used
to design formatted
renumber
field
PROGRAMS
message
a DeltaBASIC
file
DeltaBASÍC
prof'rams
file
provided
maintenance.
files
keyed
data
maintenance
file
operations
programs
data entry screens
Page
8-l
DeltaBASIC
Reference
Manual
UTILITY
PROGRAMS
GENMSG
CÉ)ÑS(j
is
formatted
using:
(HELP)
from
the
files
for generating field message
GENMSG
entry screens.
is invoked
utility
data
a
GENMSG
{drv: )filename
(return
used
operating
with
system
by
key)
filename refers to an existing ASCII text file that contains a list of the
intended to accompany a formatted data entry screen. The filename
the same as the screen name and be of file type LIB. Each field
message
in the LIB file consists of a comment line beginning with a pound sign
(#) followed by one or more message lines, the last of which is terminated
with a vertical bar symbol ( ).
The
messages
must be
The
LIB file can be created with any standard text editor. Each line should
terminated by a carriage return and line feed. The order of the message
corresponds to the order of the fields on the formatted data entry screen,
except that the first message block is reserved as a global message for the
entire screen. The second message is associated with the data entry field
nearest the upper left corner of the screen. The remaining messages are
associated with the remaining data entry fields, proceding from left to right
and top to bottom down the
screen.
be
GENMSG
uses
MSG.
type
field
the LIB file to create
This file, not the LIB
messages.
To
illustrate the use of screen
entry screen below:
HELP
a second
file,
messages,
MESSAGE
file
with the
accessed
is
consider
EXAMPLE
by
same name but of
DeltaBASIC
to display
the simple formatted
data
SCREEN
Data
Output Field
Data
Input Field
l: ********
Data
Input Field
2:
0OOO00OO
********
HPIE-OO1
and
is contained in format file HELPEX.FRM.
screen name is
consists of four constant or label fields, one output only field
(designated by 00000000), and two data entry fields (designated by ********).
Assume the
The screen
The
step is
firststandard
using
a
Page 8-2
to create
text editor.
a HELP message
The
result
(LIB) file with the
appears below:
name
!lúíE-O0I
#
The
following
Screen
HME-OO1
#
#
following
The
This
is
is
a
global
used
following
is
a HELP message
(end-of-file
mark:
IA
for data entry
field
field
the LIB message file must be converted to
DeltaBASIC. This is accomplished by using the
GENMSG
the GENMSG
default drive.
field
l:
field
2:
2.
hex)
Next
When
DeltaBASIC.
for
1.
for data entry
for data entry
PROGRAMS
INE-OO1:
for screen
HELP messages
for data entry
a HELP message
HELP message
is the
HELP message
illustrate
to
HELP messa3e
is the
The
This
is
UTILITY
Manual
Reference
DeltaBASIC
utility
the
MSG
GEXl'lSG
(return
HME-OOI
finishes,
a
file
file for
utility
use
as
by
follows:
key)
FNE-OOIMSG
will exist
on
the
The
Assume the
screen HELP messages are now ready to access from DeltaBASIC.
HELPEX.FRM
and screen EME-OOI has been
open as a work station
displayed with a WRITE statement.
After executing a work station read, the
file
is
screen looks
like this:
HELP
The
field.
EXAMPLE
Data
Output Field
Data
Input Field
I:
Data
Input Field
2:
SCREEN
HELPTEST
//
"IIELPTEST"
occupies the
The pound symbol
(#)
HELP key ("Z) displays
(The second
HELP message
The screen then looks
string
entry fields.
Pressing the
message.)
MESSAGE
output field and blanks occupy the two data
indicates the location of the cursor.
the HELP message for the first data entry
is selected--the first is the screen global
like this:
Page 8-3
DeltaBASIC
This
is
a
Reference
help
Pressing the
Screen
is
Pressing any other
everything exactly
fiad the
HELP key
This
is
cursor
would
a
Otherwise,
help
for data entry
message
HELP key
HME-OO1
Manual
been
have
field
another time displays
used
key
to
illustrate
returns
it
as
was
the global
HELP messages
the original
before.
for data entry
would
be
exactly
field
as
PROGRAMS
l.
work
HELP message:
for DeltaBASIC.
station
positioned at the second data entry
displayed the third HELP message:
message
operation
UTILITY
screen with
field, pressing the
2.
in the
case
above.
DeltaBASIC
Reference
Manual
UTILITY
PROGRAMS
KEYSORT
The
KEYSORT
utility
reorders
the
key
(type KEY) is actually
file
sorted keys with pointers
file
a DeltaBASIC
of
keyed
The
of two lists.
contains
to records in the data file.
keys and pointers
associated with data that has been
unsorted
contains
list
KEYSORT
added to the
When the
was performed.
since the last
file
file is
and
accessed
unsorted lists are both checked using a
randomly, the sorted
binary tree search algorithm.
the requested key is found, the pointer is
If
Keyed sequential
used to gain access
access
to the corresponding data record.
managed
key
portion of the key file
differently. Pointers from the sorted
is
sequentially,
resulting in key-order processing of the
are accessed
corresponding data records.
In this case, keys in the unsorted part of the
key
file are not accessed.
The
key
The
KEYSORT
utility
ensuring that
list
processing.
The KEYSORT
command:
sorts the unsorted keys and merges them into the sorted
all data records will be accessed during keyed sequential
C, Disk File 1/0.
For more information,
see Appendix
utility is
invoked from the operating
KEYSORT
The
composed
file.
first
list
The second
data
filename
must
refer
to
{drv: )name
a keyed
data
system
(return
file.
No
file
using the following
key)
type
is
needed.
Page 8-5
DeltaBASIC
Reference
Manual
UTILITY
PROGRAMS
ORGANIZE
The
ORGANIZE
(i)
(ii)
(iii)
(iv)
is used
utilityinclude:
to perform certain
data
These
operations.
an ASCII
text
a DeltaBASIC
Remove marked
records
Convert a DeltaBASIC
Convert
Convert
ORGANIZE
by entering:
is
an
interactive
file
data
ORGANÍZE
management
data
a DeltaBASIC
to an ASCII text
data
a De1taBASIC
to a keyed
file.
file.
file.
file.
to
file
from
data file
program
file
that
is invoked from the operating
(return
system
key)
You
are then presented with a series of questions that, when answered,
determine the specific operation that is to take place. The remainder of
section describes the dialog for each of the four operations listed above.
Page 8-6
this
DeltaBASIC
(i)
Reference
Converting
an
Manual
ASCII
text
file
UTILITY
to
a DeltaBASIC
data
PROGRAMS
file.
Occasionally
is necessary to convert data from an incompatible format for
The
use with DeltaBASIC.
text file with
first step involves building an ASCII occupy
the data written on each line exactly in the position
in the
will
DeZtaBASIC
data file. Each text line should be terminated by a carriage
return and line feed. ORGANIZE is then used to copy each line of ASCII text
data file, preserving the data's
into a separate record in the DeltaBASIC
positional
relationship.
the text line is shorter than the DeltaBASIC
data
If
be filled with
DeltaBASIC
record,
the
remainder
of
the
data
record
will
file
blanks.
data file record, the
text line is longer than the DeltaBASIC
If the end
beyond
The interactive steps for
of the record will be ignored.
the
text
this operation are as follows:
it
it
ORGANIZE
Question
INPUT
FILE
File
name?
File type?
Your
Reply
Explanation
{drv: }name{.typj
Enter the
A
Enter
{drv: }name{.typ)
Enter the
data file
num-cnst
Enter the record length of the
DeltaBASIC
data file
Y
Enter y to complete the operation
to restart
A
name
for
of the
ASCII
text
file
ASCII
OUTPUT FILE
File
Record
name?
length?
Continue?
or
N
name
of the
new DeltaBASIC
or
N
Page 8-7
DeltaBASIC
(ii)
You
Reference
Converting
Manual
a DeltaBASIC
data
into
ASCII
an
text
file
text file that can be used by another
is in effect the reverse of operation (i)
line lengths exactly equal to
file will have Follow
these steps to complete
file.
this operation:
ORGANIZE
INPUT
File
file
PROGRAMS
use ORGANIZE to prepare an ASCII
such as a text editor.
This
ASCII
The resulting
text
data
record length of the DeltaBASIC
can
program
above,
the
UTILITY
Reply
Your
Question
Explanation
FILE
name?
{drv: }name{.typ}
Enter the
name
of the
DeltaBASIC
data
ASCII
file
file
File
Key
type?
position?
Delete position?
D
Enter
D
for data
(return
key)
Press
the
RETURN
key
(return
key)
Press
the
RETURN
key
name
of the
OUTPUT FILE
{drv: }name{.typ}
Enter the
File type?
A
Enter
Continue?
Y
File
name?
Page 8-8
or
N
A
for
text
ASCII
Enter y to complete the operation
to restart
or
N
DeltaBASIC
(iii)
Reference
Manual
marked
records from
Removing
UTILITY
a DeltaBASIC
data
PROGRAMS
file
Deleting a record from a DeltaBASIC
data file (keyed or not) is done by
marking the record in some way, then copying all unmarked records to a new
is useful to include a one
file. In defining the fields of a data file,
character status field for this purpose. To eliminate marked data records
using ORGANIZE, follow these steps:
it
ORGANIZE
INPUT
File
Question
Your
Reply
Explanation
FILE
{drv: jname{.typj
name?
Enter the
name
of the
DeltaBASIC
data
file
File type?
D
Key
(return
position?
key)
for data
Enter
D
Press
the
RETURN
key
Delete position?
num-cnst
Enter the position
Delete character?
num-cnst
Enter the numeric value of the ASCII
delete character or the character
itself enclosed in quotes.
or
"character"
of the delete
field
OUTPUT FILE
File
name?
{drv: )name{.typ)
Enter the
data file
File type?
D
Enter
Record
nurn-cnst
Enter the record length of the
DeltaBASIC
data file
y
Enter Y to complete the operation
to restart
length?
Continue?
Note:
rebuild
Ifthethe
new
data
keyfile.
or
N
file is
to
be
keyed,
D
use
name
of the
new DeltaBASIC
for data
the procedure of
(iv)
new
below
or
N
to
Page 8-9
DeltaBASIC
Manual
Reference
(iv) Converting
a DeltaBASIC
Several situations
file into a keyed
arise
may
UTILITY
data
file
that
call for the conversion of
to
below
PROGRAMS
file
a keyed
a few
a DeltaBASIC
examples:
data
list
1.
data file was built from an ASCIT text file or by
new DeltaBASÍC
needs
deleting records from an old data file (see above) and
to be
it
keyed
converted to a
file.
2.
DeltaBASIC
data file was built or extended using sequential processing
keyed
format for further work.
save time and now must be converted
file.
The
contains
A
A
to
3.
key
to
existing DeltaBASIC
position and/or length.
An
keyed
Follow these steps to convert
ORGANIZE
INPUT
File
Question
Your
data
file
a DeltaBASIC
Reply
needs
data
rekeying,
file
possibly
a keyed
to
with
a new
file:
Explanation
FILE
name?
{drv: }narne{.typ}
Enter the
name
of the
DeltaBASIC
data
file
File
type?
D
Enter
I)
for data
Key
position?
num-cnst
Enter the position
Key
length?
nim-cnst
Enter the length of the
{drv: }narne.KEY
Enter the
of the
key
key
OUTPUT FILE
File
name?
of the
DeltaBASIC
key
file
Continue?
Page
name
8-lO
y
or
N
Enter Y to complete the operation
to restart
or
N
DeltaBASIC
Reference
UTILITY
Manual
PROGRAMS
RENUM
The
RENUM
utility
RENUM
program.
command:
RENLM
The
{drv:
name
is invoked
}name.BAS
}name.BAS
used to renumber
from the operating
is
lines
system
of a non-source DeltaBASIC
using the following
{;nurn-cnst 1,nurn-cnst 2,num-cnst 3,num-cnst
parameters are defined
{drv:
After
program
as
4)
(return
key)
follows:
The
non-source
beginning
num-cnst
l
New
num-cnst
2
Increment lines
num—cnst
3
Begin
num-cnst
4
End
DeltaBASIC
line
renumber
renumber
(default
to
this line
this line
successful completion, the newly
as the original but with type REN.
number
number
renumbered
The
5)
I)
(default
(default
version
original
be renumbered.
10)
this value (default
by
at
at
number
program
will
program
65534)
have the same
unchanged.
is
Page
8-ll
DeltaBASIC
Reference
Manual
UTILITY
PROGRAMS
SOU
(Screen Design Utility) is used to create and modify formatted data entry
SOU
is a menu driven, interactive program
screens in a screen format file.
with full screen editing capabilities. For a given formatted data entry
screen, constant and data fields can be visually arranged in any way desired
and follows
precedes
each field.
Data entry and
so long as a blank space
visual attributes can be selected for each field.
SOU
The
Screen
Design
Utility is invoked
SOU
where
refers
name
to
entering:
{{drv: }name)
screen format
a
by
(return
file
of type
key)
FRN.
SOU
then displays a menu of eight options along with the name of the currently
selected format file and a directory of associated screens. The menu options
To select an option,
of each.
are listed below with a detailed description
simply press the key shown in parenthesis.
(A)dd
file.
The add facility
will first prompt
characters
After
a new
screen to
a
format
you to specify a screen name of eight
less.
the
or
screen name has been entered you will be
given the opportunity to enter the new screen from the (K)eyboard or
frorn the (D)isk.
retrieve
you press the D key you will be prompted
If
for the format file and name of the screen to be added, after which SOU
(U)pdate option of the menu for the new
will automatically enter the
K
RETURN
key (K is the default), the display
the
you
screen.
press
or
If
be
cleared,
which
place
you may
constant and data fields on
will
after
the screen as they will be viewed. SOU requires that the first and last
column
of the display not be used and that there be a minimum of two
between
horizontally
spaces
any two fields.
it
of SOU can be reviewed by pressing the help
text editing capablities
(^1) or by referring
to the table below. Note that sorne of the
editing features are not allowed when adding a screen.
The
key
After all fields
character should
after
each
attributes for
d
C
D
Page B-12
placed
before
field.
Specification
c
have been
be placed
characters
a
field.
satisfactorily,
each field and
a
a
specification
terminator character
determine the default data entry and visual
characters are:
basic specification
The
-- low intensity, constant field
input/output
data field
-- low intensity,
-- normal intensity, constant field
normal
intensity, input/output data field
--
DeltaBASIC
UTILITY
Manual
Reference
four other specification
In addition,
similar default values:
characters
--
b
input/output
data field
-- low intensity,
normal
intensity, constant field
--
B
--
are user definable
with
intensity, constant field
low
a
A
PROGRAMS
intensity, input/output
normal
defaults
screen.
These
can
be changed
by
entering
data
"X
field
while adding or updating
a
character ( ) must be placed to mark the end of each field.
characters have
fields, specification characters, and terminator ATTN
all
by
"enter"
key.
the screen
properly placed,
pressing the
passed
Control is automatically
to the (U)pdate option of the menu so
that changes can be made to the attributes of each field.
no changes
If
ATTN
key
again to return to the menu; otherwise,
are necessary, press the
(ignore the part
refer to the (U)pdate option for detailed instructions
requesting a screen name to update).
A
terminator
When
been
(U)pdate
an
screen in
existing
a
format
file.
update facility will ask you to specify the name of a screen in the
currently
selected format file. After the screen name has been entered,
the previously defined constant and data fields will be displayed and you
SOU
change,
requires that the
can then add,
or remove fields as desired.
used
and
be
and last column
there be a
display
that
of
the
not
first of two spaces horizontally between any two
minimum
fields.
The
The
key
text
("I)
editing
To
add
of SOU can be reviewed by pressing the help
editing capablities
by referring
to the table below. Note that some of the
or
features are not allowed when updating a screen.
field, enter the field
and
on the screen with specification
Screen
(A)dd
described
menu
terminator characters as
option
in the
a
above.
Next move the
cursor to the beginning of the field (adjacent to
The field will then be added
character) and press "A.
the specification
and the
displayed
to give you the option to modify the
attribute screen
To change
defaults given by the specification
character.
the attributes
of a previously created field, move the cursor to the beginning of the
field and press "C after which the list of attributes will be displayed
To remove
a field, move the cursor to the beginning of
for modification.
and
the field
a field cannot be
press ^R. Note that, once removed,
recovered.
When
a
finished,
convenience,
to "enter" the screen. For
offered the option of viewing or printing the
and
row and column
positions,
lengths, buffer positions,
attributes of
the screen fields. This information is very useful when writing the FORM
specification
using the screen in DeltaBASIC.
press the
you
will
ATTN key
be
Page B-13
DeltaBASIC
(D)elete
Reference
screen
a
Manual
from
format
a
UTILITY
PROGRAMS
file.
delete facility will prompt you to specify the name of a screen
in the currently selected format file. The screen will be permanently
deleted (erased) from the format file. Once deleted a screen cannot be
recovered.
The
(C)hange
the
name
of
an
existing
screen.
change
facility will prompt you to specify the name of a screen
in the currently selected format file. If the screen exists you can
key to leave
change
unchanged.
optionally
the name or press the RETURN
The
it
(V)iew screen
attributes.
view facility"wi1! prompt you to specify the name of a screen
in the currently selected format file. After the screen name has been
entered you can choose to list on the (S)creen or (P)rinter the row and
column
and attributes of all fields
lengths, buffer positions,
positions,
in the specified screen.
The
(R)emove
The
format
a
file.
facility will
remove
remove
file from memory and the disk.
final—-once removed
cannot
it
(S)e1ect
a new
format
(erase) the currently
selected format
that removing
a format file is
recovered.
Note
be
file.
The
select facility will prompt you to specify the name of a format file.
found, will become
After the name has been entered, the format file,
the currently selected format file and its associated screens will be
displayed under the menu.
if
(E)xit to
System.
This option will ensure that all changes
and associated screens are placed
file
the operating system.
Page B-14
selected format
to the currently
and
disk
the
on
return control to
DeltaBASIC
Reference
UTILITY
Manual
Editing
Key
PROGRAMS
Table
When
you are adding and updatiñf' screens, a versatile
set of editing keys is
available for your use.
In the table below, the keys are arranged into four
insert/delete, field, and miscellaneous. To use an
groups: cursor movement,
key down and press the specified
key. Note the
editing key, hold the CONTROL
A
ATTN.
exceptions for commonly used keys such as RETURN
or
list of the
editing keys and their definitions follow:
Editing
(Cursor
Movement)
Key
"K
"J
"FI
"L
""
"B
"T
"W
"I
"Pi
^S
"D
(Insert/Oelete)
(Field)
(Miscellaneous)
Function
Cursor
Cursor
Cursor
Cursor
Cursor
Cursor
Cursor
Cursor
Cursor
Cursor
Cursor
Cursor
up
down
left
right
to home position
to bottom line
to top line
word
word
left
right
to new line
to screen left
to screen right
"F
"V
"N
"
"G
"Y
"U
"P
Insert
Delete
Delete
Delete
Delete
Delete
"A
"C
"R
"X
Add a
Change
Remove
Change
"O
"Q
"Z
Abort add or update
Reprint screen
Clear screen
Enter screen
Display help screen
"[
"]
Insert
Same as
mode ON/OFF
above
toggle
blank line
character left
character right
line
Line
left
line right
field
a field
a field
default
attributes
Note: 'Ahen in the (A)dd mode, the Field keys may not
(U)pdate mode, the Insertion/Deletion
and Clear Screen
be used.
When in the
keys may not be used.
Page
8-lS
DeltaBASIC
Reference
Manual
UTILITY
SOU
when
Errors can occasionally occur
with explanations follow:
Directory
full:
Errors
using
SOU.
disk directory
The
manual
system
PROGRAMS
for
A
is
list
full.
explanation
of
SOU
See
and
error
messages
your operating
corrective
measures.
Field
overlap:
File
not found:
Format
file full:
made
attempt has
was not present
been
made
An attempt has
maximum number
to place more than the
of twelve screens in a format file.
to force two fields to use
character positions on the screen. The
second
field has been removed before the screen was
saved
(this error occurs when ATTN key is pressed and
the screen is entered).
attempt
overlapping
An
duplication:
An
attempt
same
Screen
has
on
been
to select
the disk.
a
format
has
name as
a
file
manual
to add a screen that
previously entered screen.
been
that
made
Disk read error. See your operating system
for explanation and corrective measures.
Read:
Screen
been
An
made
has
the
not in format
file:
Page B-16
An
attempt
screen that
has been rnade to
does not exist
update, delete, or view
in a format file.
a
DeltaBASIC
ERROR
Manual
Reference
Appendix
When an
displayed
(error
error
on
number)
occurs and
the terminal.
error
The
HELP command can be used
The table below
numbers
and explanations.
use
given. (See ON...ERROR
If
is
CODE
NUMBER
SYNTAX
C)l
TRAP
EDS
02
has
message
number
line
call up an explanation of the last error
lists the error codes with corresponding error
to
the error can
in Section 6.)
trapped,
be
the trap condition
SYNTAX ERROR:
unrecognizable
an
command
encountered.
SYNTAX
ERROR
AT
OF
END
STATEMENT:
CHV
EXP
03
CHARACTER VARIABLE
NUM
EXP
04
NUMERIC VARIABLE
ARV EXP
05
ARRAY
INV
VAR
06
INVALID
UDF
VAR
07
UNDEFINED
VARIABLE
EXPECTED:
EXPECTED:
EXPECTED:
VARIABLE:
an
VARIABLE:
type
type
line
PARENTHESIS
mismatch.
mismatch.
type
array variable
the variable
HISSING:
an
was
expected.
referenced
does
09
INV
10
CFN
OPERATOR
RELATIONAL
EXPECTED:
<
>
(
)
expected.
was
=
INVALID
CHARACTER FUNCTION:
not
or close parenthesis
open
missing.
REL EXP
end
mismatch.
exist.
08
to
or statement
colon or
expected.
PAR MIS
is
message
EXPLANATION
"was
SYN
a short error
the following form:
is in effect,
Error in Line
code
The
identified.
trap
error
no
MESSAGES
ERROR
A.
MESSAGES
a
relational operator
character
a
is
function
was
expected.
CFN
INV
NAM
NFN
li
CHARACTER FUNCTION
12
INVALID
function
NANI':
the
$
is missing from the
name.
NUMERIC
FUNCTION:
a
numeric function
was
expected.
VAR EXP
13
VARIABLE
EXPFCTED:
a
variable
was
expected.
Page
A-l
DeltaBASIC
Reference
NUXBER
CODE
TRAP
Manual
ERROR
EXPLANATION
SYN
EOL
!4
SYNTAX
I)UP
VAR
IS
DUPLICATE
VARIABLE:
DIül
SZE
16
DIMENSION
SIZE:
array dimension
ON
range
of
ON
RNGE
17
ERROR
ERROR
RANGE:
END
AT
NUM
DTA
18
NUMERIC
FOR
LEV
19
FOR
LEVEL:
exceeds
FOR
RlCG
20
FOR
RANGE:
limits
OUT
DTA
21
OUT
OF
ERROR
DATA:
DATA:
LTNE:
OF
variable
ON
maximum
and
attempt
expected.
already defined.
value
numeric data
end
line
exceeds
exceeds
was
maximum.
maximum.
expected.
(8
allowed nesting
NLN
RNG
22
NUMERIC
max).
OUT
MEM
23
OUT
lXV
SIM
24
INVALID
STK
OVF
25
STACK OVERFLOW:
STK UNF
26
STACK UNDERFLOW:
ATTN
27
RNG
28
LINE RANGE:
number.
UN!' LNE
29
UNKNOWN
SUB
STR
30
IXV
ARG
31
INVALID
DIR
STM
32
DIRECT
IXV
UFN
33
I.YVAI.IID
ERROR
OF
RANGE:
XEMORY:
was
made
READ
to
integer
value
maximum
program
needs
more
past
last data
exceeded
(255
SUBSTRING:
expression
beginning
too complex.
error)
(System
line
number
line referenced
cannot
ARGU1'IENT:
STATEMENT:
to execute.
memory
statement not recognizable.
STATEMENT:
LINE:
max).
step incompatible.
value.
LNE
MESSAGES
be
formed
type
as
mismatch
does
FUNCTION:
line
exist.
not
specified.
or value excessive.
not allowed in direct
USER-DEFINED
ending
exceeds
not
execution.
valid
a
user
defined function.
SUB
LVL
34
SUBROUTINE
INV
RET
35
INVALID
GOSIJB.
Page A-2
LEVEL:
RETURN:
exceedes
maximum
encountered without
(20
a
max).
corresponding
Reference
DeltaBASIC
NUMBER
CODE
NIS
FOR
TRAP
36
EXPLANATION
MISSING
FOR:
corresponding
INV
TAB
37
IFN
38
CONY
MESSAGES
ERROR
Manual
TAB:
a NEXT was
FOR.
a
is invalid.
argument
FUNCTION:
INTRINSIC
INVALID
encountered without
not
vaZid
a
intrinsic
function.
UNK
UFX
39
UNKNOWX
40
Not
USER
DEFINED
was
encountered.
used.
NUM
OVR
41
OFLOW
NUMERIC OVERFLOW:
maximum
NLM
UNO
42
UFLOW
NUMERIC
minimum.
UNDERFLOW:
DIV
ZER
43
DIVISION
BY ZERO:
ZDíV
FUNCTION:
floating point value
exceeds
floating point value smaller than
expression contains
division
a
by
zero.
STR LEN
44
SOFLOW
STRING LENGTH: character
maximum
variable.
length
string
exceeds
for
DUP
NO
PER
KEY
45
DUPKEY
KEY
46
NOKEY
EOF
47
I/O
DUPLICATE
NO
key
KEY:
END
OF
48
Not
used.
49
Not
used.
50
Not
used
51
EOF
IOERR
KEY:
PERMANENT
KEY
52
IOERR
CHANGE
1/0: error
KEY:
portion
file
specified
FILE: cannot
operation.
CHG
key
not in
KEY
53
ÍOERR
INCORRECT
KEY:
INC
DTA
54
IOERR
INCORRECT
DATA:
NO
DTA
55
IOERR
MO
key
READ/INPUT
this key.
file.
past
end
of
file.
encountered in disk input/output
attempt was
of the record.
INC
already contains
made
to
change
the
key
DATA:
Page A-3
DeltaBASIC
CODE
Reference
NUMBER
TRAP
Manual
ERROR
EXPLANATION
DSK
FUL
56
IOERR
DISK
FULL:
FLE
EXS
57
IOERR
FILE
EXISTS:
attempt
already exists.
was
FILE
58
IOERR
NO
made
NO
the disk
FILE: attempt
was
KEY
L/P
59
IOERR
KEY I.ENGTH/POSITION:
DIR
FUL
60
IOERR
DIRECTORY
61
IOERR
NO
FLE TYP
62
IOERR
FILE
LO
63
IOERR
PROGRAM
PRGM
PRG!Y1
PROGRAM:
FULL:
FRM
LEN
BUF
64
IOERR
an
LENGTH:
RECORD
used.
66
Not
used.
FORMAT
CHR
PRT
I/O
68
69
CONY
CONY
access
file
file
a
file
a
that
that
does
incorrectly.
is
full.
specified
does
not
exist.
error
is
O
or
was
detected during
program
2048.
exceeds
BUFFER:
exceeds
INV
to
to create
mismatch.
LOAD:
Not
CONY
made
specified
program
TYPE:
65
67
full.
disk directory
load.
REC
is
exist.
not
NO
MESSAGES
workstation format buffer length
record length specified in OPEN statement.
INVALID
PRINT:
operation CUR,
allowed in disk or workstation
CHARACTER VARIABLE
TAB,
SKIP
or
files.
INPUT/OUTPUT:
character
not
variable
expected in I/O operation.
NUPI
I/O
70
CONY
INPUT/OUTPUT:
NUMERIC VARIABLE
expected in I/O operation.
FLO LEN
FRPÍ
PRT
71
72
CONY
CONY
FIELD
LENGTH:
field
that
FORM
PRINT:
is
attempt was
too small.
FORM
wrong
made
numeric variable
to write
specification
statement.
FRPI
SPC
73
CONY
FORM
INV
FR?4
74
CONY
INVALID
Page A-4
SPECIFICATION:
FORMAT:
incorrect
FOR9Í
invalid workstation
for
data into
PRINT
specification.
format.
a
Reference
DeltaBASIC
NUMBER
CODE
FRPÍ
PIDE
75
TRAP
EXPLANATION
CONY
FORMAT
76
FIJE
REN
77
Not
IOERR
MESSAGES
ERROR
Manual
mode
format
MODE:
error.
used.
FILE
file
RENAME:
and
exist
must
not
be
in
by
use
another process.
FLE
NAM
FILE
78
NAME:
be 8
must
or less plus optional
characters
type.
DRY
SEl.
SELECT:
cannot select
79
DRIVE
UNKNOWN
80
UNKNOWN:
HLP FLE
81
HELP
FLE
(JPN
82
FILE
OPEN:
file
specified
FIJE
MOD
83
FILE
MODE:
open
mode
system
INV
FI.E
84
INVALID
FLE
NAY
86
FILE
NOT
FLE
CLS
87
FILE
CLOSE:
INV
REC
88
INVALID
89
PREVIOUS
90
MISSING
MIS
WRT
REC
and
DBXREF.MSG
already
must
be on
open.
(or parameter) incorrect
for
attempted.
access
PR
error.
FILE: DBXERR.MSG
default disk drive.
IOERR
disk drive.
specified
FILE:
file
specified
AVAILABLE:
in
use
cannot close
RECORD
WRITE:
NUMBER:
last
RECORD
NUMBER:
USING:
USING
not
by
a
open.
NOSFIR
process.
file.
zero not allowed.
access
must
record
have
number
been
must
a
write.
be
specified.
MIS
PR
USI
READ
91
MISSING
92
PREVIOUS
INV
DEV
93
IXVALID
PR
LIN
94
PREVIOUS
95-100
Not
READ:
last
DEVICE:
not
LIKE:
statement missing.
access
a
valid
must
have
been
a
read.
device.
previous Line error.
used.
Page A-5
DeltaBASIC
Reference
RESERVED
Manual
Appendix
B.
RESERVED
following words are reserved for use
variable names, function names, or disk
The
WORDS
by
DeltaBASIC
file
names.
and
cannot
ASC
ATN
BEGIN
CXDKEY
DATE
ELSE
EXIT
CHAIN
CHR
ATTN
CLEAR
CNVRT
CONY
CUR
DEF
DEL
DIM
END
EOF
ERR
EXP
FOR
FORM
FORMAT
FILES
FREE
GOSUB
GOTO
ÍNDIC
KEYED
LINPUT
LPREC
INPUT
KEYL
LIST
HELP
IKT
KEYP
LISTP
NAME
NEWPAGE
NOT
OFF
OFLOW
ON
OPEN
OPTION
OR
PIC
PRINT
RECL
RESTORE
SAVE
OUTÍX
PRTZO
RELATIVE
OUTPUT
POS
RANDOM
READ
REX
REWRITE
SIN
STATUS
TINE
WRITE
RENAME
ABS
AUTO
CLOSE
DATA
DUPKEY
ERROR
REC
RESET
ROUND
AND
RETURN
SGN
SOFLOW
SPREC
SQR
STR
TAB
USING
THEM
UFLOW
VAL
WORDS
be
used
as
FN
CO
IF
IGNORE
IOERR
LEN
LOAD
XEXT
KEY
LINE
LOG
XOKEY
RND
SKIP
STEP
TO
WS
ZDÍV
Page B-1
DeltaBASIC
Reference
DISK FILE
Manual
Appendix
File I/O
Disk
C.
I/O
file
management.
DeltaBASIC
techniques for data
provides a number of
method
Each involves
(sequential,
of
access
combination
a
and mode (output,
and keyed-sequential)
keyed-random,
input, and
To
techniques,
that follow
update).
help you compare these
the descriptions
sample
examples
based
below:
data
given
on the
include
different
different
relative,
file
file
File
Name:
Field
Record
INVMAS.DAT
Length:
Variable
Description
Name
Part number
Description
Quantity on hand
Status (D=de1ete)
Rec#
l
2
3
4
5
l
40
FORM
Spec
Start
Size
PART$
DESC$
C
5
C
30
QUAN
N
STAT$
C
4.0
I
2
Pos
l
6
36
40
End
Pos
5
35
39
40
4
3
....!....o....)....o....|....o....l....o
WRENCH
8120ISOCKET
10202BALL
PEEN HAMMER
SCREW
64394PHILLIPS
DRIVER
40121HAND SAW
10
5
15
8
(end-of-file record)
Page
C—l
DeltaBASIC
Reference
Manual
DISK FILE
Sequential
With sequential access, records in the
number.
Sequential access is selected
nor the KEYED attribute is used in the
Sequential
Access
in Output
1/0
Access
are processed
filedefault
when
in order
neither the
by
OPEN
by record
RELATIVE
statement.
Mode
sequential/output
access, records are added at the current end-of-file
record or--if the BEGIN parameter is used--beginning at record l. File reads
Sequential/output
access
are not allowed.
is selected in the OPEN statement
when OUTPUT
used without either
RELATIVE
is
or KEYED as a file attribute.
For
If a new file is created,
record 2, and so forth.
created using the program
records are
For
example,
added
the
beginning with record I, then
data file above could be
sample
below:
I
2
3
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
A
PROGRAM
ILLUSTRATING
SEQUENTIAL/OUTPUT
ACCESS
DIM DESC$*30
OPEN
#1: "NA±=INVMAS.DAT,NEW,RECL=40",OUTPUT
STAT$="
"
)
READ
N
OF
THE NUMBER
DATA SETS
FOR
TO
N
1=1
READ
PART$,DESC$,QUAN
45: PART$,DESC$,QUAN,STAT$
WRITE #1,USING
FORM
C
5,C 30,N 4,C I
NEXT
CLOSE
I
STOP
ill:
DATA 4
)
DATá SETS
WRENCH,1O
DATA 81201,SOCKET
PEEN
HAMMER,5
DATA 10202,BALL
DATA 64394,PIIILLIPS SCREW
DRIVER,15
DATA 40121,HAND
SAW,8
The
The
file,
(line
1-5).
INVMAS.DAT,
with record length 40
creates a new
method
and
The
number
mode
sequential
the
of data
output.
read
25), then a FOR/NEXT Loop
records to be added
from internal
data
used to read
the data sets and write new records to the data
Note
30-50).
that the records are added to the
in order, beginning with
and
The
4.
order
data
within the
record
continuing through record
determined by the order
which the records are
program
access
is
is
is
a
presence
situations
sequential/output
attribute determines where
are
when
illustrated
In the first program,
the
being added at the current
Page C-2
file (lines
file is
written.
in
exists
file ofalready
the BEGIN
These
(line
file
l
If
is
by
two
program
is selected,
the new
examples
the absence or
records are added.
below:
attribute is absent resulting
end-of-file.
BEGIN
in
new
data
DeltaBASIC
l
2
SEQUEXTIAL/OUTPUT
ILLUSTRATING
PROGRAM
A
DISK FILE
Manual
Reference
ACCESS WITHOUT
I/O
BEGIN
3
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
DIM DESC$*30
OPEN
"NAME=INVMAS.DAT",0UTPUT
STAT$="
"
:
OF
READ
N
DATA SETS TO BE
THE NUMBER
FOR
1=1 TO N
READ
PART$,DESC$,QUAN
45: PART$,DESC$,QUAN,STAT$
WRITE #1,USING
FORM
C
5,C 30,N 4,C I
XEXT
CLOSE #1:
STOP
)
DATA SETS
DATA 2
DATA 91324,WRENCFI,5
DATA 68923,PLIERS,12
Ill:
ADDED
I
Line
IS
INVMAS.DAT
for sequential/output
file
added
absent,
data records
opens
attribute is
new
The number
of data sets to add
FOR/NEXT loop appends
the new
arranges the sample data
file
access. Since the BEGIN
at the current end-of-file.
are
and a
is read from internal data (line 25),
The
30-50).
program
records to the file (lines
shown
below:
as
2
I
4
3
....|....0....)....0....)....0....|....0
Rec#
1
WRENCH
81201SOCKET
HAPNER
10202BALT. PEEN
SCREW
64394PHILLIPS
DRIVER
40121HAND SAW
91324WRENCFI
68923PL1IERS
2
3
4
5
6
(end-of-file
7
first
records 5
The
10
5
15
8
5
12
,
record)
The
four records are the same as before.
6, moving
the end-of-file to record 7.
data
new
has
been
added
in
and
In the second
being written
the BEGIN
beginning at record
program,
is lost.
attribute is present resulting
1
of the
file.
Data
currently
in new data
in the file
1
2
3
10
IS
20
25
30
35
40
45
50
A
PROGRAM
ILLUSTRATING
SEQUENTIAL/OUTPUT
ACCESS
W1ITFI
BEGIN
DESC$*30
#1: "NAW.=INVP1AS.DAT",OUTPUT,BEGIN
STAT.$=" "
DIM
OPEN
READ
M
FOR
!
THE
NUMBER
OF
DATA SETS
TO
BE
ADDED
1=1
READ
PART$,DESC$,QUAN
WRITE #1,USING
45: PART$,DESC$,QUAN,STAT$
F0R)'J
C 5,C
30,Y 4,C
NEXT
TO
I
N
l
Page C-3
DeltaBASIC
Reference
Manual
DISK FILE
I/O
55 CLOSE Él:
60 STOP
65 ) DATA SETS
70 DATA 2
9I324,WRENCH,5
75 DATA
80 DATA 68923,PLIERS,12
The
the
is identical to one immediately above except for the addition
attribute (line IS). After the program is executed, the sample
looks like this:
program
BEGIN
file
2
I
3
of
data
4
....)....0....)....0....)....0....)....0
Rec#
91324WRENCH
68923PLIERS
l
2
(end-of-file
3
Note
that
remains.
Sequential
5
12
record)
all the original data in the
Access
in Input
file is
gone
and
only the
new
data
Mode
For sequential/input
access, records are read from the file in order by record
number
Sequential/input
beginning with record l. No file writes are allowed.
OPEN
when
INPUT
used
selected
the
in
access
without either
statement
is
is
RELATIVE
or KEYED as a file attribute.
The
program
below
uses
file.
this processing technique with the original
sample
data
I
A PROGRAM
SEQUENTIAL/INPUT
ILLUSTRATING
3
10 DIM DESC$*30
#1: "NAM=INVMAS.DAT",INPUT
15 OPEN
#1,USING
25: PART$,DESC$,QUAN,STAT$
20 READ
C 5,C
30,N 4,C I
25 FORM
30 PRINT PART$,DESC$,QUAN,STAT$
20
35 GOTO
40 CLOSE #1:
45 STOP
2
ACCESS
EOF 40
Line 15 opens the file INVMAS.DAT for sequential/input
access. The program
number
order
beginning
with record I, and
records
record
reads
data
in
then
When
them on successive lines
20-30).
the
(lines
end-of-file record
prints
and
ends
reached
20),
closed
the file is
execution
(lines 40-45). The
(line
below:
resulting
printout appears
81201
10202
64394
40121
Page C-4
SOCKET WRENClil
HARIER
BALL PEEN
SCREW
DRIVER
PHILLIPS
HAND
SAW
10
5
15
8
is
DeltaBASIC
Reference
that the file data
appears in the file.
Note
Sequential
Access
in
DISK FILE
Manual
is
Update
and
accessed
printed
the order
in exactly
I/O
it
Mode
sequential/update
access, records are read and ,if desired, rewritten
REWRITE
(with the
statement) in record number order beginning with record I.
Existing records can be changed but new records cannot be added (the WRITE
Sequential/update
access
statement is not allowed).
is selected in the OPEN
when
used.
no file attributes are
statement
For
The
below
program
illustrates
how
to update the
l
A PROGRAM
SEQUENTIAL/UPDATE
ILLUSTRATING
3
10 DIM DESC$*30
#1: "NAME=INVMAS.DAT"
15 OPEN
#1,USING
20 READ
25: PART$,DESC$,QUAN,STAT$
C
25 FORM
5,C 30,N 4,C 1
30 IF PART$>"50000"
THEN 20
35 REWRITE #1,USING
40: "D"
POS
40 FORM
40,C
I
45 GOTO
20
50 CLOSE
55 STOP
2
original
sample
data
file.
ACCESS
EOF
50
Ill:
The program
Records
sequential/update
access
(line 15).
as they appear
in the file (line 20), and those
are then
with part numbers less than or equal to 50000 are rewritten with the status
field changed to D (lines 30-45). When the end-of-file is reached (line 20),
The sample
the file is closed and execution ends (lines 50-55).
data file now
looks like this:
opens
for
file inINVXAS.DAT
order
read
I
Rec#
I
2
3
4
5
Records
2
3
4
....: ....O...J....O....)....0...J....O
WRENCH
8120ISC)CKET
10202BALL
PEEN HAMMER
SCREW
64394PHILLTPS
DRIVER
40121HAND SAW
IQ
5D
15
BD
(end-of-file record)
2
and
4
are
marked
with
a D.
No
other
file
changes
are
made.
Page C-5
DeltaBASIC
Reference
Manual
DISK FILE
Relative
Access
used in the
When RELATIVF
ID of the OPEN
statement, records in
by specifying
in the REC parameter of
a record number
are accessed
and WRITE statements.
Relative access
from sequential in that
record numbers.
in any order simply by specifying
can be accessed
file
is
file
differs
Relative
Access
in Output
I/O
the
READ
records
their
Mode
For relative/output
access, records are replaced or added to the file by
specifying the record number using the REC parameter in a WRÍTE statement.
Relative/output
File reads are not allowed.
access
is selected in the OPEY
when
RELATIVE
and
OUTPUT
used
both
as
statement
are
file attributes.
The
program
I
illustrates
below
file.
data
how
to replace
a
record in the
original
sample
·
2
PROGRAM
A
RELATIVE/OUTPUT
ILLUSTRATING
ACCESS
3
10
IS
20
25
30
35
40
45
DIM DESC$*30
OPEN
#1: "NA9fE=INVXASj)AT",RELATIVE,OUTPUT
READ
R,PART$,DESC$,QUAN
PART$,DESC$,QUAN,"
WRITE #1,USING
30,REC=R:
1
FORX
C 5,C
30,X 4,C
CLOSE #1:
STOP
DATA 2,20013,CARRIAGE
BOLT
- !/2
is
Rec#
2
3
4
5
INCH,50
access
(line IS).
for relative/output
file INVMAS.DAT
20-30),
replacing the existing
to record
(lines
as
as shown below:
now
appears
appears
file
The program
the
opens
New data
then written
The sample
data
record.
l
2
2
l
4
3
....!....o....l....o...j....o....!....o
WRENCH
8120ISOCKET
20013CARRTAGE BOLT
SCREW
64394P!IILLTPS
SAW
4012I!IAND
-
1/2
INCH
DRIVER
IQ
50
15
8
(end-of-file record)
originally contained the
2, which
Record
CARRIAGE
BOLT
the
Relative
For
"
Access
in Input
REC
record
in the
Relative/input
allowed.
both RELATIVE and INPUT
Page C-6
PEEN
HAMMER
record,
now
contains
record.
Mode
read
from the file by specifying the
READ
of
the
statement.
File writes are not
parameter
OPEN
selected
the
in
statement when
access
is
used as
are
file attributes.
relative/input access, records are
number
BALL
The
below
program
file.
l
2
3
10
15
20
25
30
35
40
A
how
illustrates
to
read
a
RFJ.ATIVE/INPUT
ILLUSTRATING
PROGRAM
DISK FILE
Manual
Reference
DeltaBASIC
record in the
original
sample
I/O
data
ACCESS
DIM DESC$*30
#1: "NAME=INVMAS.DAT",RELATIVE,INPUT
PART$,DESC$,QUAN
READ
#1,USING
25,REC=3:
C 5,C
FORM
30,N 4
PRINT PART$,DESC$,QUAN
CLOSE #1:
STOP
OPEN
The
program
Record
REC
15).
is
indicating
that record
printed (line 30):
is to
be read
64394
SCREW
DRIVER
3
PHILLIPS
Relative
in
Access
in the input mode (line
READ
statement,
parameter of the
The
following line is then
(line 20).
INVNAS.DAT
for relative
file
specified in the
opens
Update
access
15
Mode
For relative/update
access, a record is read by specifying the record number
REC
desired, all or part
using the
parameter in a READ statement and then,
(with the REWRITE statement).
Existing records
of the record can rewritten
and new records can be added using the WRITE statement.
Relacan be changed
tive/update access is selected in the OPEN statement when RELATIVE is used
without either INPUT or OUTPUT as a file attribute.
if
The
below
program
data
illustrates this type of
file.
access
with the
original
sample
1
2
3
10
15
20
25
30
35
40
45
50
55
60
A
DIM
OPEN
PROGRAM
ILLUSTRATING
RELATIVE/UPDATE
ACCESS
DESC$*30
"NAME=INVMAS.DAT",REI.ATIVE
#1:
R=l
READ
#1,USING
FORM
C
30,REC=R:
PART$
EOF
55
5
IF PART$<"50000"
REWRITE #I,USING
FORM
POS
40,C
I
R=R+1: GOTO 25
CLOSE #1:
STOP
THEN 50
45: "D"
for relative/update
access
in line 15, then records
R
by
the value of variable R in line 25.
are read in the order specified
is
and
by
I
then
incremented
I
records
the
access
in
to
is
all
initially
file
(line SO). Records with part numbers less than or equal to 50000 are
The end-of-file
rewritten
with the status field changed to D (lines 35-45).
READ
ends
execution after the last record is
statement
error address in the
File
INVMAS.DAT
is
opened
Page C-7
DeltaBASIC
read
.
Rec//
1
2
3
4
5
Records
Reference
The
sample
.. ..
.
file
DISK FILE
would
then
2
I
I
. .
data
Manual
.O.
)
.
..
. . .
.O.
appear
as
4
3
)
..
.
.
..
.O.
follows:
)
.
.C)
.. ..
81201SOCKET WRENCH
10202BAI.L
PEFN HAMMER
SCREW
64394PFIILLIPS
DRIVER
40121HAND SAW
.
100
5
15D
8
(end-of-file record)
l
Page C-8
and
3
are
marked
with
a D.
No
other
file
changes
are
made.
I/O
DeltaBASIC
Reference
DISK FILE
Manual
Keyed
I/O
Access
word,
"key" is part of a record—-a
a number,
or some other label in
character string form--used to identify that record for later retrieval
through keyed access. Keyed access is specified by using KEYED as a file
attribute in the OPEN statement. The position of the key within the record
and
its length are specified at the time the keyed file is created. Each time
data file, key information is extracted and
a new record is added to a keyed
added with the corresponding record number
to a separate KEY file. The KEY
The
keys and pointers
two distinct lists.
organized
consists
into
first
file
contains keys that have been sorted into alphanumeric order using the
list
KEYSORT
utility. The second list contains keys added since the last use of
the KEYSORT utility in the order which they were added to the file.
A
dependent.
choice of the key field within the data record is application
sample
above
be keyed,
the
data
the part
reasonable
use
to
to
is
is
If
file
number
In this case, the OPEN statement creating the file would
as the key.
include (in the file ID) a key position (KEYP) of I and a key length (KEYL) of
5.
For example,
the sample data file above could be created as a keyed file
using the program below:
The
it
l
2
3
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
The
A
PROGRAM
KEYED-RANDOM/OUTPUT
ACCESS
DESC$*30
#1: "NAm=INmAs.DAT,NEw,RAND0M,KEYp=l,KEYL=5,REcL=40",KEYED,0UTpUT
STAT$="
"
)
READ
N
OF
THE NUMBER
DATA SETS
FOR
X
1=1 TO
READ
PART$,DESC$,QUAN
45: PART$,DESC$,QUAN,STAT$
WRITE #1,USING
FORM
C 5,C
30,N 4,C 1
NEXT
CLOSE #1:
STOP
DATA 4
)
DATA SETS
DATA 81201,SOCKET
WRENCH,1O
PEEN
DATA 10202,BALL
HAMMER,5
SCREW
DATA 64394,PFIILLIPS
DRIVER,15
DATA 40121,HAND
SAW,8
DIM
OPEN
I
example
sequential
The
ILLUSTRATING
sample
after
is identical to the
file
presented earlier to create
of the OPEN statement (line 15).
program
with the exception
and
data file (INVMAS.DAT)
its
keysorting-appear
as given below:
companion
KEY
file
a
(INVMAS.KEY)--
Page C-9
DeltaBASIC
Reference
Manual
1
2
1
8120isocket
2
10202ba!j.
3
64394phili.ips
4
4ói21hani)
5
(end—of-file
4
3
....1....0....|....0....
Rec#
Key
Record
....0....|....0
Pointer
10
WRENCil
peen
I/O
DISK FILE
hamer
scrfw driver
10202
40121
64394
81201
5
15
8
saw
(sorted)
2
4
3
i
record)
(unsorted)
Note
have
that the data
been sorted.
With keyed
sequential
file is
files,
two
The
random
first,
IO--lets
by
add
The
second,
by
basic
in the order
access
it
methods
key.
was
written; only the
are available:
random
key
by
entries
key
and
by specifying
key--activated
the RANDOM
parameter in the
and key to the KEY
record
the
data
you
a
new
to
file
file
file or
search for a existing data record using the KEY file. With this access
method,
new keys are added
to the unsorted list in the KEY file. It should be
random
key
noted that
searches check both the sorted and unsorted lists in the
KEY
making
the newly added key immediately available.
file, thus
RANDOM
by not specifying
sequential by key--activated
in the
IO--lets you process records from the data file in the order of the keys
the sorted KEy file list. The keys in the unsorted list and their
corresponding data records are not accessed. New records cannot be added
the file using keyed-sequential access.
These
two
in combination with various
methods
access
modes
below.
Random
by
Key
Access
in Output
file
in
to
are discussed
Mode
keyed-random/output access, new records are added to the data file using
added
the WRITE statement with new keys and record pointers automatically
to
Keyedthe unsorted list in the KEY file. File reads are not allowed.
random/output access is selected in the OPEN statement when RANDOM
is used in
the file ID and both KEYED and OUTPUT are used as file attributes.
For
The
i
2
program
below
a program
3
adds
two
illustrating
records to the
original
keyed-random/output
10 dim desc$*i0
15 open Él: "NAME=INV!4AS.DAT,RAND0pí",KEYED,OUTPUT
20 stat$="
"
25 read n l the number
of data sets to be added
30
to n
35 read part$,de3c$,quax
45: part$,desc$,quan,stat$
40 write #!,using
45 foru c 5,c 30,n 4,c
50 next
for I=l
i
Page C-lO
i
sample
access
data
file.
DeltaBASIC
Reference
DISK FILE
Manual
I/O
55 CLOSE #1:
60 STOP
65 I DATA SETS
70 DATA 2
75 DATA 91324,WRENCH,5
80 DATA 68923,PLIERS,12
opened
keyed-randorn/output access. The
INVMAS.DAT
15, the
read
25).
added
be
number
from internal data
then
of data sets to
keys and record
and the part number
The new records are added to INVMAS.DAT,
30added
in INVMAS.KEY
to the unsorted
pointers are automatically
and
sample
data
the
50). Following execution of the program,
In
file
line
for
is
is
(line
list
corresponding
Rec#
1
2
3
4
5
6
7
KEY
file
look
like this:
4
3
2
l
(lines
file
Key
....)....0....)....0....|....0....)....0
Pointer
10
81201SOCKET WRENCH
HA6C4ER
PEEN
10202BALL
SCREW
64394PHILLIPS
DRIVER
40121HAND SAW
91324NRENCH
68923PLIERS
Record
5
15
8
5
12
(end-of-file record)
(sorted)
2
10202
40121
64394
81201
4
3
91324
68923
5
6
1
(unsorted)
that the KEY file now has two distinct key lists, the sorted list and the
by key will
before, random accesses
unsorted list. As has been mentioned
check
of a certain key. Sequential accesses by
both lists for the presence
key
keys
will not access the
in the unsorted list. To ensure access to all
KEYSORT
into the
data, use the
to sort the unsorted list and merge
utility
would
and
KEY
sample
look
sorted list. After keysorting,
the
data file
file
Note
it
like this:
2
Rec#
1
2
3
4
5
6
7
3
l
....!....O....)....O....!....O....)....O
WRENCH
8120ISOCKET
PEEN
10202BALL
HAI'MER
SCREW
64394PHILLIPS
DRIVER
40121F!AND SAW
91324WRENCH
68923PLIERS
Key
that the two
the sorted list.
by
Key
10202
40121
64394
68923
81201
91324
IQ
5
15
8
5
12
in Input
2
(sorted)
4
3
6
I
5
(unsorted)
originally unsorted
Access
Record
Pointer
(end-of-file record)
Note
Random
4
keys
now
occupy
their proper place in
Mode
For keyed-random/input access, a record in the data file is read by giving the
desired key in the KEY parameter of the READ statement.
File writes are not
Keyed-random/input access is selected in the OPEN statement when
allowed.
RANDOM
is used in the file ID and both KEYED and INPUT are used as file
attributes.
Page
C-ll
DeltaBASIC
The
Reference
below
program
corresponding
l
2
PROGRAM
A
part
Manual
accesses
number
DISK FILE
and
as
ILLUSTRATING
6
record
prints
key.
KEYED-RANDCM/INPUT
(the
PLTERS)
by
specifying
I/O
the
ACCESS
3
10 DIM DESC$*30
#1: "NAME=INVMAS.DAT,RAND0M",KEYED,INPUT
15 OPEN
25,KEY="68923":
#1,USING
PART$,DESC$,QUAN,STAT$
20 READ
C 5,C
25 FORM
30,N 4,C
30 PRINT PART$,DESC$,QUAN,STAT$
35 CLOSE #1:
40 STOP
50 PRINT "KEY NOT FOUND"
55 CLOSE #1:
60 STOP
NOKEY
50
l
The
20-30
file
INVMAS.DAT
then read and
68923
If
is opened for keyed-random/input access in line
print the record with the specified key.
PLIERS
the
Random
by
Key
Access
Lines
12
is not found, the
key
15.
program
Update
in
branches
to
line
50
for error processing.
Mode
For keyed-random/update access, a record in the keyed data file can be
accessed
by giving the desired key in the KEY parameter of the READ
statement
and,
The
desired, the REWRITE statement then used to update the record.
be
changed
key portion
must
during updating, or an
of the data record
not
New records can be added
to the file using the WRITE
error will occur.
Keyed-random/update access is selected in the OPEN statement when
statement.
RANDOM
used in the
is
file ID and KEYED is used without either INPUT or OUTPUT
if
as
a
file attribute.
In the example program
the status changed.
below, record
6
(the
PLIERS)
is
read
and
rewritten
I
2
A
PROGRAM
ILLUSTRATING
KEYED-RANDOX/UPDATE
ACCESS
3
10
15
20
25
30
35
40
45
50
55
60
DIM DESC$*30
OPEN
#1: "NAm=INvMAs.DAT,RAKD0}f",KEYED
READ
25,KEY="68923":
PART$,DESC$,QUAN,STAT$
#1,USING
FORM
C 5,C
3C),N 4,C
40: "D"
REWRITE #1,USING
FORM
POS
40,C
I
CLOSE Él:
STOP
PRINT "KEY NOT FOUND"
CLOSED #1:
l
STOP
Page C-12
NOKEY
50
with
The
program
data
TNVMAS.DAT for keyed-random/update
file
record with the specified key and rewrites
(lines 20-40).
changed
to D
would
appear
file
After
['iven below:
as
program
is
4
3
2
l
the
Key
2
3
4
5
6
Record
Pointer
2
10202
40121
64394
10
WRENCH
81201SOCKET
10202BAI.L
PEEN HAMMER
SCREW
64394PHTLLTPS
DRIVER
40121HAND SAW
91324WRENCII
68923PLTERS
I
5
15
8
68923
81201
91324
5
12D
Record
6 has
Sequential
been
Access
1
5
(unsorted)
marked
with
by
in Input
Key
(sorted)
4
3
6
(end-of-file record)
7
I/O
access
....)....0....)....0....)....0....)....0
Rec#
FILE
(line IS),
with the status
executed, the sample
opens
then reads the
field
DISK
Manual
Reference
DeltaBASIC
a D.
Mode
For keyed-sequential/input
access, records are read in the order of the keys
KEY
in the sorted list of the
file. File writes are not allowed. Processing
begins with the first key in the KEY file unless the KEY>= parameter appears
In that case the first record processed is that of the
in the READ statement.
key alphanumerically
greater than or equal to the KEY>= parameter.
first
Keyed-sequential/input
access
is selected in the OPEN statement when RANDOM
used
ID
and
both KEYED and INPUT are used as file
in the file
is not
attributes.
The
program
below
prints
a
list
of
all parts in the original
l
A PROGRAl'l
KEYED-SEQUENTÍAI./INPUT
ILLUSTRATING
3
10 DIM DESC.$*30
#1: "NAHE=INVNAS.DAT",KF.YED,INPUT
13 OPEN
EOF
É1,USIKG
20 READ
25: PART$,DESC$,QUAN,STAT$
C 5,C
25 FORM
30,N 4,C I
3C)
PRINT PART$,DESC$,QUAN,STAT
35 GOTO
20
40 CLOSE #1:
50 STOP
2
Suppose
the
given below:
expanded
sample
data
file
has
not
sample
data
file.
ACCESS
40
been
keysorted
and
appears
as
Page C-13
DeltaBASIC
Reference
Manual
1
2
DISK FILE
4
3
....)....0....)....0....)....0....
Rec#
3
4
5
6
(end-of-file
7
Pointer
10
10202
40121
64394
81201
5
15
8
program
10202
40121
64394
81201
BALL
PEEN
HAND
SAW
PHILLIPS
SOCKET
would
(sorted)
4
3
1
91324
68923
12
produce
5
(unsorted)
6
this printout.
10
HAMMER
SCREW
2
5
record)
Executing the
Record
....O
WRENCH
M201SOCKET
10202BALL
PFEN HAMMER
SCREW
64394PHU.LIPS
DRIVER
SAW
40121HAND
91324WREXCH
68923PLIERS
l
2
Key
I/O
8
15
10
DRIVER
WRENCH
in particular two things: first, the data is accessed
in the order of the
Second,
keys, not in the order the data appears
in the file.
the unsorted
To ensure that all data
data is not accessed
read, the file must
at all.
is
be keysorted using the KEYSORT
utility.
Note
changed
slightly by including READthe KEY>=
is the same program,
READ
without
in
the
parameter
statement and adding a second
original
KEY>=.
The technique allows keyed-sequential/input
begin
with
access
to
other than the first.
Shown
below
a key
I
2
A
PROGRAM
KEYED-SF,QUENTIAL/INPUT
ILLUSTRATING
ACCESS
WITH
KEY>=
3
10 DIM DESC$*30
#1: "|qAw=ÍNvxAs.DAT",KEYED,IxpUT
15 OPEN
25,KEY>="50000":
PART$,DESC$,QUAN,STAT$
#1,USING
20 READ
C
25 FORM
5,C 30,N 4,C
30 PRINT PART$,DESC$,QUAN,STAT
EC)F
45
#1,USING
25: PART$,DESC$,QUAN,STAT$
35 READ
GOTO
40
30
45 CLOSE i91:
55 STOP
EOF
45
l
After
program
64394
81201
the printout
execution,
PHILLIPS
SOCKET
would
as
shown
below:
15
10
DRIVER
SCREW
appear
WRENCH
Thus,
only records
Processing began with the first key greater than 50000.
READ
KEY>= is
50000
Note
keys
with
printed.
that
the
with
greater than
are
keys
used
As
unsorted
only
once.
in the previous case, the
are not accessed.
Sequential
Access
by
Key
keyed-sequential/update
in the sorted list of the
For
Page C-14
in
Update
Mode
access, records are read in the order of the keys
desired, the REWRITE statement then
file and,
KEY
if
De1taBASIC
DISK FILE
Manual
Reference
I/O
(The WRITE statement cannot be used,
which means
to update a record.
added
with the
be
begins
to the file.) Processing
that new records cannot
READ
KEY>=
the
in
the
parameter appears
first key in InthethatKEY file unless
the first key
statement.
case, the first record processed is that of KeyedKEY>=
parameter.
alphanumerically
greater than or equal to theOPEN
when RANDOM
sequential/update
selected
the
in
statement
is not
access
is
ID and KEYED is used without
either INPUT or OUTPUT as a file
used in the
file
used
attribute.
The
data
program
below
file (after
illustrates this
access
technique with the
sample
expanded
being keysorted).
1
2
A
KEYED-SEQUENTIAL/UPDATE
ILLUSTRATING
PROGRAM
3
10 DIM DESC$*30
#1: "NAw.=INvms.DAT",KEYED
15 OPEN
#1,USING
25: PART$,DESC$,QUAN,STAT$
20 READ
C 5,C
30,N 4,C
25 FORM
30 IF QUAN>1O THEN 20
40:
35 REWRITE #1,USING
1
POS
40,C
40 FORM
45 GOTO
20
50 CLOSE #1:
55 STOP
ACCESS
EOF 50
l
"I"
The program
mode
by key,
update
access
key
order, with those
records are then processed in
less than or equal to 10 changed to the r status
a quantity
appears
as
executed, the sample data
After the program
opens
(line 15).
records having
(lines 20-45).
shown below:
the
The
l
2
3
4
5
6
7
Records
INVMAS.DAT
for sequential
in
file
is
1
Rec#
file
2
4
3
Key
....)....O....!....O....)....O....|....O
Pointer
10202
40121
64394
68923
81201
91324
10
51
15
81
51
12
WRENCH
81201SOCKET
10202BALL
PEEN HAMMER
SCREW
64394PHILLIPS
DRIVER
40121FIAND SAW
91324WRENCH
68923PLIERS
(end-of-file record)
with quantities
less than
Record
2
(sorted)
4
3
6
l
5
(unsorted)
10
reflect
an
I status.
This completes the description of the various file processing techniques
A word
available to the DeltaBASIC
of caution is in order.
While the
user.
data file is identical for all file access techniques, a problem
can arise
you add records to a keyed
file not opened as a keyed file. In this case, the
record is added to the data file but the key and pointer are not added to the
KEY
file. The resulting discrepancy causes this record data to become
inaccessable later when the file is used again as a keyed file. To correct
this situation, you can use the ORGANIZE utility to rebuild the KEY file.
if
Page C-15
Referenece
DeltaBASIC
FORMATTED
Manual
FORMATTED
D.
Appendix
DATA
DATA
ENTRY
SCREENS
ENTRY
SCREENS
utility
program
DeltaBASIC
formatted data entry screens created by the
uses
(WS)
SOU.
To access
a formatted data entry screen,
a work station
must be opened
that contains the screen; then the
specifying the format
WRITE and READ
be
and
entered
displayed
data
using
can
statements.
screen
file
first
file
using an input
the keyboard/screen and DeltaBASIC
buffer
that
input are
accept
output buffer.
All screen fields
associated with contiguous data fields in the input buffer.
Similarly, all
non-constant output fields are associated with contiguous data fields in the
The arrangement of the buffer data fields is in the order
output buffer.
Thus,
top-to-bottom
the screen field nearest
on the screen.
left-to-right,
the top left corner of the screen would appear as the first data field in the
appropriate buffer.
Since output-only fields do not appear in the input
buffer, screen fields do not necessarily occupy the same position in both
SOU
buffers.
provides a detailed listing of the field positions in both
needed
with the
buffers which can be used to develop the FORM specification
READ
WRITE statements.
or
Data
'
is
passed
and an
between
.
De1taBASIC
.
of data entry and visual attributes. Attributes
be
selected
the attribute screen of SOU. Most
a
can
using
for field
be
by
can
choosing
the Y option or off by choosing the N
on
set
attributes
For instance, some
In some cases, other options are provided.
option.
be
DeltaBASIC
There
conditionally
can
from
indicators.
using
set
attributes
99 indicators,
each of which may be set on or off using the INDIC option
are
in the WRITE or REWRITE statments. An attribute is set on only
its
associated indicator
is on.
supports
a number
if
The
available
attributes are listed below.
The
indicator
option
xx.
(Data Entry
Controlled
as
RETURN
is exited
is
denoted
by
Attributes)
Field Exit {Y,N) — When set on forces the user to press a key
field. When set off the
or FIELD EXIT to exit an input/output
when the
exceeded
by
the operator.
field length is
such
field
When set off no special action
Adjust/Fill {N,B,Z)
is taken. When set to
-B, the data
and
in the field is right justified
filled with blanks to the
When set to Z, the data
upon
the
exit.
field is right justified and
in
left with
zeros to the left upon exit.
filled
Mandatory Entry {Y,N) — When set
non-blank character before exiting
Mandatory
characters
{Y,N)
Fill
throughout
When
—
the
set
forces the operator
the field.
to enter at least
forces the operator
to enter non-blank
on
on
field.
Field Type {N,A} — When set to N, any data entered into the field must
E, or the decimal point.
When set to
numeric; i.e., O through 9, +,
-,
alphanumeric characters are allowed
into the field.
Input Allowed
{Y,N)
--
When
set
on
allows input
from the
field.
When
be
A,
set
one
all
off
Page D-1
DeltaBASIC
NOT
is
input
Referenece
Manual
allowed--setting
FORMATTED
this attribute off creates
RETURN
{Y,N}
ENTRY
OUTPUT ONLY
an
Constant Output {Y,N) — When set on causes a specified
to the screen as the screen is initially written.
Auto
DATA
constant
to
be
SCREENS
field.
output
When
set on indicates that the entire screen is to be
"entered" when the field is exited; i.e., the contents of all the input fields
When set
are returned to the program.
off the cursor will procede to the next
RETURN
key
function
a
field unless the
or
is pressed.
—
Cursor {Y,N,xx) —- When set on, unconditionally
or with a specified
indicator, causes the cursor to be positioned to this field when the screen is
initially written. When more than one fieldsuchon the screen has this attribute
set on, the cursor will move to the first
field. If no field is found
with the position indicator set on, the cursor defaults to the first data
entry field.
Position
Protect {Y,N,xx} — When set on, unconditionally
or with
indicator,
input to be disallowed from the field.
causes
is allowed from the field.
a
specified
set off input
When
.
Attributes)
(Visual
Intensity {Y,N,xx} —- When set on, unconditionally or with a specified
indicator, causes the data in the field to be displayed in low intensity
Low
.
(dim).
Blink
causes
{y,N,xx) — When set on, unconditionally
or with
be
displayed blinking.
the data in the field to
Non-Oisp1ay
indicator,
a
specified
{Y,N,xx) — When set on, unconditionally
or with
the data in the field to NOT be displayed.
causes
a
indicator,
specified
{Y,N,xx) — When set on, unconditionally
or with a specified
the data in the field to be displayed in reverse video.
causes
Image
Reverse
indicator,
Underline
indicator,
{Y,N,xx)
causes
When set on,
—
the data in the
unconditionally
or with a specified
be displayed underlined.
field to
Output {Y,xx) — When set on, unconditionally
or with a specified indicator,
This attribute is the equivalent of the Protect
allows output to the field.
Attribute for output. Note that this may not be set unconditionally off.
NOTE:
The
capabilites
used.
Page D-2
implementation of visual attributes can vary depending on the
and/or terminal on which they are being
system
of the computer
DeltaBASIC
Reference
MULTI-USER
Manual
Appendix
E.
MULTI-USER
INFORMATION
INFORMATION
PíP/X and
supports multi-user file and record locking in both the
shared
be
by
TurboDOS
operating environments.
If SHRa file is to must appear inseveral
the OPEN
the
the
then
time,
programs
same
parameter
at
is necessary
statement of each program To gain exclusive use of a file,
OPEN
SUR
when
in use by
the
without
the
time
not
a
at
parameter
is
to
file
Once exclusive
no other
use of the file is obtained,
any other program.
program
can gain access
to the file.
DeltaBasic
it
it
locking occurs whenever a program has accessed
a record and the file is
mode.
The
program
the output or update
retains exclusive use
open in either
of the record during the write operation (output mode) or between the read
and rewrite
operations (update mode).
In standard implementations of MP/M and
TurboDOS,
a second
program
attemptiñf' to gain access to a locked record is
suspended
the
other
releases the record.
program
until
It is important to
note that all physical disk records that contain the data record accessed
are
The possibility therefore
locked.
exists that more than one data record can
be locked when only one record
is accessed. Record locking does not occur
when a program
Thus,
two or more
the record in the input mode.
accesses
have
programs
can access
the sanie record at the same time
the file open
all
in the input mode.
Record
if
Page E-1
DeltaBASIC
Reference
LANGUAGE
Manual
Appendix
F.
LANGUAGE
COMPATIBILITY
COMPATIBILITY
is based on a subset of IBl'l System/34 BASIC but is not directly
At the same
compatible with this or any other BASIC language
implementation.
and
commands,
most
of
functions
similar
time,
the
statements,
to those
are
generally considered traditional to the BASIC language. The greatest
differences will be encountered in these areas:
DeltaBASIC
l) Formatted
2)
3)
Disk I/O
Substring
READ
and
WRITE
file handling
operations
and
Page F-1
keLU[ejlcc
L)eÁLaL)LiD-LL
Appendix
3-l
Abbreviations,
ABS,
7-2
Adjust, D-1
ASCII, 5-12,
ATN, 7-2
S-16
G.
DUPKEY,
6-9, 6-43,
Edi-ting
Editing
Keys,
Key Table,
4-l
A-3
8-lS
END,
6-3, 6-8
EOF, 6-9, 6-33, A-3
ERR, 7-2
ERROR, 6-22, A-2
Error Codes, A-l
EXIT,
6-3, 6-9, 6-26,
6-39, 6-40, 6-43
EXP, 7-2
D-2
BEGIN,
6-26, 6-43,
Blink,
D-2
C-2,
C-3
6-28, 6-33,
Expressions
Character, 2-2
Logical, 2-2
C, 6-11, 6-29
CHAIN,
6-2
Character expressions, 2-2
Character functions,
7-4
CHR$, 7-4
CLEAR,
CLOSE,
INDEX
4-l,
3-l, 4-l
ATTN,
AUTO, 5-2
Auto RETURX,
INDEX
í1¿ínuaí
Numeric,
Relational,
2-l
2-2
5-3
6-3, 6-9
7-2
CMDKEY, 6-34,
CNVRT$, 7-4
Command/Program
Commands,
edit
Features of DeltaBASIC,
Field Type, D-l
FILES,
5-5, 6-2
D-l
Fill,
FOR/NEXT,
6-lO
FORM,
6-11, 6-31, 6-33, 6-34, 6-39,
6-43, 6-44, D-l
FORMAT, 6-44
Format
of error codes,
A-l
Formatted Data Entry Screens, D-l
l-l
mode,
5-l
Constant Output, D-2
Constants, 2-l
Controlled Field Exit, D-l
CONY, 6-22, A-3, A-4, A-5
CR, 6-12
CUR,
6-ll
4-l
FREE,
FRM,
D, 6-29
DATA, 6-4,
6-37
Attributes,
Data Entry
DATE$, 7-4
5-6
6-28,
6-34,
GENNSG,
D-l
GO,
B-12
5-7,
6-42
GO
END, 5-7,
GOSUB, 6-15,
GOTO,
6-16
DB, 6-12
DEF FN, 6-S
DEL, 5-4, 6-34
8-l, 8-2
6-3
6-38
Descriptions
Commands,
5-l
!IFJ.P,
Disk File 1/0, C-l
Formatted Data Entry
Screens, D-l
Intrinsic Functions, 7-l
Statements, 6-l
Utility Programs,
2-l, 6-7
DIM,
Disk File
T/O,
8-l
5-8,
B-17
TF/THEN/ELSE,
INDIC,
6-40,
INPUT,
6-18,
6-17
6-44, D-l
6-26, 6-34
Input Allowed, D-l
C-l
Page G-l
DeltaBÁSIC
Reference
Mode
Keyed access-Random,
INDEX
Manual
ON
Input
C-ll
C-13
-Sequential,
Relative access, C-6
Sequential access, C-4
INT, 7-2
Intrinsic Functions
Character, 7-4
Numeric, 7-1
1-l
Introduction,
I/O, 3-l
IOERR, 6-3, 6-9, 6-26, 6-28, 6-33,
6-39, 6-40, 6-43, A-3, A-4, A-5
ON
ON
6-21
ATTN GOTO,
ATTN IGNORE, 6-21
6-22
Error Condition,
GOSUB, 6-23
GOTO, 6-24
ON
RESTORE, 6-25
OPEN-disk
ON
OK
6-9, 6-26, 6-43,
file,
C-2, E-l
-work station
OPTION,
6-29
ORGANIZE,
8-6
Output, D-2
Output Mode
file,
6-28
access-Random,
C-lO
Relative access, C-6
Sequential access, C-2
Keyed
KEY, 6-33
KEYED, 6-26
Keyed Access,
KEYL, 6-26
KEYP, 6-26
KEYSORT,
C-9
PO,
PIC,
POS,
8-l, 8-5
Language
Compatibility,
LEN, 7-2
LET, 6-19
F-l
LIB, 8-2
7-2
6-20
LIST, 5-lO
LINE,
LINPUT,
5-12
Intensity,
2-2
D-2
6-29
Mandatory Entry,
D-l
D-l
Fill,
Multi-User Information,
Mandatory
E-1
X, 6-11, 7-4
NAME, 6-26, 6-28
NEW,
6-26
READ-internal data, 6-32
-disk file, 6-11, 6-33, D-I
-work station file, 6-34, 6-40,
6-44
REC, 6-33, 6-43
RECL, 6-26, 6-28
REDO, 6-18
Relational Expression, 2-2
6-43, C-6
Relative Access,
REM, 6-35
RENAME, 5-14
RENIM,
RESET, 6-36
Reserved
Words,
RESTORE, 6-37
RETURN,
Reverse
Image,
REWRTTE-disk
8-l, 8-ll
6-26
NEWPAGE, 6-30
NOKEY, 6-9, 6-33, A-3
Yon-Display, D-2
Numeric
Expressions,
OFF,
5-13,
OFLOW, 6-22, A-3
ON, 6-29
Page G-2
6-3,
B-l
3-l, 4-l, 6-38
2-l
6-29
D-2
6-9, 6-11, 6-39
-work station file, 6-40
file,
ROUND,
4-l,
6-29
RANDOM,
7-2
Logical Expressions,
Low
LPREC,
7-2
Position Cursor, D-2
PRINT-forrnatted, 6-11, 6-30, 6-34
-unformatted, 6-31
Printer Mode Control, 6-29
Program
Execution Mode, 4-l
Protect, D-2
PRTSET, 6-29
PRTZO,
5-ll
LISTP,
LOAD,
LOG,
6-11, 7-4
6-11, 7-4
RND,
RUN,
7-3
7-3
4-l
-liyl/lji\
S-16
SAVE,
Screen
SOU,
"-""
nanüdj-
ReLeLellLe
UeÁLaDADLg
Design
B-12
Utility,
8-l, 8-12, D-l
Sequential Access,
SGN, 7-3
SHR, 6-26, E-l
SIN,
7-3
SKIP,
6-13
SOFLOW, 6-22, A-3
Spooler, 6-29
C-2
SPREC, 6-29
SQR, 7-3
Statements,
STATUS, 7-3
STOP, 4-1,
STR$, 7-4
TAB,
TIME$,
6-l
5-7, 6-3,
6-42
6-30
7-4
U, 6-29
UFLOW,
6-22, A-3
Underline, D-2
Update
Mode
Keyed access-Random,
C-12
C-14
-Sequential,
C—7
Relative access,
Sequential access, C—5
User number,
7-3
USING,
6-31, 6-33, 6-34, 6-39, 6-40
6-43, 6-44
7-3
Variables, 2-l
Visual Attributes,
VAL,
WRITE-disk
WS,
X,
file,
-work station
6-28
D-2
6-9, 6-11, 6-43, D-l
file, 6-44
6-13
ZD, 6-13
ZDIV,
6-22,
A-3
Page G-3
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf Linearized : No PDF Version : 1.4 Page Count : 130 Has XFA : No Page Mode : UseOutlines Creator : ChronoScan Producer : ChronoScan (http://www.chronoscan.org) Create Date : 2016:06:18 22:00:11-05:00 Modify Date : 2016:06:18 22:00:11-05:00 Title : Author : Subject :EXIF Metadata provided by EXIF.tools