home *** CD-ROM | disk | FTP | other *** search
/ World of Shareware - Software Farm 2 / wosw_2.zip / wosw_2 / QBAS / WNDTOOL5.ZIP / CALENDR3.SUB < prev    next >
Text File  |  1989-04-26  |  4KB  |  101 lines

  1. '
  2. '$PAGE
  3. '
  4. '******************************************************************************
  5. '                    Function :                                               *
  6. '                                                                             *
  7. ' Purpose:                                                                    *
  8. '                                                                             *
  9. '                                                                             *
  10. ' Results:                                                                    *
  11. '                                                                             *
  12. ' Usage  :                                                                    *
  13. '                                                                             *
  14. '                                                                             *
  15. ' Date Written : 01/01/89 - Date Tested: 01/01/89 - Author: James P Morgan    *
  16. ' Date Modified:          -            :          -       :                   *
  17. '-----------------------------------------------------------------------------*
  18. ' NOTE:                                                                       *
  19. '******************************************************************************
  20. '                                                                             *
  21. '     SUB PROGRAM NAME          (PARAMETERS)                 STATIC/RECURSIVE *
  22. '-----------------------------------------------------------------------------*
  23. '                                                                             *
  24. '============================================================================
  25. '
  26. SUB    CALENDR3(MONTH%,YEAR%,ROW%,FORE%,BACK%,SHADOW%)                STATIC
  27.  
  28.        DEFINT A-Z                             'make all short interger by default
  29.  
  30.        IF (MONTH%<1) OR (MONTH%>12) THEN      'edit month for validity
  31.            GOTO CALENDR3.DONE
  32.        ENDIF
  33.  
  34.        IF YEAR%<0 THEN                        'edit year for validity
  35.            GOTO CALENDR3.DONE
  36.        ENDIF
  37.  
  38.        ORG.MONTH%=MONTH%                      'save the starting month/year
  39.        ORG.YEAR%=YEAR%
  40.  
  41.        ROW$=STR$(ROW%)
  42.        ROW$="00"+RIGHT$(ROW$,LEN(ROW$)-1)
  43.        ROW$=RIGHT$(ROW$,2)
  44.  
  45. '
  46. '$PAGE
  47.  
  48.        ULR%=ROW%                              'Create Window for Calendar
  49.        ULC%=6
  50.        LRR%=ULR%+9
  51.        LRC%=75
  52.  
  53.        FRAME%=4
  54.        LABEL$=""
  55.        CALL MAKEWIND(ULR%,ULC%,LRR%,LRC%,FRAME%,FORE%,BACK%,GROW%,SHADOW%,LABEL$)
  56.  
  57.        SHADOW%=0                              'no shadow
  58.  
  59.        NYEAR%=ORG.YEAR%                       '
  60.        MONTH%=ORG.MONTH%-1                    'calculate previous month
  61.        IF MONTH%=0 THEN                       'did month force year to roll back
  62.            NYEAR%=NYEAR%-1
  63.            MONTH%=12                          'December
  64.        ENDIF
  65.  
  66.        QUADRANT$=ROW$+":06"
  67.  
  68.        GOSUB CALENDR3.DISPLAY.CALENDAR        'display this month/year calendar
  69.  
  70.        MONTH%=ORG.MONTH%                      'restore original month/year
  71.        NYEAR%=YEAR%
  72.  
  73.        QUADRANT$=ROW$+":30"
  74.  
  75.        GOSUB CALENDR3.DISPLAY.CALENDAR
  76.  
  77.        MONTH%=ORG.MONTH%+1                    'calculate the next month
  78.        NYEAR%=YEAR%
  79.        IF MONTH%=13 THEN                      'did the month force year to roll over
  80.            NYEAR%=NYEAR%+1
  81.            MONTH%=1                           'January
  82.        ENDIF
  83.  
  84.        QUADRANT$=ROW$+":54"
  85.  
  86.        GOSUB CALENDR3.DISPLAY.CALENDAR
  87.  
  88.        ROW$=""                                'free string space
  89.        QUADRANT$=""
  90.  
  91.        EXIT SUB                               'return to caller
  92.  
  93. CALENDR3.DISPLAY.CALENDAR:
  94.        CALL CALENDAR(MONTH%,NYEAR%,QUADRANT$,FORE%,BACK%,SHADOW%)
  95.        RETURN
  96.  
  97. '
  98. CALENDR3.DONE:
  99.        EXIT SUB                               'return to caller
  100. END SUB
  101.