home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 8
/
CDASC08.ISO
/
VRAC
/
LIBERTY.ZIP
/
LIBERTY.TXT
< prev
next >
Wrap
Text File
|
1993-08-31
|
24KB
|
611 lines
Liberty BASIC - limited version Release 0.9d
Copyright 1992, 1993 Shoptalk Systems
All rights reserved
Portions copyright 1991, Digitalk Inc.
Liberty BASIC is a personal BASIC programming system for MS Windows 3.x
requiring a 286 (4 Meg RAM recommended for 286/Standard Mode operation),
or a 386, 486 or better (586/Pentium?) and 3 Megabytes of RAM or more.
When Microsoft introduced Windows 3.0, it didn't come with any programming
facility, so we created Liberty BASIC to be for Windows what GWBASIC and
QBASIC are for MS-DOS, an easy way for the end users to design their own
software.
PLEASE call or write if you have any suggestions for features
you would like to see in Liberty BASIC! We really need lots of
feedback if Liberty BASIC is to become the product that _you_
want it to be.
Distribution Policy:
Liberty BASIC 0.9d is Shareware, and it may be copied and freely distributed
providing the following list of files is distributed together and unmodified.
Shoptalk Systems forbids the redistribution of the these files for profit.
A small fee may be levied for distribution costs, but not for the software
itself.
Liberty BASIC Release 0.9d is a subset of the commercial product. Our hope
is that you will like this limited release enough to register. If you find
it useful we ask you to please register your copy. $35 will get you the
most recent version (the commercial version, in other words), with technical
support, and upgrades will be made available for only a few dollars. An
illustrated, bound manual is available for an additional $15 (only $10 if
purchased when you register). Inexpensive site licenses are available
(educators take note).
Here's what you get for your $35:
Liberty BASIC 1.x (you will always get the most recent version) with:
A free copy of BASIC Training from Cascoly Software. This shareware
BASIC tutorial starts you on your way learning to program in BASIC ;
Technical Support ;
New! A runtime distribution mechanism lets you share your Liberty
BASIC programs with others. No runtime charges apply ;
Graphics commands for filled polygons, circles, ellipses, pie slices ;
Define your own Windows dialog boxes with the full suite of dialog
box objects (buttons, checkboxes, comboboxes, etc...) ;
Segmented graphics, which let you treat each drawn item as an object
which can be individually manipulated ;
The ability to add pull-down menus with accelerator keys to your programs ;
The ability to trap the window close event and assign a routine to
handle it ;
A more powerful spreadsheet widget ;
Random access file capability (0.9d is limited to sequential);
More string, math, and other functions and commands ;
Slick sample programs that exploit Windows' special features. For
example: a drawing app, a graphing app, the tower of Hanoi game,
a calculator, and more ;
More...
See the file LBAS10.TXT for more details on version 1.0a! To see
this file, pull down Help and select Version 1.0 Details.
-----------------------------------------------------------------------
About this version:
Version 0.9d adds READ, DATA, and RESTORE. These three commands add an
important GWBASIC compatible feature to Liberty BASIC, making it more
useful in school courses. See the file diffrncs.txt for more info.
A nice branch label feature added to the Source menu makes it easier to
get around inside of large programs.
Now you can keep an eye on the compiler as each line compiles. Simply
pull down the Setup menu and pick Compiler. Then click on the pop up
that appears to toggle the compiler status box on or off. It slows
the compile down a little bit to display its activity, but some of you
requested this feature, so it was added.
And several bugs were squashed in this release including:
Discovered a bug that created unpredictable results using certain
BASIC functions where parameters derived using rnd(), time$(),
date$(), and any other function where the result is not always
the same. Problem fixed.
When a floating point value was passed to a single
dimensioned array as an index, a system primitive notice
was produced, and the program was halted. This problem
is now fixed.
Now if a non-integer is used to index a MID$() function, it
is truncated and execution continues instead of crashing.
This is a list of files distributed with this release of Liberty BASIC:
readme.txt - Installation instructions (also in this file)
liberty.exe
liberty.txt - This file
install.exe - The installation program
inst.bat
lbas10.txt - A description of Liberty BASIC 1.0a
summary.txt - Summary of commands & functions, hints, etc
register.txt - Order form
diffrncs.txt - A GWBASIC survival guide
v09d.txt
c.grp
d.grp
libertyb.grp - The Liberty BASIC Program Manager group file
install.err
lbasic.ini - Setup file
vwabort.dll
vwbas11.dll
vwdlgs.dll
vwfloat.dll
vwfont.dll
vwsignon.dll
vwvm.dll
ascii.bas
blank.bas
brnchtst.bas
buttons.bas
circles.bas
customer.bas
exponent.bas
factoril.bas
for_next.bas
getchar.bas
grapher.bas
graphics.bas
hanoi.bas
hilo.bas
invoice.bas
mandala.bas
open.bas
power.bas
profile.bas
read.bas
sieve.bas
strtest.bas
test.bas
tictacto.bas
turtle.bas
turtle2.bas
exp.bas
readdata.bas
grapher.abc
trio.abc
+-------------------------------------------------------------------------+
| Known bugs: Windows tries to match fonts more or less with size being |
| more important than the name of the font. When Liberty BASIC loads, it |
| tries to get a font of a certain size. On some systems, this ends up |
| being the Symbol font, which is unusable. If your system does this, |
| then pull down the System menu and select "Fonts...", then find a font |
| that suits your taste best. |
+-------------------------------------------------------------------------+
Version 0.9c took a deliberate step towards making Liberty BASIC more
familiar to GWBASIC programmers. The PRINT, INPUT, WHILE...WEND, and
boolean operations are more compatible with their GWBASIC counterparts.
A GWBASIC to Liberty BASIC help file has been added. More will follow.
In 0.9c, the user interface was simplified. The default drive and
directory are automatically selected when Liberty BASIC is loaded. The
two file menus of previous versions have been integrated and redundant
items have been eliminated. A Zoom Text item has been added to the source
menu.
Here is a list of enhancements for version 0.9d:
------------------------------------------------------------------------
BONUS!!! BONUS!!!
Registered users also receive a copy of BASIC Training, a shareware
BASIC tutorial from Cascoly Software!
1) READ, DATA, and RESTORE added.
2) Now a list of branch labels can be displayed from which you may select
one to jump to in the source editor. This is very useful when jumping
around a lot in medium to large programs.
3) Some bugs fixed.
4) More sample programs included.
5) Now Liberty BASIC may be registered with a credit card using the
PsL Credit Card registration service.
0.9c Notes:
------------------------------------------------------------------------
1) The browser/editor now automatically selects the current default
drive and directory when Liberty BASIC loads.
2) The File and Files menus are now integrated into one File menu, and
duplicate items are eliminated.
3) PRINT and INPUT are more GWBASIC compatible. The compatibility can
be turned off by pulling down the Setup menu and selecting the
compatibility item.
4) Variable names can now start with reserved words.
5) Boolean AND & OR are more GWBASIC compatible, but bitwise operations
are still not supported.
6) The INPUT$() function can now return a single keystroke. Before it
was only good for file input.
7) The NEXT command is more GWBASIC compatible. You don't need to
specify the variable name. For example:
for x = 1 to 10
print x
next
is now acceptable.
8) The PgUp and PgDn keys now work when viewing Help files. Previously
it was necessary to operate the scroll bars using the mouse.
9) A GWBASIC to Liberty BASIC help file is provided. The file is named
DIFFRNCS.TXT, and can be viewed by pulling down the Help menu and
selecting GWBASIC vs. Liberty BASIC.
10) The WHILE...WEND commands are now GWBASIC compatible.
11) The trim$() function now works. It didn't before.
12) A zoom text option has been added to the Source menu.
0.9b Notes:
------------------------------------------------------------------------
1) The following arithmetic functions have been added:
atn( ) - arc-tangent
asn( ) - arc-sine
acs( ) - arc-cosine
exp( ) - exponent
log( ) - natural log
abs( ) - absolute value
2) The FILEDIALOG command has been added:
FILEDIALOG opens a dialog box that permits browsing of
drives, directories,and files. When the desired file is found
and selected, FILEDIALOG then returns the full pathname
(drive:\directory\filename.ext) of the selected file.
For example:
FILEDIALOG "Select a file", "*.TXT", result$
Causes a dialog box to be opened with the title "Select a file".
Only "*.TXT" files will be displayed, and when the user makes
the final selection, the resulting path will be placed into the
string variable result$.
3) The lof( ) function has been added. This lets you find the length of
an open file.
For example:
open "c:\autoexec.bat" for input as #1
autoexecLength = lof(#1)
Would set the value of variable autoexecLength to be whatever the
length of your autoexec.bat file is.
4) The using( ) function now works a lot better.
5) The NOTICE command has been added:
NOTICE pops up a small dialog box containing a message of your choice.
For example:
notice "Illegal Entry"
Would pop up a small notice saying "Illegal Entry". This notice has
an OK button which lets the user close the notice. Program execution
would then continue.
In the above form, the title of the dialog box always reads "Notice".
You can change this using the following form:
notice "User Error" + chr$(13) + "Limit Exceeded!"
In this case, the title would be "User Error", and the notice
would be "Limit Exceeded!".
0.9a notes:
--------------------------------------------------------------------
A bug causing numeric constants between 0 and -1 to be accidentally
translated as positive has been corrected ;
Compile error messages are more helpful now, and the compiler will
highlight the errant line in the source editor ;
An on-line reference facility has been added as selections under
the Help pull down menu of the file browser. If instruction is needed
for a particular command, simply select that command in the source
(double clicking on the word does the trick), then pull down Help
and select Command Reference ;
Graphics operations are more efficient (faster). Additionally a circle
command has been added for drawing circles (see circles.bas) ;
Faster compilation ;
NOTE: In the file LIBERTY.TXT (this file) in the 0.9 release, the text
for the TRACE command inaccurately stated that the three levels of
TRACE worked thus:
0 - run full speed, 1 - animated trace, 2 - single step
In actuality, the reverse is true.
0 single steps, 1 animates, and 2 runs full speed.
Here is a list of the supported commands for the 0.9b release:
ABS() ACS() ASC() ASN() ATN() BEEP BUTTON CHR$() CLOSE
CLS CONFIRM COS() DATE$() DIM EOF() EXP() FILEDIALOG
FOR...NEXT GOSUB...RETURN GOTO IF...THEN...ELSE INPUT$() INPUT
INPUT # INSTR() INT() LEFT$() LEN() LET LOF() LOG()
MID$() OPEN PRINT PRINT # PROMPT LPRINT REM RETURN
RIGHT$() RND() STOP END SIN() STR$() TAN() TIME$()
TRACE TRIM$() USING() VAL() WHILE...WEND
Here is a list of the supported graphics commands:
COLOR GOTO PLACE UP DOWN GO LINE FILL FLUSH SIZE CLS
FONT NORTH TURN POSXY PRINT CIRCLE HOME
Here is a list of the spreadsheet commands:
INDIRECT MANUAL CELL FORMAT RESULT? FORMULA? SELECT USER
FLUSH
Here is a list of the text window commands:
CLS FONT LINES LINE
Release 0.9 Notes:
------------------------------------------------------------------------
Some bugs in the parser have been fixed ;
Multiple windows are supported, buttons can be added where desired.
A button can cause execution to be transferred to a unique branch
label (event driven style) or it can return a string like an INPUT
statement (procedural style). Any window can be opened as:
a graphics window with line and turtle color graphics ;
a text window (for output or input) with font control ;
a spreadsheet (controllable via BASIC statements) ;
Confirmation and prompter style dialog boxes are supported ;
The debugger has been improved with a variable watch window ;
BASIC code can now be compiled and run from the start-up browser
without first opening a BASIC source editor window ;
Many more statements and functions are included (see summary.txt) ;
More sample programs are included ;
Release 0.2 Notes:
--------------------------------------------------------------------------
IF/THEN/ELSE now supported. For example, the following is valid:
if mid$(a$,index,1) = "." then print "." else print mid$(a$,index,1);
The compiler is not case sensitive any longer. Reserved words may be
in either upper or lower case. It is case sensitive in the sense that
variable names that are the same but with different capitalization are
considered unique. NOTE: VARIABLE NAMES MAY NOT START WITH STATEMENT
OR FUNCTION NAMES.
The simple continuous trace debugger in version 0.1 has been replaced
by a 3 stage pushbutton debugger permitting single step, continuous
trace, and no trace (run full speed). You can move from one mode to
the other at will. A variable watch window is not available yet.
In version 0.1 you needed to recompile every time you wanted to run
a program. Now all that is needed is to bring up the pane menu
for the window the program is running in and select the Restart option.
This can be done at any time (not just at the end of a program run) and
will work in Run or Debug mode.
The ^ arithmetic operator is now supported. The remaining operators
are: + - * / AND OR
NOTE: AND & OR ARE ONLY USEFUL IN IF/THEN/ELSE STATEMENTS FOR
THE PURPOSE OF DETERMINING LOGICAL CONDITIONS. FOR EXAMPLE:
if a > b and matchFlag = 1 then gosub [match] is acceptable
let result = -1 and latch is not acceptable
Version 0.1 was only able to represent negative numbers with an
expression (0-n). Version 0.2 now supports negative numbers in
expressions. For example:
In version 0.1 - print rate * (term + (0 - 5))
In version 0.2 - print rate * (term + -5)
STOP and END commands are now supported.
RND(1) is now supported. RND(0) is not.
The random sequence generator is crude, but it works for now. Subsequent
releases of Liberty BASIC will have improved 'randomness'. For now, let's
just say that RND(1) provides 'arbitrary' number generation.
STR() was changed to STR$(), which is the proper MBASIC name for this
function.
TRACE 0, 1, or 2 is now supported. This allows control of the
debugger trace mode to be controlled inside of the program being
debugged.
TRACE 0 no trace, run at full speed
TRACE 1 trace continously
TRACE 2 single step
(^^ this is incorrect, see more recent mention, above ^^)
---------------------------------------------------------------------------
INSTALLATION:
To install Liberty BASIC, first make sure that you are not
running Windows. The program INSTALL.EXE is included with
Liberty BASIC to install it for you.
Run this program, and you will be asked where Windows resides.
The default is C:\WINDOWS. If Windows resides anywhere else,
you must specify it here.
Now you will be asked where to install Liberty BASIC. The
default is C:\LIBERTY. If you want it to be installed elsewhere,
then you must specify it here.
You will then be given an opportunity to abort the installation.
If you choose not to abort, then installation will begin then.
Once installation is complete, you may load Windows. If you
specified any directory to install Liberty BASIC into other than
\LIBERTY, then you will need to alter the properties for the
Liberty BASIC icon to indicate where it is installed. Otherwise
you can just go ahead and double-click on its icon to start
Liberty BASIC.
Liberty BASIC starts with a file browser window. It is arranged as
four panes, three across the top, and one on the bottom like so:
+--------------------------------------------------------------+
| - Liberty BASIC c:\liberty v ^ |
+--------------------------------------------------------------+
| a [1] | [..] [2] | demo.bas [3] |
| b | liberty | read.bas |
| c | msdos | test.bas |
| | | |
| select drive here | select directory | select file here |
| | here | |
+--------------------------------------------------------------+
| [4] |
| |
| |
| |
| see BASIC source code here |
| |
| |
| |
| |
+--------------------------------------------------------------+
Select the drive to browse in pane [1], then select the directory
(usually liberty) to browse in pane [2], then finally the file to
browse in pane [3]. When the .BAS file is selected, its source will
be displayed in pane [4]. To run the program, position the cursor
inside of pane [3] and press the right hand mouse button and a menu
will appear. Then select the item BASIC source editor, and a new
window will open which will contain a copy of the source for the
selected file. Then position the cursor inside of that pane and again
press the right hand mouse button for another menu. There are two
options available, Run and Debug. Run compiles and runs the program,
and Debug provides the additional benefit of a 3 level source level
debugger with optional watch window (v 0.9 let's you do this in
pane 4 without opening a seperate BASIC source editor).
If you want help, you can get this on-line by pulling down the Help
menu and selecting either Liberty BASIC Notes, or Command Reference.
If you select a word in the source editor and then select help, the
system will try to find that word or command in the text.
HINT for 286 users with only 3 megabytes of RAM:
---------------------------------------------------
3 megabytes RAM is very tight for Liberty BASIC when
running in Standard Mode. If low memory errors make
Liberty BASIC unusable, try to free up as much extended
memory as possible. If all else fails, try this:
Run Windows ;
Run Liberty BASIC ;
Exit Liberty BASIC ;
Run Liberty BASIC again
As strange a ritual as this may seem, it does something
to the way Liberty BASIC manages its memory, making
those low memory errors much less trouble. We cannot
guarantee that this trick will work on your system.
Here's what you get with your registration fee of $35:
Liberty BASIC 1.x (you will always get the most recent version) with:
A free copy of BASIC Training from Cascoly Software. This shareware
BASIC tutorial starts you on your way learning to program in BASIC ;
Technical Support ;
New! A runtime distribution mechanism lets you share your Liberty
BASIC programs with others. No runtime charges apply ;
Graphics commands for filled polygons, circles, ellipses, pie slices ;
Define your own Windows dialog boxes with the full suite of dialog
box objects (buttons, checkboxes, comboboxes, etc...) ;
Segmented graphics, which let you treat each drawn item as an object
which can be individually manipulated ;
The ability to add pull down menus with accelerator keys to your programs ;
The ability to trap the window close event and assign a routine to
handle it ;
A more powerful spreadsheet widget ;
Random access file capability (0.9d is limited to sequential);
More string, math, and other functions and commands ;
Configure Liberty BASIC to use the system-wide font you specify. Set
it and forget it ;
More...
See the file LBAS10.TXT for more details on version 1.0a! To see
this file, pull down Help and select Version 1.0 Details.
If you decide to register, send $35 and you will receive the most recent
version and tech support. Upgrades will be made available for only a
few dollars. You also get an evaluation copy of BASIC Training, a
shareware BASIC tutor from Cascoly Software. An illustrated, bound
manual is available for an additional $15 (only $10 if ordered when
you register).
You can order directly from Shoptalk Systems (cash or check) or from
Public (software) Library with your MC, Visa, AmEx, or Discover Card by
calling 800-242-4PsL (from overseas: 713-524-6394) or by FAX to
713-524-6398. THESE NUMBERS ARE FOR ORDERING ONLY.
Shoptalk Systems can NOT be reached at those numbers. To contact
Shoptalk Systems for information about dealer pricing, volume
discounts, site licensing, the status of shipment of the product, the
latest version number or for technical information, or to discuss
returns, call or write Shoptalk Systems (see address and phone # below).
Here is some other stuff in the works:
Incremental compilation ;
Program chaining ;
Graphics Bitblitting ;
Powerful animation capabilities ;
Debugger enhancements ;
Access to Dynamic-Link-Libraries ;
DDE capability ;
The ability to use externally defined resources ;
More ...!!!
PLEASE call or write if you have any suggestions for features
you would like to see in Liberty BASIC! We really need lots of
feedback if Liberty BASIC is to become the product that _you_
want it to be.
To find out more write or call:
Shoptalk Systems
P.O. Box 1062
Framingham, MA 01701
508-872-5315
Or contact Carl Gundel on Compuserve at 71231, 1532