home *** CD-ROM | disk | FTP | other *** search
- Liberty BASIC 1.1 Beta release
-
- Please support shareware!
-
- --------------------------------------------------------------------------
-
- New with version 1.1!
-
- The most exciting feature is the addition of 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 LB05.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!
-
- To our knowledge, Liberty BASIC is now the only shareware cross-platform
- programming tool for Windows and OS/2!!!
-
- ---------------------------------------------------------------------
-
- NOTES:
-
- The first twenty-four items listed here represent the difference between
- release 1.0 and 1.0a of Liberty BASIC:
-
- 12/30/92
-
- ** 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.
-
- 01/06/92
-
- 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.
-
-
- 01/14/92
-
- 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.
-
-
- 1-22-93
-
- 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).
-
-
- 2-3-93
-
- 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.
-
-
- 2-4-93
-
- 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.
-
-
- 2-5-93
-
- 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.
-
- 2-12-93
-
- 21) The 1) item has been removed. Random file record PUTs are now
- NOT forced every time to disk.
-
- 2-24-93
-
- 22) Bug fix - When there was no THEN or GOTO in an IF...THEN
- statement, the compiler crashed. Problem corrected.
-
- 2-28-93
-
- 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 beta
- --------------------------------------------------------------
-
- 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
-
-
-