home *** CD-ROM | disk | FTP | other *** search
- New features and fixes of Liberty BASIC 1.2 for Windows!
-
- >>> NOTICE to users of Liberty BASIC v1.1 <<<
- The format for *.TKN files has been changed to make them more
- secure. You cannot use your v1.1 or v1.0 format *.TKN files.
- Make new ones from your existing *.BAS files.
-
- 1) A new editor is used, offering one editing window pane instead
- of the four in the previous versions. This was changed mostly
- because of customer feedback that they didn't like the old version.
-
- 2) Now you can run *.TKN files straight from the Run menu (formerly
- call the Source menu)!
-
- 3) Programs will run up to 30% faster in processing intensive tasks.
-
- 4) Programs are more memory efficient. This also improves speed,
- especially on tight memory systems.
-
- 5) LINE INPUT has been added for sequential file input.
-
- 6) A bug was fixed that prevented the use of the name File as a
- pull down menu name. Files was often used as a substitute.
-
- 7) When opening a window with textbox controls, the focus is now
- automatically given to the first textbox. Before it was necessary
- to Tab to the first item.
-
- 8) To give any control inside a window the focus, just print setfocus
- to the control, like so:
-
- print #main.name, "setfocus"
-
- Note: some controls expect !setfocus instead of setfocus
-
- 9) A visual design tool called FreeForm is included which lets you
- design your windows and controls graphically, and it will write the
- Liberty BASIC code for you! The program is written in Liberty BASIC
- and the code is included, so you can examine a real application
- written in Liberty BASIC, and also so that you can modify it to
- suit your needs.
-
- 10) Buttons can now be sized as desired just by tacking on a width and
- height onto the old button command syntax. For example.
-
- button #1, "Red", [colorRed], UL, 5, 5, 30, 20
-
- This produces a button labeled Red, 30 pixels wide and 20 high.
- Previous versions autosized the buttons. The format below is still
- valid:
-
- button #1, "Red", [colorRed], UL, 5, 5
-
-
- 11) Window sizing and placement have been modified. The default size
- is different (and using values between 0 and 1 for WindowWidth and
- WindowHeight isn't valid anymore). Windows will position themselves
- depending on mouse position when they open unless UpperLeftX and
- UpperLeftY are deliberately modified.
-
- 12) The Go To Branch Label window is now much bigger and displays more
- items, making program navigation easier.
-
- 13) Kill Basic Programs now kills ALL types, those started from Run,
- from Debug, and also *.TKN files.
-
- 14) The Platform$ system variable permits a running program to know
- which version of Liberty BASIC is running. It will either be
- "Windows" or "OS/2". The Version$ system variable now reads "1.2"
-
- 15) A Drives$ system variable has been added, which returns a string
- containing all available drive letters like so:
-
- print Drives$
-
- might produce: "a: b: c: "
-
- Hint: Use the word$() function to get each drive letter out.
-
- 16) A bug was fixed that would occur sometimes when trying to close
- an application that uses windows with controls. The error would
- read like this:
-
- Handle #handle.xxxx not available
-
- Where #handle.xxxx would be any valid handle pointing to a
- window control
-
- 17) Improved printing support in graphics windows (still needs more
- work <g>).
-
- Note: It is important to send flush, and then print like so:
-
- print #graphicsWindow, "flush ; print"
-
- 18) Some debug code was accidentally left in. This code would cause
- something like an invoice or packing slip to appear in front of
- anything you LPRINTed. This code has been removed.
-
- 19) The cleaning up of bitmaps (when loading bmp files with LOADBMP or
- when using the BMPBUTTON command) has been greatly improved, helping
- so solve a diminishing resources problem.
-
- 20) The spreadsheet window style now uses a fixed width font to
- remedy the broken looking text produced when labels stretch across
- cells.
-
- 21) A compiler design flaw was ELIMINATED. The compiler would try
- to bounds check array references at compile-time. This was ill
- conceived. If you had code similar to the examples below,
- you would get an out of bounds error during compile.
-
- print stuff(index - 1)
- or
- a$(r - 1) = a$(r)
-
- Because the variable index was not defined (was zero) at compile
- time, subtracting 1 would result in -1. Since the compiler would
- check the validity of this result at compile time, and error would
- be reported. The second example is similar.
-
- 22) The spreadsheet now supports cell selection using the mouse.
-
- 23) A bug preventing the use of this form of BUTTON (or BMPBUTTON)
- along with the NOMAINWIN statement was fixed:
-
- 'the "ok" literal replaces what is usually a branch label.
- 'this would cause the input r$ below to assign "ok" to r$
- button #handle, "Okay", "ok", UL, 5, 5
- open "Window" for window as #main
- .
- .
- .
- input r$
-
- 24) The Branch Labels window feature of the Liberty BASIC editor
- was omitting indented branch labels from its list. This has been
- repaired.
-
- 25) When opening a random access file, if the record length set
- by the open statement disagreed with the total of field lengths
- specified by the subsequent FIELD statement, an ambiguous error
- message would appear, and the program would bomb. Now Liberty
- BASIC properly reports the error.
-
- 26) Added a KILL command to remove disk files. The standard
- BASIC syntax is used, for example:
-
- kill "myfile.txt"
-
- 27) Added a NAME command to rename disk files. The standard
- BASIC syntax is used, for example:
-
- name "myfile.txt" as "myfile.old"
-
- 28) Added a RUN command to permit the execution of external
- Windows and DOS programs. Control is provided over the initial
- display of Windows programs, and DOS programs are controlled by
- their own *.PIF file entries.
-
- run "winfile" - this will run the file manager
- run "winfile", minimize - this runs file manager minimized
- run "mybatch.bat" - this runs a DOS batch file
- run "\DOS\QBASIC.EXE" - this runs QBASIC on most systems
-
- Execution of the parent Liberty BASIC program does not halt
- during execution of a RUNned program. If this is desirable, you
- can include a NOTICE statement after the RUN, like this:
-
- run "mybatch.bat"
- notice "Batch file completed."
-
- 29) Added a PLAYWAVE command to permit the playing of Windows
- *.WAV files. Files can be set to play synchronously,
- asynchronously, and continuously looping.
-
- playwave "bell.wav", sync - plays bell.wav synchronously
- playwave "bell.wav", async - plays bell.wav asynchronously
-
- playwave "bell.wav", loop - replays bell.wav over and over
- playwave "", sync - stops replaying looping wav file
-
- 30) The splash screen that displays while loading Liberty BASIC was
- failing to release its memory. This has been repaired.
-
- 31) Logical line extension has been added. This lets you spread
- a line of code over several physical lines by using the _ (underscore)
- character in your source code like so:
-
- if sLength > len(inSet$(x)) then flag = 1 : gosub [set] else flag = 0
-
- might be instead:
-
- if sLength > len(inSet$(x)) then _
- flag = 1 : _
- gosub [set] _
- else _
- flag = 0
-
- NOTE: Blank lines for spacing are not valid.
-
-
- 32) The ability to add external programs to the Run menu has been added.
- This lets you add any external DOS or Windows programs (or Liberty BASIC
- *.tkn programs!) to your Run menu, so you don't need to find the
- Program Manager to run your frequently needed things! Just pull down
- the Setup menu and select External Programs to add your own!
-
- 33) Fixed a problem in the debugger where certain variable changes were
- not being displayed.
-
- 34) Now when you close down a program you're debugging, it's debugger will
- automatically close with it. The reverse is also true. Closing the
- debugger will terminate its associated program.
-
- 33) A bug was fixed that caused the vertical scrollbar of a graphics
- window to mirror the action of a user-dragged horizontal scroll bar.
-
- 34) Two new window types are added: modal versions of dialog and of
- dialog_nf. Opening either of the new window types (dialog_modal or
- dialog_nf_modal) causes the window active at that moment to become
- input disabled. If you click on the disabled window, you will get the
- default system warning bell, and the modal dialog will remain the
- active window. This will continue until the modal dialog is closed.
- Note: The modal aspect of these window types is disabled during
- debugging to prevent the debugger from becoming disabled by a modal
- dialog box.
-
- 35) The function upper$(aString) was added to convert the alphabetic
- characters of aString to all uppercase.
-
- 36) The function lower$(aString) was added to convert the alphabetic
- characters of aString to all lowercase.
-
- 37) Most documentation has been converted to Windows Help format and
- made available from Liberty BASIC's Help menu.
-