home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / windows / baswind8.zip / CALENDR3.SUB < prev    next >
Text File  |  1990-09-14  |  4KB  |  106 lines

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