home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lb091.zip / LIBERTY.TXT < prev    next >
Text File  |  1996-08-06  |  21KB  |  502 lines

  1. Shoptalk Systems
  2. Phone: 508-872-5315
  3. Email: carlg@world.std.com
  4. WWW: http://world.std.com/~carlg/basic.html
  5. FTP: ftp://ftp.std.com/consultants/liberty.basic
  6.  
  7. =================================================================
  8. Liberty BASIC/2 beta version 0.91 release notes:
  9. =================================================================
  10.  
  11. Copyright 1992, 1993, 1994, 1995, 1996 Shoptalk Systems
  12. All Rights Reserved
  13. July 1996
  14.  
  15. Liberty BASIC was originally released for the MS Windows platform almost four
  16. years ago as shareware.  This is the _tenth_ beta release of a port from
  17. Windows to OS/2 platform.  Aside from any bugs that may exist in this beta
  18. version, this release is functionally very close to the Windows version of
  19. Liberty BASIC.
  20.  
  21. Here are a few things that are NOT supported in this release:
  22.  
  23. - The spreadsheet widget
  24. - The new *.TKN format isn't here yet, but the old one still works  :-)
  25. - The PLAYWAVE command only rings the system bell in this release
  26. - The Setup menu for the editor is not yet implemented
  27.  
  28.  
  29. LOOKING FOR BETA TESTERS!
  30.  
  31. If you want to participate in our beta testing program, send email to
  32. Carl Gundel expressing your interest: carlg@world.std.com
  33.  
  34. Please let us know if you are having any trouble running Liberty BASIC
  35. with IBM's FixPak 17 installed!
  36.  
  37. New for Liberty BASIC/2 v0.91, July 1996
  38.  
  39. - Startup code has been rehashed to remedy crashing on startup that some
  40.   were experiencing.
  41. - Fixed input$(1).  It caused LB to freeze, and there were other things
  42.   wrong with it too.
  43. - Added the file DDE4.MSG to the distribution set.  The lack of this file in
  44.   previous releases caused ERROR.LOG crash info to be missing (making it
  45.   more difficult to diagnose any memory protection faults).
  46. - The following things were broken by our new variable lookup/indexing
  47.   method (introduced in v0.9) and are now FIXED.
  48.   - The GET command ;
  49.   - Reading the mouse in a graphics window
  50.  
  51. New for Liberty BASIC/2 v0.9
  52.  
  53. - Fixed a bug in the INPUT$() function (the function just didn't work).
  54. - Fixed a bug where the texteditor control was not sizing properly when used
  55.   in a window of type dialog.
  56. - Converted to bitwise AND and OR operators.  Negative numbers are converted
  57.   to positive before operating on.  OS/2 being a 32-bit operating system,
  58.   the smallest converted negative number is converted into a 32-bit figure
  59.   like so: (2^32) - n  This can be then converted into a 16-bit number if
  60.   desired by ANDing it with 65535 (LB for Win v1.3 uses 16-bit values when
  61.   a value can be represented as one).
  62. - Added the RMDIR() function.  Pass a single parameter consisting of a
  63.   complete directory path to remove.  Removes only the last subdirectory
  64.   in the specified path.  Returns zero if successful, and an OS error
  65.   code if unsuccessful.
  66. - Added the MKDIR() function.  Pass a single parameter consisting of a
  67.   complete directory path to create.  Cannot create more than one
  68.   subdirectory at a time.  Returns zero if successful, and an OS error
  69.   code if unsuccessful.
  70. - Changed to an indexed variable lookup scheme instead of a hashed one.
  71.   This yields at least a 25% speed improvement in program execution.
  72. - Added support for the REDIM statement for redimensioning arrays
  73. - The UpperLeftX and UpperLeftY variables are now relative to the upper-left
  74.   corner of the display to make this version of LB/2 more compatible with
  75.   the Windows version.
  76. - Added support for the DisplayWidth and DisplayHeight variables.
  77.     Try:  print DisplayWidth; " by "; DisplayHeight; " pixels"
  78. - Added the DefaultDir$ variable (but changing its contents doesn't actually
  79.   change the current directory, yet).
  80. - The File...Save menu item would always ask for a filename (as if Save As...
  81.    was selected) when working on a *new* file (one that was not loaded from
  82.    disk)
  83. - When LPRINTing, Liberty BASIC was trying to print each job twice, rather
  84.    than once.  Sometimes this would really muck things up.
  85.  
  86.  
  87. New for Liberty BASIC v0.8a
  88.  
  89. This is a bug-fix release of v0.8.  Several important problems were fixed
  90. including:
  91.  
  92. - The delsegment command for graphics windows was not working correctly
  93. - Pop-up and pull-down Edit menus for texteditor controls didn't work correctly
  94. - The box and boxfilled commands drew boxes slightly taller than they should have
  95. - The circlefilled command didn't fill completely or with the correct color
  96. - Trying to load a bitmap that doesn't exists returned an OS Error and created an
  97.    empty file with an unclosed handle instead of providing a user-friendly error
  98.    message.
  99.  
  100. New for Liberty BASIC v0.8 (Oct 10, 1995)
  101.  
  102. - Ported over to a new compiler
  103. - Added user-definable button sizes
  104. - Fixed bug with Save and Save As... menu items in the source editor
  105. - Added support for TEXTEDITOR command
  106. - Added scrollbars to debugger
  107. - Enhanced debugger to permit changing of walk or run modes while
  108.     running code.
  109. - Fixed debugger so that it doesn't always rise to top during debugging
  110. - Added support for LINE INPUT
  111. - Added KILL command for deleting files
  112. - Added NAME command for renaming files
  113. - Added RUN command.  At this time only works with *.TKN files
  114.     and OS/2 EXEs (sort of)
  115. - Added the upper$( ) and lower$( ) functions for converting strings
  116.     all uppercase and all lowercase
  117. - Added support for the modal dialog box types dialog_modal and
  118.     dialog_nf_modal
  119. - Added the setfocus command to the following controls: Listbox,
  120.     combobox, textbox, checkbox, and radiobutton
  121. - Added the FILES command, for extracting file & directory information
  122. - and other hard to describe details....
  123.  
  124. Registration for this beta version is purely voluntary; no one will be
  125. obligated to register any version of Liberty BASIC for OS/2 version
  126. numbered less than 1.0.  We hope you like what you see here and that 
  127. you are willing to help speed development by sending us your monetary 
  128. support.  Those who do register will receive v1.0 for FREE when it is
  129. released.  See the file REGISTER.TXT for more details.
  130.  
  131.  
  132.  
  133. Liberty BASIC for OS/2 beta version 0.7 release notes:
  134.  
  135. Copyright 1992, 1993, 1994, 1995
  136. Shoptalk Systems
  137. All Rights Reserved
  138. Feb 2, 1995
  139.  
  140. What's New?
  141.  
  142. - A bug was fixed that caused OS/2 Warp to crash when loading Liberty BASIC.
  143.  
  144. - A bug was fixed that sometimes caused the WorkPlace Shell to hang when
  145. trying to open windows that contained controls.
  146.  
  147. - A sample Liberty BASIC program called Freeform has been included.  This
  148. program lets you graphically design your own windows, and it writes the code
  149. for you!  Because this is a Liberty BASIC for Windows program with virtually no
  150. code changes for this platform, it looks a little messy, but it works!  The
  151. filename is FFEXP.BAS.  It is amost 60K of source code, so make a *.TKN file
  152. out of it and run it like that so that you don't have to wait for the compile!
  153.  
  154. - A bug was fixed that caused a LB program execution to halt when trying
  155. to print to a statictext control.
  156.  
  157. - Font selection is now possible in a graphics window.  The command is:
  158.  
  159.     print #handle, "font fontname width height"
  160.  
  161.     Remove spaces from the font name, and if you are using a fixed width font
  162.     like System Monospaced, the exact font width and height must be specified.
  163.  
  164. - The text window type has been added.  This allows you to open a window and
  165. print text into it for display, editing, cutting and pasting, etc.  The supported
  166. text window types are:
  167.  
  168.     text                 text window with scroll bars
  169.     text_fs            text window full screen size with scroll bars
  170.     text_nsb         text window without scroll bars
  171.     text_fs_nsb    text window full screen size without scroll bars
  172.  
  173. - Fixed the boxfilled graphics command so that it actually produces a filled box.
  174. Use forecolor to set the border and backcolor to set the filled interior.
  175.  
  176. - Set up the standard window backdrop to be an OS/2-ish gray instead of white.
  177.  
  178. - Fixed the size graphics command to make it more compatible with the
  179. Windows version of Liberty BASIC.
  180.  
  181. - Added a Drives$ variable that contains a list of valid drive letters.
  182.  
  183.     'try this code
  184.     print Drives$
  185.  
  186.  
  187.  
  188. Liberty BASIC for OS/2 beta version 0.6 release notes:
  189.  
  190. Copyright 1992, 1993, 1994
  191. Shoptalk Systems
  192. All Rights Reserved
  193. Aug 17, 1994 & Nov 1994
  194.  
  195. What's New?
  196.  
  197. - 32 bits!  It has been a few months since our last release.  We've been busy.
  198. This new version is the first 32-bit version of Liberty BASIC!  The older
  199. versions were 16-bit only!
  200.  
  201. - This new version is almost 40% smaller and is also 40% faster than verion 0.5!
  202.  
  203. - Bitmapped buttons are supported now.  See the DRAW1.BAS program for an
  204. example.
  205.  
  206. - This is the first OS/2 version we are collecting registrations for!
  207. Registration for this beta version is purely voluntary; no one will be
  208. obligated to register any version of Liberty BASIC for OS/2 version
  209. numbered less than 1.0.  We hope you like what you see here and that 
  210. you are willing to help speed development by sending us your monetary 
  211. support.  See the file REGISTER.TXT for more details.
  212.  
  213. - For v0.6a only: A new item added to the Source menu called 'Go To
  214. Branch Label' lets you see an ordered list of all branch points.  By
  215. double-clicking on one, you will be instantly transported to that part
  216. of your program, ready to edit!
  217.  
  218. Bug fixes:
  219.  
  220. - Array bounds checking is now perform at runtime, instead of at compile-time.
  221. Message for the error is also improved.
  222.  
  223. - Sometimes a red box containing a 'PM out of resources' error message.  This
  224. has been largely eliminated.
  225.  
  226. - Some bugs in the editor have been repaired, in particular the bug involving
  227. the File/New menu item.
  228.  
  229. - You can now use LPRINT.  The output is buffered, so when you are finished
  230. and want to commit to paper, use the DUMP statement, like so:
  231.  
  232.     lprint "Hello"
  233.     lprint "World!"
  234.     dump
  235.  
  236. - An additional window style has been added called graphics_nsb_nf.  This
  237. style opens a graphics window without scroll bars and without a sizing frame.
  238. Cut and paste this example:
  239.  
  240.     ' draw some ellipses
  241.  
  242.     open "Ellipses" for graphics_nsb_nf as #1
  243.         print #1, "down"
  244.         print #1, "place 130 130"
  245.         for x = 30 to 230 step 10
  246.             print #1, "ellipse "; x ; " "; 260 - x
  247.         next x
  248.         print #1, "flush"
  249.         input r$
  250.     close #1
  251.  
  252. - For v0.6a only: A bug was fixed in the debugger.  When executing in the
  253. 'Run' mode, you no longer see variables update in the variable watch pane,
  254. so the program runs at its proper full speed in this mode now.
  255.  
  256.  
  257. -------------------------------------------------
  258.  
  259. Liberty BASIC for OS/2 beta version 0.5 release notes:
  260.  
  261. Copyright 1992, 1993, 1994
  262. Shoptalk Systems
  263. Al Rights Reserved
  264. March 12, 1994
  265.  
  266. This new 0.5 release gives you several enhancements.  The most exciting is the
  267. ability to make *.TKN files of your programs!  This lets you run large programs
  268. without waiting for the compile.  Each BASIC statement is compiled only as it
  269. is needed.  If you build very large programs, and only use half of its features
  270. in a sitting, it doesn't even need to compile the other half.
  271.  
  272. To make a *.TKN file of a BASIC program, pull down the Source menu and select
  273. Make *.TKN File.  Then once the file is created, running it is just as easy.
  274. Just pull down the Source menu and select Run *.TKN File.
  275.  
  276. In addition, these *.TKN files will run interchangeably with the files in the
  277. Windows version of Liberty BASIC.  Because some small differences are sure to
  278. exist between both versions of Liberty BASIC, and between Presentation Manager
  279. and Windows in general, two system variables Platform$ and Version$ have been
  280. added to both the OS/2 and Windows versions.  Platform$ will contain the
  281. string "OS/2" or "Windows", and Version$ will contain the version #, for
  282. example: "1.1".  This allows you to add exception code when needed by testing
  283. to see what version of Liberty BASIC is running.
  284.  
  285.  
  286. Other additions:
  287.  
  288. - Trapclose now works with the graphics window type.
  289.  
  290. - The new rule command provides the ability to control the way graphics are
  291. drawn in graphics windows.  An xor (exclusive or) mode lets you draw an object
  292. once, and then just redraw it to erase it without disturbing other objects
  293. that intersect it.
  294.  
  295.   code example:
  296.  
  297.   ' switch to exclusive or
  298.   print #chart, "rule xor"
  299.  
  300.   ' switch to over-draw (the default mode)
  301.   print #chart, "rule over"
  302.  
  303. See the included DRAW.BAS (new version) for an example of the rule graphics
  304. command.
  305.  
  306. - Support for radiobutton controls is added.  The syntax is the same as for
  307. checkboxes.  See the included RADIOBTN.BAS program.
  308.  
  309. NOTE:  For now, groupboxes are not supported, and so all radiobuttons in any
  310. window belong to the same set, and only one checkbox can be SET at any one
  311. time.  Until groupboxes are supported, the checkbox control can be used to
  312. imitate radiobuttons when more than one set of them is needed in a window.
  313. See the IMITATE.BAS program for an example of using checkboxes to imitate
  314. radiobuttons.
  315.  
  316. - The File/New menu has been repaired so that no error message is returned.
  317.  
  318. -------------------------------------------------
  319.  
  320. (Notes from previous version of Liberty BASIC)
  321. Liberty BASIC for OS/2 beta version 0.4 release notes:
  322.  
  323. This new 0.4 release provides powerful new dialog box definition facilities.
  324. You can now create your own dialog boxes containing the following controls:
  325.  
  326.  - entry fields, using the TEXTBOX command
  327.  - buttons, using the BUTTON command
  328.  - statictext, using the STATICTEXT command
  329.  - listboxes, using the LISTBOX command
  330.  - comboboxes, using the COMBOBOX command
  331.  - checkboxes, using the CHECKBOX command
  332.  
  333. Other controls (like texteditors, bmpbuttons, radiobuttons, and more) will be
  334. added in future releases.
  335.  
  336. Look at the sample programs CHECKBOX.BAS and CONTACT.BAS for examples of how to
  337. use dialog boxes and their controls.  NOTE:  In the samples the window type
  338. dialog is used.  The graphics window types also allow use of the above controls,
  339. but because of the way Presentation Manager handles controls in non-dialog
  340. windows, the TAB button will not cycle through controls, nor will Alt-key
  341. combinations work with buttons in non-dialog windows. 
  342.  
  343. ----TRAPCLOSE
  344. Any dialog box (and later windows of all types) let you define a branch point
  345. to transfer execution when a user tries to close it.  This is done with the
  346. TRAPCLOSE command.  See CHECKBOX.BAS and CONTACT.BAS for examples of this
  347. technique.
  348.  
  349. ----NOMAINWIN
  350. The nomainwin command can be inserted anywhere into your Liberty BASIC programs
  351. to prevent the appearance of the Program Named ???.BAS window that automatically
  352. appears when you run your programs.  See how this is used with the CHECKBOX.BAS
  353. and CONTACT.BAS programs.  Since it really is best to use TRAPCLOSE when using
  354. NOMAINWIN, restrict its use to programs using the dialog window type (for now).
  355.  
  356. ----Observant users of the DRAW.BAS program (included with v0.3) noticed that
  357. the drawing of boxes in a graphics window was fouled up.  This has been repaired.
  358.  
  359. ----BUG FIX:  Earlier versions reported an 'exitLibertyBASIC not understood'
  360. message when Exit was selected from the File menu.  This is repaired
  361. (and then some).
  362.  
  363. ----Printing in Liberty BASIC:
  364. Because the port from the Windows version isn't complete, the LPRINT command
  365. produces an error.  You can still print to LPT1 though by using code like this:
  366.  
  367.  open "lpt1" for output as #1
  368.  print #1, "this is a test"
  369.  close #1
  370.  
  371.  
  372. The next release will add the ability to create tokenized program files.  This
  373. will enable creation of distributable programs, which will require the RUN.EXE
  374. runtime engine, which will only be available to registered users of Liberty
  375. BASIC for a modest fee of $35.  This will also make the Windows version
  376. available for just $15 more.
  377.  
  378. The runtime engines for these two platforms will be able to run the same
  379. tokenized files.  This will provide an affordable cross platform tool.
  380.  
  381. ------------------------------------------
  382.  
  383. (Notes from previous version of Liberty BASIC)
  384. Liberty BASIC for OS/2 beta version 0.3 release notes:
  385.  
  386. Copyright 1992 & 1993
  387. Shoptalk Systems
  388. Al Rights Reserved
  389. Jan 22, 1994
  390.  
  391.  
  392. This third release of Liberty BASIC for OS/2 includes:
  393.  
  394. 1) To our embarrassment, previous versions did not have a pull-down menu for
  395. running and debugging.  The undocumented way to run and debug was to pop up a
  396. menu for the editor by pressing mouse button 2.  Now you can pull down the
  397. Source menu and select Run or Debug.  Our apologies to those who were
  398. frustrated or confused on this matter.
  399.  
  400. 2) The graphics are now fourth quadrant (x0,y0 is now in the upper left), as
  401. opposed to first quadrant (x0,y0 in the lower left), as Presentation Manager
  402. defines it.  This makes it more compatible with the Windows version.
  403.  
  404. 3) MORE documentation is included (SUMMARY.TXT and WINDOWS.TXT) describing
  405. functions and commands.  This is straight from the Windows version and isn't
  406. guaranteed to be completely accurate for this version.  Press ALT-O to open a
  407. file selection dialog box so you can read these files.
  408.  
  409. 4) We include a Tic-Tac-Toe game as a code example.  It doesn't play very
  410. well, but makes a good demonstration of coding technique in Liberty BASIC.
  411.  
  412. PLEASE give us some feedback.  Any suggestions or bug reports are eagerly
  413. needed!  Contact Carl Gundel on Compuserve 71231,1532 or directly at
  414. (508)-872-5315.
  415.  
  416. Next release will add dialog box features!  Define your own without special
  417. tools!
  418.  
  419. DISTRIBUTION POLICY:
  420. This is a BETA version.  It is copyrighted material, but our policy for now
  421. is to give the OS/2 beta version away.  Feel free to copy it and give it to
  422. friends and coworkers.  Later versions will be shareware and will require
  423. registration (like the Windows version).
  424.  
  425. ------------------------------------------
  426.  
  427. (Notes from previous version of Liberty BASIC)
  428. Liberty BASIC for OS/2 beta version 0.2 release notes:
  429.  
  430. Copyright 1992 & 1993
  431. Shoptalk Systems
  432. Al Rights Reserved
  433. Dec 30, 1993
  434.  
  435. About release 0.2:
  436.  
  437. First of all, release 0.2 supports the use of the Tab key when typing and
  438. editing BASIC source code.  Release 0.1 only let you use the space character,
  439. and reported a syntax error when it found a Tab character.
  440.  
  441. This release adds the ability to open a graphics window and perform drawing.
  442. It also lets you read the mouse inside of this window.  See the file
  443. windows.txt for more information.  Later releases will add more types of
  444. windows including text, dialog box, generic windows, etc...
  445.  
  446. Buttons can be added to the graphic window.
  447.  
  448. For examples of how to program graphics and how to use buttons, see the
  449. files BUTTONS.BAS, DRAW.BAS, and GRAPHICS.BAS.
  450.  
  451. DIFFERENCES FROM THE WINDOWS VERSION:
  452. - When drawing graphics, keep in mind that Presentation Manager uses the
  453. lower left of the screen as 0,0 and Windows uses the upper left.  This
  454. means some minor recoding on your part.  Later we might add that coordinate
  455. translation into Liberty BASIC. (This is fixed in this version 0.3, see above!)
  456.  
  457. KNOWN BUGS:
  458. - Don't use the first line in the source editor
  459. for anything but a REMARK, the compiler only compiles from
  460. the second line on.
  461.  
  462. ------------------------------------------
  463.  
  464. (Notes from previous version of Liberty BASIC)
  465. Liberty BASIC for OS/2 beta version 0.1 release notes:
  466.  
  467. Copyright 1992 & 1993
  468. Shoptalk Systems
  469. Al Rights Reserved
  470. Nov 2, 1993
  471.  
  472. Liberty BASIC was originally released for the MS Windows platform almost two
  473. years ago as shareware.  This is the first beta release of a port from Windows
  474. to OS/2 platform.
  475.  
  476.  
  477. This release does not include the multi-windowing features of the Windows
  478. version yet.  No graphics are supported and no dialog box controls on this
  479. platform yet.  To get a good look at what this software will soon look
  480. like, take a look at the Windows version.  The Windows version is called
  481. LB09D.ZIP and is available in the IBMPRO forum and the WINSHARE forum.
  482.  
  483. What is supported?  Here is a list of supported functions:
  484.  
  485. ABS()   ACS()   ASN()   ATN()   ASC()   BEEP   CHR$()   CLOSE   CLS   
  486. CONFIRM   COS()   DATE$()   DIM   END   EOF()   EXP()   FIELD   FOR...NEXT   
  487. GET   GETTRIM   GOSUB...RETURN   GOTO   IF...THEN...ELSE   INPUT$()   
  488. INPUT   INPUT #   INSTR()   INT()   LEFT$()   LEN()   LET   LOF()   LOG()   
  489. LPRINT   MID$()   OPEN   PRINT   PRINT #   PUT   REM   RETURN   RIGHT$()   
  490. RND()   STOP   SIN()   SORT   STR$()   TAN()   TIME$()   TRACE   TRIM$()   
  491. USING()   VAL()   WHILE...WEND   WORD$()
  492.  
  493. It is possible that a few of these do not work, but certainly most of
  494. them will.
  495.  
  496. Please feel free to contact me if you have any questions.
  497.  
  498. Carl Gundel
  499. 508 872-5315
  500. CIS 71231,1532
  501.  
  502.