[프로그램] Liberty BASIC/2 beta version 0.91
마루
0
16,006
2008.04.29 09:30
Shoptalk Systems
Phone: 508-872-5315
Email: carlg@world.std.com
WWW: http://world.std.com/~carlg/basic.html
FTP: ftp://ftp.std.com/consultants/liberty.basic
=================================================================
Liberty BASIC/2 beta version 0.91 release notes:
=================================================================
Copyright 1992, 1993, 1994, 1995, 1996 Shoptalk Systems
All Rights Reserved
July 1996
Liberty BASIC was originally released for the MS Windows platform almost four
years ago as shareware. This is the _tenth_ beta release of a port from
Windows to OS/2 platform. Aside from any bugs that may exist in this beta
version, this release is functionally very close to the Windows version of
Liberty BASIC.
Here are a few things that are NOT supported in this release:
- The spreadsheet widget
- The new *.TKN format isn't here yet, but the old one still works :-)
- The PLAYWAVE command only rings the system bell in this release
- The Setup menu for the editor is not yet implemented
LOOKING FOR BETA TESTERS!
If you want to participate in our beta testing program, send email to
Carl Gundel expressing your interest: carlg@world.std.com
Please let us know if you are having any trouble running Liberty BASIC
with IBM's FixPak 17 installed!
New for Liberty BASIC/2 v0.91, July 1996
- Startup code has been rehashed to remedy crashing on startup that some
were experiencing.
- Fixed input$(1). It caused LB to freeze, and there were other things
wrong with it too.
- Added the file DDE4.MSG to the distribution set. The lack of this file in
previous releases caused ERROR.LOG crash info to be missing (making it
more difficult to diagnose any memory protection faults).
- The following things were broken by our new variable lookup/indexing
method (introduced in v0.9) and are now FIXED.
- The GET command ;
- Reading the mouse in a graphics window
New for Liberty BASIC/2 v0.9
- Fixed a bug in the INPUT$() function (the function just didn't work).
- Fixed a bug where the texteditor control was not sizing properly when used
in a window of type dialog.
- Converted to bitwise AND and OR operators. Negative numbers are converted
to positive before operating on. OS/2 being a 32-bit operating system,
the smallest converted negative number is converted into a 32-bit figure
like so: (2^32) - n This can be then converted into a 16-bit number if
desired by ANDing it with 65535 (LB for Win v1.3 uses 16-bit values when
a value can be represented as one).
- Added the RMDIR() function. Pass a single parameter consisting of a
complete directory path to remove. Removes only the last subdirectory
in the specified path. Returns zero if successful, and an OS error
code if unsuccessful.
- Added the MKDIR() function. Pass a single parameter consisting of a
complete directory path to create. Cannot create more than one
subdirectory at a time. Returns zero if successful, and an OS error
code if unsuccessful.
- Changed to an indexed variable lookup scheme instead of a hashed one.
This yields at least a 25% speed improvement in program execution.
- Added support for the REDIM statement for redimensioning arrays
- The UpperLeftX and UpperLeftY variables are now relative to the upper-left
corner of the display to make this version of LB/2 more compatible with
the Windows version.
- Added support for the DisplayWidth and DisplayHeight variables.
Try: print DisplayWidth; " by "; DisplayHeight; " pixels"
- Added the DefaultDir$ variable (but changing its contents doesn't actually
change the current directory, yet).
- The File...Save menu item would always ask for a filename (as if Save As...
was selected) when working on a *new* file (one that was not loaded from
disk)
- When LPRINTing, Liberty BASIC was trying to print each job twice, rather
than once. Sometimes this would really muck things up.
New for Liberty BASIC v0.8a
This is a bug-fix release of v0.8. Several important problems were fixed
including:
- The delsegment command for graphics windows was not working correctly
- Pop-up and pull-down Edit menus for texteditor controls didn't work correctly
- The box and boxfilled commands drew boxes slightly taller than they should have
- The circlefilled command didn't fill completely or with the correct color
- Trying to load a bitmap that doesn't exists returned an OS Error and created an
empty file with an unclosed handle instead of providing a user-friendly error
message.
New for Liberty BASIC v0.8 (Oct 10, 1995)
- Ported over to a new compiler
- Added user-definable button sizes
- Fixed bug with Save and Save As... menu items in the source editor
- Added support for TEXTEDITOR command
- Added scrollbars to debugger
- Enhanced debugger to permit changing of walk or run modes while
running code.
- Fixed debugger so that it doesn't always rise to top during debugging
- Added support for LINE INPUT
- Added KILL command for deleting files
- Added NAME command for renaming files
- Added RUN command. At this time only works with *.TKN files
and OS/2 EXEs (sort of)
- Added the upper$( ) and lower$( ) functions for converting strings
all uppercase and all lowercase
- Added support for the modal dialog box types dialog_modal and
dialog_nf_modal
- Added the setfocus command to the following controls: Listbox,
combobox, textbox, checkbox, and radiobutton
- Added the FILES command, for extracting file & directory information
- and other hard to describe details....
Registration for this beta version is purely voluntary; no one will be
obligated to register any version of Liberty BASIC for OS/2 version
numbered less than 1.0. We hope you like what you see here and that
you are willing to help speed development by sending us your monetary
support. Those who do register will receive v1.0 for FREE when it is
released. See the file REGISTER.TXT for more details.
Liberty BASIC for OS/2 beta version 0.7 release notes:
Copyright 1992, 1993, 1994, 1995
Shoptalk Systems
All Rights Reserved
Feb 2, 1995
What's New?
- A bug was fixed that caused OS/2 Warp to crash when loading Liberty BASIC.
- A bug was fixed that sometimes caused the WorkPlace Shell to hang when
trying to open windows that contained controls.
- A sample Liberty BASIC program called Freeform has been included. This
program lets you graphically design your own windows, and it writes the code
for you! Because this is a Liberty BASIC for Windows program with virtually no
code changes for this platform, it looks a little messy, but it works! The
filename is FFEXP.BAS. It is amost 60K of source code, so make a *.TKN file
out of it and run it like that so that you don't have to wait for the compile!
- A bug was fixed that caused a LB program execution to halt when trying
to print to a statictext control.
- Font selection is now possible in a graphics window. The command is:
print #handle, "font fontname width height"
Remove spaces from the font name, and if you are using a fixed width font
like System Monospaced, the exact font width and height must be specified.
- The text window type has been added. This allows you to open a window and
print text into it for display, editing, cutting and pasting, etc. The supported
text window types are:
text text window with scroll bars
text_fs text window full screen size with scroll bars
text_nsb text window without scroll bars
text_fs_nsb text window full screen size without scroll bars
- Fixed the boxfilled graphics command so that it actually produces a filled box.
Use forecolor to set the border and backcolor to set the filled interior.
- Set up the standard window backdrop to be an OS/2-ish gray instead of white.
- Fixed the size graphics command to make it more compatible with the
Windows version of Liberty BASIC.
- Added a Drives$ variable that contains a list of valid drive letters.
'try this code
print Drives$
Liberty BASIC for OS/2 beta version 0.6 release notes:
Copyright 1992, 1993, 1994
Shoptalk Systems
All Rights Reserved
Aug 17, 1994 & Nov 1994
What's New?
- 32 bits! It has been a few months since our last release. We've been busy.
This new version is the first 32-bit version of Liberty BASIC! The older
versions were 16-bit only!
- This new version is almost 40% smaller and is also 40% faster than verion 0.5!
- Bitmapped buttons are supported now. See the DRAW1.BAS program for an
example.
- This is the first OS/2 version we are collecting registrations for!
Registration for this beta version is purely voluntary; no one will be
obligated to register any version of Liberty BASIC for OS/2 version
numbered less than 1.0. We hope you like what you see here and that
you are willing to help speed development by sending us your monetary
support. See the file REGISTER.TXT for more details.
- For v0.6a only: A new item added to the Source menu called 'Go To
Branch Label' lets you see an ordered list of all branch points. By
double-clicking on one, you will be instantly transported to that part
of your program, ready to edit!
Bug fixes:
- Array bounds checking is now perform at runtime, instead of at compile-time.
Message for the error is also improved.
- Sometimes a red box containing a 'PM out of resources' error message. This
has been largely eliminated.
- Some bugs in the editor have been repaired, in particular the bug involving
the File/New menu item.
- You can now use LPRINT. The output is buffered, so when you are finished
and want to commit to paper, use the DUMP statement, like so:
lprint "Hello"
lprint "World!"
dump
- An additional window style has been added called graphics_nsb_nf. This
style opens a graphics window without scroll bars and without a sizing frame.
Cut and paste this example:
' draw some ellipses
open "Ellipses" for graphics_nsb_nf as #1
print #1, "down"
print #1, "place 130 130"
for x = 30 to 230 step 10
print #1, "ellipse "; x ; " "; 260 - x
next x
print #1, "flush"
input r$
close #1
- For v0.6a only: A bug was fixed in the debugger. When executing in the
'Run' mode, you no longer see variables update in the variable watch pane,
so the program runs at its proper full speed in this mode now.
-------------------------------------------------
Liberty BASIC for OS/2 beta version 0.5 release notes:
Copyright 1992, 1993, 1994
Shoptalk Systems
Al Rights Reserved
March 12, 1994
This new 0.5 release gives you several enhancements. The most exciting is the
ability to make *.TKN files of your programs! This lets you run large programs
without waiting for the compile. Each BASIC statement is compiled only as it
is needed. If you build very large programs, and only use half of its features
in a sitting, it doesn't even need to compile the other half.
To make a *.TKN file of a BASIC program, pull down the Source menu and select
Make *.TKN File. Then once the file is created, running it is just as easy.
Just pull down the Source menu and select Run *.TKN File.
In addition, these *.TKN files will run interchangeably with the files in the
Windows version of Liberty BASIC. Because some small differences are sure to
exist between both versions of Liberty BASIC, and between Presentation Manager
and Windows in general, two system variables Platform$ and Version$ have been
added to both the OS/2 and Windows versions. Platform$ will contain the
string "OS/2" or "Windows", and Version$ will contain the version #, for
example: "1.1". This allows you to add exception code when needed by testing
to see what version of Liberty BASIC is running.
Other additions:
- Trapclose now works with the graphics window type.
- The new rule command provides the ability to control the way graphics are
drawn in graphics windows. An xor (exclusive or) mode lets you draw an object
once, and then just redraw it to erase it without disturbing other objects
that intersect it.
code example:
' switch to exclusive or
print #chart, "rule xor"
' switch to over-draw (the default mode)
print #chart, "rule over"
See the included DRAW.BAS (new version) for an example of the rule graphics
command.
- Support for radiobutton controls is added. The syntax is the same as for
checkboxes. See the included RADIOBTN.BAS program.
NOTE: For now, groupboxes are not supported, and so all radiobuttons in any
window belong to the same set, and only one checkbox can be SET at any one
time. Until groupboxes are supported, the checkbox control can be used to
imitate radiobuttons when more than one set of them is needed in a window.
See the IMITATE.BAS program for an example of using checkboxes to imitate
radiobuttons.
- The File/New menu has been repaired so that no error message is returned.
-------------------------------------------------
(Notes from previous version of Liberty BASIC)
Liberty BASIC for OS/2 beta version 0.4 release notes:
This new 0.4 release provides powerful new dialog box definition facilities.
You can now create your own dialog boxes containing the following controls:
- entry fields, using the TEXTBOX command
- buttons, using the BUTTON command
- statictext, using the STATICTEXT command
- listboxes, using the LISTBOX command
- comboboxes, using the COMBOBOX command
- checkboxes, using the CHECKBOX command
Other controls (like texteditors, bmpbuttons, radiobuttons, and more) will be
added in future releases.
Look at the sample programs CHECKBOX.BAS and CONTACT.BAS for examples of how to
use dialog boxes and their controls. NOTE: In the samples the window type
dialog is used. The graphics window types also allow use of the above controls,
but because of the way Presentation Manager handles controls in non-dialog
windows, the TAB button will not cycle through controls, nor will Alt-key
combinations work with buttons in non-dialog windows.
----TRAPCLOSE
Any dialog box (and later windows of all types) let you define a branch point
to transfer execution when a user tries to close it. This is done with the
TRAPCLOSE command. See CHECKBOX.BAS and CONTACT.BAS for examples of this
technique.
----NOMAINWIN
The nomainwin command can be inserted anywhere into your Liberty BASIC programs
to prevent the appearance of the Program Named ???.BAS window that automatically
appears when you run your programs. See how this is used with the CHECKBOX.BAS
and CONTACT.BAS programs. Since it really is best to use TRAPCLOSE when using
NOMAINWIN, restrict its use to programs using the dialog window type (for now).
----Observant users of the DRAW.BAS program (included with v0.3) noticed that
the drawing of boxes in a graphics window was fouled up. This has been repaired.
----BUG FIX: Earlier versions reported an 'exitLibertyBASIC not understood'
message when Exit was selected from the File menu. This is repaired
(and then some).
----Printing in Liberty BASIC:
Because the port from the Windows version isn't complete, the LPRINT command
produces an error. You can still print to LPT1 though by using code like this:
open "lpt1" for output as #1
print #1, "this is a test"
close #1
The next release will add the ability to create tokenized program files. This
will enable creation of distributable programs, which will require the RUN.EXE
runtime engine, which will only be available to registered users of Liberty
BASIC for a modest fee of $35. This will also make the Windows version
available for just $15 more.
The runtime engines for these two platforms will be able to run the same
tokenized files. This will provide an affordable cross platform tool.
------------------------------------------
(Notes from previous version of Liberty BASIC)
Liberty BASIC for OS/2 beta version 0.3 release notes:
Copyright 1992 & 1993
Shoptalk Systems
Al Rights Reserved
Jan 22, 1994
This third release of Liberty BASIC for OS/2 includes:
1) To our embarrassment, previous versions did not have a pull-down menu for
running and debugging. The undocumented way to run and debug was to pop up a
menu for the editor by pressing mouse button 2. Now you can pull down the
Source menu and select Run or Debug. Our apologies to those who were
frustrated or confused on this matter.
2) The graphics are now fourth quadrant (x0,y0 is now in the upper left), as
opposed to first quadrant (x0,y0 in the lower left), as Presentation Manager
defines it. This makes it more compatible with the Windows version.
3) MORE documentation is included (SUMMARY.TXT and WINDOWS.TXT) describing
functions and commands. This is straight from the Windows version and isn't
guaranteed to be completely accurate for this version. Press ALT-O to open a
file selection dialog box so you can read these files.
4) We include a Tic-Tac-Toe game as a code example. It doesn't play very
well, but makes a good demonstration of coding technique in Liberty BASIC.
PLEASE give us some feedback. Any suggestions or bug reports are eagerly
needed! Contact Carl Gundel on Compuserve 71231,1532 or directly at
(508)-872-5315.
Next release will add dialog box features! Define your own without special
tools!
DISTRIBUTION POLICY:
This is a BETA version. It is copyrighted material, but our policy for now
is to give the OS/2 beta version away. Feel free to copy it and give it to
friends and coworkers. Later versions will be shareware and will require
registration (like the Windows version).
------------------------------------------
(Notes from previous version of Liberty BASIC)
Liberty BASIC for OS/2 beta version 0.2 release notes:
Copyright 1992 & 1993
Shoptalk Systems
Al Rights Reserved
Dec 30, 1993
About release 0.2:
First of all, release 0.2 supports the use of the Tab key when typing and
editing BASIC source code. Release 0.1 only let you use the space character,
and reported a syntax error when it found a Tab character.
This release adds the ability to open a graphics window and perform drawing.
It also lets you read the mouse inside of this window. See the file
windows.txt for more information. Later releases will add more types of
windows including text, dialog box, generic windows, etc...
Buttons can be added to the graphic window.
For examples of how to program graphics and how to use buttons, see the
files BUTTONS.BAS, DRAW.BAS, and GRAPHICS.BAS.
DIFFERENCES FROM THE WINDOWS VERSION:
- When drawing graphics, keep in mind that Presentation Manager uses the
lower left of the screen as 0,0 and Windows uses the upper left. This
means some minor recoding on your part. Later we might add that coordinate
translation into Liberty BASIC. (This is fixed in this version 0.3, see above!)
KNOWN BUGS:
- Don't use the first line in the source editor
for anything but a REMARK, the compiler only compiles from
the second line on.
------------------------------------------
(Notes from previous version of Liberty BASIC)
Liberty BASIC for OS/2 beta version 0.1 release notes:
Copyright 1992 & 1993
Shoptalk Systems
Al Rights Reserved
Nov 2, 1993
Liberty BASIC was originally released for the MS Windows platform almost two
years ago as shareware. This is the first beta release of a port from Windows
to OS/2 platform.
This release does not include the multi-windowing features of the Windows
version yet. No graphics are supported and no dialog box controls on this
platform yet. To get a good look at what this software will soon look
like, take a look at the Windows version. The Windows version is called
LB09D.ZIP and is available in the IBMPRO forum and the WINSHARE forum.
What is supported? Here is a list of supported functions:
ABS() ACS() ASN() ATN() ASC() BEEP CHR$() CLOSE CLS
CONFIRM COS() DATE$() DIM END EOF() EXP() FIELD FOR...NEXT
GET GETTRIM GOSUB...RETURN GOTO IF...THEN...ELSE INPUT$()
INPUT INPUT # INSTR() INT() LEFT$() LEN() LET LOF() LOG()
LPRINT MID$() OPEN PRINT PRINT # PUT REM RETURN RIGHT$()
RND() STOP SIN() SORT STR$() TAN() TIME$() TRACE TRIM$()
USING() VAL() WHILE...WEND WORD$()
It is possible that a few of these do not work, but certainly most of
them will.
Please feel free to contact me if you have any questions.
Carl Gundel
508 872-5315
CIS 71231,1532