Category : BASIC Source Code
Archive   : QB_CAL.ZIP
Filename : CALEND3.BAS

 
Output of file : CALEND3.BAS contained in archive : QB_CAL.ZIP
'Calend3.BAS
'This file has the window and screen support routines
'It also contains the phsical definitions of each portion of the
'screen and screen messages
'$INCLUDE: 'Calend.Bi'
BoxDefs: 'Size & Position for various boxes or windows
DATA 2, 33, 1, 5 : ' Title Box
DATA 1, 40, 18, 25 : ' Help Box
DATA 6, 28, 7, 16 : ' Month Box
DATA 43, 79, 1, 25 : ' Diary Box
DATA 13, 67, 21, 24 : ' L-Calend. Help
DATA 2, 24, 1, 10 : ' L-calend. #1
DATA 29, 51, 1, 10 : ' L-Calend. #2
DATA 56, 78, 1, 10 : ' L-Calend. #3
DATA 2, 24, 11, 20 : ' L-Calend. #4
DATA 29, 51, 11, 20 : ' L-Calend. #5
DATA 56, 78, 11, 20 : ' L-Calend. #6
DIM SHARED Box(1 TO LastBox) AS BoxType

SUB InitBoxes 'Initialize the box system
RESTORE BoxDefs
FOR Lp = 1 TO LastBox
READ Box(Lp).LftCol, Box(Lp).RtCol
READ Box(Lp).TopRow, Box(Lp).BotRow
NEXT Lp
END SUB

SUB MakeBox (BoxNum%, Clr%) 'Draw a box on the screen
COLOR Clr, Background, Background
LftCol = Box(BoxNum).LftCol
RtCol = Box(BoxNum).RtCol
TopRow = Box(BoxNum).TopRow
BotRow = Box(BoxNum).BotRow
Htemp$ = STRING$(RtCol - LftCol - 1, 205)
LOCATE TopRow, LftCol, 0
PRINT CHR$(201); Htemp$; CHR$(187);
FOR Lp = TopRow + 1 TO BotRow - 1
LOCATE Lp, LftCol, 0
PRINT CHR$(186);
LOCATE Lp, RtCol, 0
PRINT CHR$(186);
NEXT Lp
LOCATE BotRow, LftCol, 0
PRINT CHR$(200); Htemp$; CHR$(188);
COLOR Normal, Background, Background
END SUB

SUB NormalBox (BoxNum%) 'Draw a normal-colored box
CALL MakeBox(BoxNum, Normal)
END SUB

SUB HighlightBox (BoxNum%) 'Draw a highlighted box
CALL MakeBox(BoxNum, HighLight)
END SUB

SUB ClearBox (BoxNum%) 'Erase interior of a box
LftCol = Box(BoxNum).LftCol
RtCol = Box(BoxNum).RtCol
TopRow = Box(BoxNum).TopRow
BotRow = Box(BoxNum).BotRow
Htemp$ = STRING$(RtCol - LftCol - 1, 32)
FOR Lp = TopRow + 1 TO BotRow - 1
LOCATE Lp, LftCol + 1
PRINT Htemp$;
NEXT Lp
END SUB

SUB BoxCoords (BoxNum%, CallBox AS BoxType) 'Return box coordinates
CallBox = Box(BoxNum)
END SUB

SUB SetEditHelp 'Display editing help
ClearBox (HelpBox)
row = Box(HelpBox).TopRow + 1
col = Box(HelpBox).LftCol + 1
LOCATE row, col: PRINT "Move with cursor keys."
LOCATE row + 1, col: PRINT "Return to calendar page with"
LOCATE row + 2, col: PRINT "Alt-X or ESC"
END SUB

SUB SetHelpBox 'Display primary help
NormalBox (HelpBox)
row = Box(HelpBox).TopRow + 1
col = Box(HelpBox).LftCol + 1
LOCATE row + 0, col: PRINT "Alt-Keys: | Cursor Keys:"
LOCATE row + 1, col: PRINT " E=> Edit Diary | ";
PRINT CHR$(24); CHR$(25); CHR$(26); CHR$(27); ": Change Day ";
LOCATE row + 2, col: PRINT " Y=> Change Year | PgUp, PgDn: month ";
LOCATE row + 3, col: PRINT " D=> Toggle Diary | Home: Jan";
LOCATE row + 4, col: PRINT " L=> Large Calend.| End: Dec";
LOCATE row + 5, col: PRINT " X=> Exit |";
END SUB

SUB SetLCalendHelpBox 'Display help for large calendar
NormalBox (LCalendHelp)
row = Box(LCalendHelp).TopRow + 1
col = Box(LCalendHelp).LftCol + 1
LOCATE row + 0, col
PRINT " Alt-Y => Change Year | Cursor Keys: Change Months"
LOCATE row + 1, col
PRINT " Alt-X => Exit |"
END SUB

SUB SetTitleBox 'Display title box
NormalBox (TitleBox)
row = Box(TitleBox).TopRow + 1
col = Box(TitleBox).LftCol + 2
wid = Box(TitleBox).RtCol - col - 1
LOCATE row, col: PRINT " PC Resource Daily Calendar";
T1$ = RTRIM$(Day$(DayOfWeek(Today&)))
T2$ = RTRIM$(Month((Today& \ 100) MOD 100).Mname$)
T2$ = T2$ + STR$(Today& MOD 100)
T2$ = T2$ + "," + STR$(Today& \ 10000)
LOCATE row + 1, col + (wid - LEN(T1$)) \ 2: PRINT T1$;
LOCATE row + 2, col + (wid - LEN(T2$)) \ 2: PRINT T2$;
END SUB



  3 Responses to “Category : BASIC Source Code
Archive   : QB_CAL.ZIP
Filename : CALEND3.BAS

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/