home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 February / PCWK0296.iso / sharewar / win31x / program / liberty / liberty.shr / LIBERTY.TXT < prev    next >
Encoding:
Text File  |  1995-06-19  |  9.0 KB  |  237 lines

  1. New features and fixes of Liberty BASIC 1.2 for Windows!
  2.  
  3. >>> NOTICE to users of Liberty BASIC v1.1 <<<
  4.   The format for *.TKN files has been changed to make them more
  5.   secure.  You cannot use your v1.1 or v1.0 format *.TKN files.
  6.   Make new ones from your existing *.BAS files.
  7.  
  8. 1) A new editor is used, offering one editing window pane instead
  9. of the four in the previous versions.  This was changed mostly
  10. because of customer feedback that they didn't like the old version.
  11.  
  12. 2) Now you can run *.TKN files straight from the Run menu (formerly
  13. call the Source menu)!
  14.  
  15. 3) Programs will run up to 30% faster in processing intensive tasks.
  16.  
  17. 4) Programs are more memory efficient.  This also improves speed,
  18. especially on tight memory systems.
  19.  
  20. 5) LINE INPUT has been added for sequential file input.
  21.  
  22. 6) A bug was fixed that prevented the use of the name File as a
  23. pull down menu name.  Files was often used as a substitute.
  24.  
  25. 7) When opening a window with textbox controls, the focus is now
  26. automatically given to the first textbox.  Before it was necessary
  27. to Tab to the first item.
  28.  
  29. 8) To give any control inside a window the focus, just print setfocus
  30. to the control, like so:
  31.  
  32.     print #main.name, "setfocus"
  33.  
  34.     Note: some controls expect !setfocus instead of setfocus
  35.  
  36. 9) A visual design tool called FreeForm is included which lets you
  37. design your windows and controls graphically, and it will write the
  38. Liberty BASIC code for you!  The program is written in Liberty BASIC
  39. and the code is included, so you can examine a real application
  40. written in Liberty BASIC, and also so that you can modify it to
  41. suit your needs.
  42.  
  43. 10) Buttons can now be sized as desired just by tacking on a width and
  44. height onto the old button command syntax.  For example.
  45.  
  46.     button #1, "Red", [colorRed], UL, 5, 5, 30, 20
  47.  
  48.   This produces a button labeled Red, 30 pixels wide and 20 high.
  49.   Previous versions autosized the buttons.  The format below is still
  50.   valid:
  51.  
  52.     button #1, "Red", [colorRed], UL, 5, 5
  53.  
  54.  
  55. 11) Window sizing and placement have been modified.  The default size
  56. is different (and using values between 0 and 1 for WindowWidth and
  57. WindowHeight isn't valid anymore).  Windows will position themselves
  58. depending on mouse position when they open unless UpperLeftX and
  59. UpperLeftY are deliberately modified.
  60.  
  61. 12) The Go To Branch Label window is now much bigger and displays more
  62. items, making program navigation easier.
  63.  
  64. 13) Kill Basic Programs now kills ALL types, those started from Run,
  65. from Debug, and also *.TKN files.
  66.  
  67. 14) The Platform$ system variable permits a running program to know
  68. which version of Liberty BASIC is running.  It will either be
  69. "Windows" or "OS/2".  The Version$ system variable now reads "1.2"
  70.  
  71. 15) A Drives$ system variable has been added, which returns a string
  72. containing all available drive letters like so:
  73.  
  74.     print Drives$
  75.  
  76.   might produce: "a: b: c: "
  77.  
  78.     Hint: Use the word$() function to get each drive letter out.
  79.  
  80. 16) A bug was fixed that would occur sometimes when trying to close
  81. an application that uses windows with controls.  The error would
  82. read like this:
  83.  
  84.     Handle #handle.xxxx not available
  85.  
  86.     Where #handle.xxxx would be any valid handle pointing to a
  87.     window control
  88.  
  89. 17) Improved printing support in graphics windows (still needs more
  90. work <g>).
  91.  
  92.     Note: It is important to send flush, and then print like so:
  93.  
  94.     print #graphicsWindow, "flush ; print"
  95.  
  96. 18) Some debug code was accidentally left in.  This code would cause
  97. something like an invoice or packing slip to appear in front of
  98. anything you LPRINTed.  This code has been removed.
  99.  
  100. 19) The cleaning up of bitmaps (when loading bmp files with LOADBMP or
  101. when using the BMPBUTTON command) has been greatly improved, helping
  102. so solve a diminishing resources problem.
  103.  
  104. 20) The spreadsheet window style now uses a fixed width font to
  105. remedy the broken looking text produced when labels stretch across
  106. cells.
  107.  
  108. 21) A compiler design flaw was ELIMINATED.  The compiler would try
  109. to bounds check array references at compile-time.  This was ill
  110. conceived.  If you had code similar to the examples below,
  111. you would get an out of bounds error during compile.
  112.  
  113.     print stuff(index - 1)
  114.  or
  115.     a$(r - 1) = a$(r)
  116.  
  117. Because the variable index was not defined (was zero) at compile
  118. time, subtracting 1 would result in -1.  Since the compiler would
  119. check the validity of this result at compile time, and error would
  120. be reported.  The second example is similar.
  121.  
  122. 22) The spreadsheet now supports cell selection using the mouse.
  123.  
  124. 23) A bug preventing the use of this form of BUTTON (or BMPBUTTON)
  125. along with the NOMAINWIN statement was fixed:
  126.  
  127.     'the "ok" literal replaces what is usually a branch label.
  128.     'this would cause the input r$ below to assign "ok" to r$
  129.     button #handle, "Okay", "ok", UL, 5, 5
  130.     open "Window" for window as #main
  131.     .
  132.     .
  133.     .
  134.     input r$
  135.  
  136. 24) The Branch Labels window feature of the Liberty BASIC editor
  137. was omitting indented branch labels from its list.  This has been
  138. repaired.
  139.  
  140. 25) When opening a random access file, if the record length set
  141. by the open statement disagreed with the total of field lengths
  142. specified by the subsequent FIELD statement, an ambiguous error
  143. message would appear, and the program would bomb.  Now Liberty
  144. BASIC properly reports the error.
  145.  
  146. 26) Added a KILL command to remove disk files.  The standard
  147. BASIC syntax is used, for example:
  148.  
  149.     kill "myfile.txt"
  150.  
  151. 27) Added a NAME command to rename disk files.  The standard
  152. BASIC syntax is used, for example:
  153.  
  154.     name "myfile.txt" as "myfile.old"
  155.  
  156. 28) Added a RUN command to permit the execution of external
  157. Windows and DOS programs.  Control is provided over the initial
  158. display of Windows programs, and DOS programs are controlled by
  159. their own *.PIF file entries.
  160.  
  161.     run "winfile"              - this will run the file manager
  162.     run "winfile", minimize    - this runs file manager minimized
  163.     run "mybatch.bat"          - this runs a DOS batch file
  164.     run "\DOS\QBASIC.EXE"      - this runs QBASIC on most systems
  165.  
  166. Execution of the parent Liberty BASIC program does not halt
  167. during execution of a RUNned program.  If this is desirable, you
  168. can include a NOTICE statement after the RUN, like this:
  169.  
  170.     run "mybatch.bat"
  171.     notice "Batch file completed."
  172.  
  173. 29) Added a PLAYWAVE command to permit the playing of Windows
  174. *.WAV files.  Files can be set to play synchronously,
  175. asynchronously, and continuously looping.
  176.  
  177.     playwave "bell.wav", sync    - plays bell.wav synchronously
  178.     playwave "bell.wav", async   - plays bell.wav asynchronously
  179.  
  180.     playwave "bell.wav", loop    - replays bell.wav over and over
  181.     playwave "", sync            - stops replaying looping wav file
  182.  
  183. 30) The splash screen that displays while loading Liberty BASIC was
  184. failing to release its memory.  This has been repaired.
  185.  
  186. 31) Logical line extension has been added.  This lets you spread
  187. a line of code over several physical lines by using the _ (underscore)
  188. character in your source code like so:
  189.  
  190.     if sLength > len(inSet$(x)) then flag = 1 : gosub [set] else flag = 0
  191.  
  192.   might be instead:
  193.  
  194.     if sLength > len(inSet$(x)) then _
  195.         flag = 1 : _
  196.         gosub [set] _
  197.       else _
  198.         flag = 0
  199.  
  200. NOTE: Blank lines for spacing are not valid.
  201.  
  202.  
  203. 32) The ability to add external programs to the Run menu has been added.
  204. This lets you add any external DOS or Windows programs (or Liberty BASIC
  205. *.tkn programs!) to your Run menu, so you don't need to find the
  206. Program Manager to run your frequently needed things!  Just pull down
  207. the Setup menu and select External Programs to add your own!
  208.  
  209. 33) Fixed a problem in the debugger where certain variable changes were
  210. not being displayed.
  211.  
  212. 34) Now when you close down a program you're debugging, it's debugger will
  213. automatically close with it.  The reverse is also true.  Closing the
  214. debugger will terminate its associated program.
  215.  
  216. 33) A bug was fixed that caused the vertical scrollbar of a graphics
  217. window to mirror the action of a user-dragged horizontal scroll bar.
  218.  
  219. 34) Two new window types are added: modal versions of dialog and of
  220. dialog_nf.  Opening either of the new window types (dialog_modal or
  221. dialog_nf_modal) causes the window active at that moment to become
  222. input disabled.  If you click on the disabled window, you will get the
  223. default system warning bell, and the modal dialog will remain the
  224. active window.  This will continue until the modal dialog is closed.
  225. Note: The modal aspect of these window types is disabled during
  226. debugging to prevent the debugger from becoming disabled by a modal
  227. dialog box.
  228.  
  229. 35) The function upper$(aString) was added to convert the alphabetic
  230. characters of aString to all uppercase.
  231.  
  232. 36) The function lower$(aString) was added to convert the alphabetic
  233. characters of aString to all lowercase.
  234.  
  235. 37) Most documentation has been converted to Windows Help format and
  236. made available from Liberty BASIC's Help menu.
  237.