home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 14 / CDACTUAL.iso / cdactual / demobin / share / program / Basic / STDLIB.ZIP / ONSCREEN.BAS < prev    next >
Encoding:
BASIC Source File  |  1990-10-04  |  3.4 KB  |  91 lines

  1. '****************************************************************************
  2. 'Total Control Systems                                         QuickBasic 4.5
  3. '****************************************************************************
  4. '
  5. '  Program     : ONSCREEN.BAS
  6. '  Written by  : Tim Beck
  7. '  Written On  : 10-01-90
  8. '  Function    : ONSCREEN SUBROUTINE
  9. '
  10. '****************************************************************************
  11. '  This program and those associated with it were written for use with Quick-
  12. '  Windows Advanced (Version 1.5+).  Possesion of this program entitles you
  13. '  to certain priviliges.  They are:
  14. '
  15. '     1. You may compile, use, or modify this program in any way you choose
  16. '        provided you do not sell or give away the source code to this prog-
  17. '        ram or any of it's companions to anyone for any reason.  You may,
  18. '        however, sell the resulting executable program as you see fit.
  19. '
  20. '     2. You may modify, enhance or change these programs as you see fit. I
  21. '        as that you keep a copy of the original code and that you notify
  22. '        me of any improvements you make.  I like to think that the code is
  23. '        bug free and cannot be improved upon, but I'm sure someone will
  24. '        find a way to make it better.  If it's you, I'm looking forward to
  25. '        seeing your changes.  I can be reached at:
  26. '
  27. '              Tim Beck                      Tim Beck (C/O Debbie Beck)
  28. '              19419 Franz Road              8030 Fairchild Avenue
  29. '              Houston, Texas  77084         Canoga Park, California 91306
  30. '              (713) 639-3079                (818) 998-0588
  31. '
  32. '     3. This code has been tested and re-tested in a variety of applications
  33. '        and although I have not found any bugs, doesn't mean none exist. So,
  34. '        this program along with it's companions comes with NO WARRANTY,
  35. '        either expressed or implied.  I'm sorry if there are problems, but
  36. '        I can't be responsible for your work.  I've tried to provide a safe
  37. '        and efficient programming enviroment and I hope you find it helpful
  38. '        for you.  I do, however, need to cover my butt!
  39. '
  40. '  I have enjoyed creating this library of programs and have found them to be
  41. '  a great time saver.  I hope you agree.
  42. '
  43. '                                                            Tim Beck //
  44. '
  45. '****************************************************************************
  46.    DECLARE SUB ONSCREEN (R%, C%, msg$, csr%, attr%)
  47.  
  48.    '-----------------------------------------------------------------------
  49.    '  Prints a Message at a specific Row and Column
  50.    '  Clears the screen to Column 80
  51.    '
  52.    '  R%, C%   = Beginning Row and Column of Message
  53.    '  msg$     = Message to Print
  54.    '  csr%     = Cursor ON or OFF (1, 0)
  55.    '  attr%    = Color Attribute (Fore% + (Back% * 16)) 0 = Screen
  56.  
  57.  
  58.    REM $INCLUDE: 'STDCOM.INC'
  59.  
  60.    TIMER OFF    'Enables Event Trapping
  61.  
  62. '  ON ERROR GOTO ErrorTrap
  63.  
  64. ErrorTrap:
  65.  
  66. '  RESUME
  67.  
  68. SUB ONSCREEN (R%, C%, msg$, csr%, attr%) STATIC
  69.  
  70.    IF R% <= 0 OR R% > 25 THEN
  71.       R% = CSRLIN
  72.    END IF
  73.  
  74.    IF C% <= 0 OR C% > 80 THEN
  75.       C% = POS(X)
  76.    END IF
  77.  
  78.    IF attr% = 0 THEN
  79.       attr% = S.attr%
  80.    END IF
  81.   
  82.    CALL PRINTA(C%, R%, attr%, SPACE$(80 - C% + 1))
  83.    CALL PRINTA(C%, R%, attr%, msg$)
  84.  
  85.    IF csr% THEN
  86.       LOCATE R%, C% + LEN(msg$), 1
  87.    END IF
  88.  
  89. END SUB
  90.  
  91.