home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 22
/
CD_ASCQ_22_0695.iso
/
win
/
prg
/
lb11wi
/
readme.txt
< prev
next >
Wrap
Text File
|
1995-04-02
|
11KB
|
307 lines
Liberty BASIC 1.1
Please support shareware!
--------------------------------------------------------------------------
New with version 1.1!
The most exciting feature is our new FreeForm visual layout tool. This
tool lets you draw windows and add controls like buttons, listboxes,
etc. It then writes your windowing code for you, and you can paste the
code into your program! FreeForm is itself written in Liberty BASIC,
and source code is included so that you can change it and add to it to
make it fit your needs.
Another exciting feature of v1.1 is a redesigned *.TKN format file,
giving Liberty BASIC 'Compile on Demand' capability. When you run a *.TKN
program, it starts right up, even if it is very large. More importantly,
when you register Liberty BASIC, you will receive a copy of the runtime
engine, letting you distribute your programs royalty-free!
New OS/2 beta version available!
Look for LB07.ZIP on your local BBS. This OS/2 port of Liberty BASIC is
designed to provide portability from the Windows version! Or send us
$5, and we'll send you a copy!
---------------------------------------------------------------------
NOTES:
The first twenty-four items listed here represent the difference between
release 1.0 and 1.0a of Liberty BASIC:
** item 1) has been removed because it caused incompatibility with
other BASICs ***
1) Random file PUTs are forced to disk (later a more intelligent
and efficient scheme will be added ;
2) Variable names can now start with reserved words. For example,
the variable name 'tools' would not have been permitted before
because it starts with 'to', which is a reserved word ;
(for x = 1 TO 10)
^--- reserved word
3) Trapclose is now effective for the window and dialog window
types ;
4) Now individual texteditor panes can be added to windows of type
graphics, window, and dialog. These panes can accept the same
commands as windows of type text, and any number can be added to
a single window. For examples, see the included programs.
5) Added the LOF(#handle) function, which returns the length of the file
referenced by #handle.
6) Fixed a bug in the !origin row column command for windows of type
text, and for the texteditor panes. Unfortunately use of !origin would
sometimes cause a stack overflow, causing the entire Windows
session to abruptly terminate, requiring a reboot to proceed safely.
7) Corrected a problem that caused the last line of text printed to
text panes to not be displayed. This is for windows opened as type
text (the various types), and for text panes added to windows using
the texteditor command.
8) Added the checkbox command, which lets one add checkboxes to
Liberty BASIC windows of type: window, graphics, dialog. The syntax
is like this:
checkbox #handle.ext, "label", [branchOn], [branchOff],
xOrigin, yOrigin, width, height
[branchOn] is executed if the box is checked on
[branchOff] is executed if the box is checked off
Currently there is no way to set or reset the checkbox from program
control.
9) The TextBox object has been modified so that it can contain more
than one line of text. Simply specifying a vertical size large enough
to accomodate the desired number of lines is all that is required to
do so.
10) Sometimes if a program terminates with a runtime error, there is
no way to close the window(s) for that program. A new system menu
option has been added to force the termination of all open BASIC
programs, even if they stubbornly refuse to close using the
normal means. Simply pull down the system menu and select 'Kill
BASIC Apps...'. This will usually take 10 or so seconds (16 MHz 386sx).
11) Modified the select command for Listbox so that it will be able
to select items that have spaces in them, either leading spaces,
internally embedded spaces, or trailing spaces. The same was done
for Combobox.
12) Added the selectionindex? command for Listbox and Combobox so that
the numerical index of the current selection can be determined.
Format is:
print #handle.ext, "selectionindex?"
input #handle.ext, i
where the index (0 if no selection) is placed in i.
13) Font selection is now cached. When a font/size is first selected,
it will take time to sift through and find a good match. The second
time that font/size is selected, the font will be returned almost
instantly.
14) Now the font command works with listboxes, not just texteditors.
15) Now when the font command is used with the texteditor/textbox/listbox
objects, fonts with spaces in their names can be selected. Previously
only those fonts with only one word in their name were selectable.
16) The TRIM$() function did not work at all. Now it does.
17) The SORT command has been added. This command sorts both double
and single dimensioned arrays. Arrays can be sorted in part or in whole,
and with double dimensioned arrays, the specific column to sort by
can be declared. When this option is used, all the rows are sorted
against each other according to the items in the specified column.
Here is the syntax for the sort command:
sort arrayName(, i, j {,n}
This sorts the array named arrayName( starting with element i,
and ending with element j. If it is a double dimensioned array
then the column parameter tells which nth element to use as a
sort key. Each WHOLE row moves with its corresponding key as
it moves during the sort. So let's say you have a double
dimensioned array holding sales rep activity:
repActivity(x, y)
So you're holding data, one record per x position, and your
record keys are in y. So for example:
repActivity(1,1) = "Tom Maloney" : repActivity(1,2) = "01-09-93"
repActivity(2,1) = "Mary Burns" : repActivity(2,2) = "01-10-93"
.
.
.
repActivity(100,1) = "Tom Maloney" : repActivity(100,2) = "01-08-93"
So you want to sort the whole 100 items by the date field. This is
how the command would look:
sort repActivity(, 1, 100, 2
If you wanted to sort by name instead, then change the 2 to a 1, like
this:
sort repActivity(, 1, 100, 1
18) The 'Watch Variables?' messageBox no longer appears when running the
debugger. It is now assumed that you want to watch variables.
This saves time.
19) The NOMAINWIN command is now effective when debugging programs. This
saves you from needing to close the main program window every time when
debugging.
20) Now there are three commands that can be sent to checkboxes:
print #handle.ext, "set"
This sets the checkbox.
print #handle.ext, "reset"
This clears the checkbox.
print #handle.ext, "value?"
input #handle.ext, r$
This returns either "SET" or "RESET" into r$, depending on
the state of the checkbox.
21) The 1) item has been removed. Random file record PUTs are now
NOT forced every time to disk.
22) Bug fix - When there was no THEN or GOTO in an IF...THEN
statement, the compiler crashed. Problem corrected.
23) WHILE and WEND are now more GWBASIC compatible. They will not
execute a loop even once if the condition of the WHILE expression
evaluates to false.
24) The File and Files menus have been merged, and redundant items
have been removed.
Changes constituting release 1.1
--------------------------------------------------------------
25) A Setup menu has been added. Font selection is part of the
setup, and now there is an option to save the selected font as the
default font.
26) The LPRINT command now works, but still needs some work.
27) The DUMP command has been added. This completes the LPRINT
fix by permitting a Liberty BASIC program to force dump everything
to the printer at will.
28) Added the LOADBMP and DRAWBMP commands so that any *.bmp file
can be loaded and drawn in a graphics window either at x,y or
centered on x,y. Look at the included TTT.BAS and related *.BMP files.
29) Eliminated the dreaded "Sharing Violation" bug that appeared when
trying to run *.TKN files. Now you can load SHARE.EXE and still use
Liberty BASIC.
30) Corrected a limitation in the input$() function that prevented
the use of anything but a numeric literal as the second parameter.
When an arithmetic expression was used before, it would not produce
an error, but it would just act unpredictably.
31) Added the command singleClickSelect to the listbox control.
Example: print #window.listbox, "singleclickselect"
This tells the listbox to branch on a single-click, instead of a
double-click, if so desired.
32) Added the option to use an extension with the statictext command.
When this option is chosen, a BASIC program can print to the control
to change its text contents. It can also perform an input to get its
contents. Example:
'paste this code into Liberty BASIC and try it!
statictext #win.status, "help on", 10, 10, 100, 20
button #win, "Put", [put], UL, 10, 40
button #win, "Get", [get], UL, 10, 40
open "Application" for dialog as #win
[inputLoop]
input r$
[put]
prompt "Please type something"; text$
print #win.status, text$
goto [inputLoop]
[get]
input #win.status, text$
notice text$
goto [inputLoop]
33) The browser/editor now automatically selects the current default
drive and directory when Liberty BASIC loads.
34) The File and Files menus are now integrated into one File menu, and
duplicate items are eliminated.
35) Variable names can now start with reserved words.
36) Boolean AND & OR are more GWBASIC compatible, but bitwise operations
are still not supported.
37) The PgUp and PgDn keys now work when viewing Help files. Previously
it was necessary to operate the scroll bars using the mouse.
38) The WHILE...WEND commands are now GWBASIC compatible.
39) The trim$() function now works. It didn't before.
40) A zoom text option has been added to the Source menu.
41) Improved the font selection capability to include TrueType fonts. When
naming a font with more than one word in its name replace the spaces with
the underscore character. For example:
print #main.text, "font Ms_Sans_Serif 5 13"
42) Because we now have an OS/2 native version of Liberty BASIC, the
variables Platform$ and Version$ have been added. They contain the
name of the platform (either "OS/2" or "Windows") and the version #
so that when differences between the versions become a problem, you
can test to see which platform and version you're running, and write
case specific code, letting you write one source for both platforms.
43) Radiobutton support has been added. Syntax is identical to
checkbox support. Grouppanes are not supported yet, so all radio-
buttons in a window are linked.
44) RULE XOR | OVER is added to graphics windows. This lets you
draw, and simply redraw to erase (using xor). RULE OVER is the
default, and it simply draws over whatever is there already. See
the DRAW.BAS program included.
45) A fix was added concerning a bug in Cursor management, which
often caused GPFs when loading on some systems.
That's all for now!
Shoptalk Systems
PO BOX 1062
Framingham, MA 01701
508-872-5315
Carl Gundel CIS 71231,1532