home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpm / basic / mbaspos.txt < prev    next >
Text File  |  1994-07-13  |  3KB  |  66 lines

  1. CURSOR POSITIONING CAN BE FUN IF YOU KNOW THE RIGHT PROCEDURES
  2. by Editor, KUGOR BYTES, July 1987
  3.  
  4. (Using functions and procedures in BASIC to position the cursor)
  5.  
  6. Is there any way to position the cursor on the screen with single
  7. command in MBasic or SBasic?  Both of these languages, which came
  8. bundled with the Kaypro, are very useful, but can become awful
  9. tiring having to issue dozens of PRINT commands -- unless you
  10. don't mind everything printing at the upper left corner...
  11.  
  12. There certainly is a time saving method to get that cursor (or
  13. output) smack dab where you want it.  MBasic employs what are
  14. known as user defined functions.  Early on the program, define
  15. the function.  The command is DEF (for define, followed by a
  16. space and FN (for function), then (no space) an arbitrary
  17. variable to identify the particular function, and a $ if you are
  18. defining a string.  This is followed by the variables, in
  19. parentheses, which will change throughout the program, an equals
  20. sign, and the calculations for the function itself.
  21.  
  22. DEF FNfunction
  23. name(variables)=function
  24.  
  25. To position the cursor in MBasic, use this simple formula:
  26. CHR$(27)+"="+CHR$(Y+32)+CHR$(X+32) exactly as shown.  The Y
  27. stands for line number and X for row number.  Thus, the user
  28. defined function will be initialized as:
  29.  
  30. DEF FNC$(Y,X)=CHR$(27)+"="+CHR$(Y+32)+CHR$(X+32)
  31.  
  32. Now anytime you want to position the cursor or output at a
  33. specific point on the screen, let's say 10 lines down and 5
  34. columns in, use FNC$(10,5).
  35.  
  36. Try this example --
  37. PRINT FNC$(11,31);"This is the middle"
  38.  
  39. That will place the string in quotation marks right in the center
  40. of the screen.  Once defined at the beginning of a program, user
  41. defined functions can be called again and again.
  42.  
  43. In S-Basic, it is even easier.  S-Basic employs procedures, which
  44. operate much the same way as MBasic user defined functions,
  45. except they allow you to call with mnemonics.  I like to use the
  46. following:
  47.  
  48. PROCEDURE AT (Y,X=INTEGER)
  49. PRINT CHR(27)+"="+CHR(Y+32)+CHR(X+32)END
  50.  
  51. In this simple statement, the keyword PROCEDURE tells S-Basic
  52. that you are defining a procedure.  What follows is your name for
  53. the procedure; I've used AT, as you'll soon understand.  Then the
  54. variables Y,X are established.  After that we enter the formula
  55. -- same as in MBasic.  S-Basic doesn't need the $ string
  56. appendage.
  57.  
  58. Now, to position something within a program, I can write:
  59.  
  60. AT 11,31
  61. PRINT "This is the middle"
  62.  
  63. Get the mnemonic subtleties?  It's really quite easy and once you
  64. get the hang of it, you'll be designing your programs as well as
  65. writing them!
  66.