home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / games / jots.zip / NOTE.BAS < prev    next >
BASIC Source File  |  1989-03-13  |  2KB  |  74 lines

  1. ' NOTE.BAS -- This module maintains the note pad
  2. ' $INCLUDE: 'J.INC'
  3.  
  4. DIM SHARED MyBox AS BoxType, TopRow, BotRow, LftCol, RtCol
  5. DIM SHARED NoteRow, NoteCol
  6.  
  7. SUB InitNotes
  8.     CALL BoxCoords(NoteBox, MyBox)
  9.     TopRow = MyBox.TopRow
  10.     BotRow = MyBox.BotRow
  11.     LftCol = MyBox.LftCol
  12.     RtCol = MyBox.RtCol
  13.     NoteRow = TopRow + 2
  14.     NoteCol = LftCol + 1
  15.  
  16.     NormalBox (NoteBox)
  17.     COLOR Normal, Background, Background
  18.     LOCATE TopRow + 1, LftCol + 1, 0
  19.     PRINT "Notes:";
  20. END SUB
  21.  
  22. SUB MakeNotes
  23. ShowMessage ("Move with arrows, erase with backspace, <TAB> or <ESC> to leave")
  24. HighlightBox(NoteBox)
  25. DO
  26.     COLOR Dark, 1, 1
  27.     LOCATE NoteRow, NoteCol, 1, 0, 7
  28.     DO
  29.         char$ = INKEY$
  30.     LOOP UNTIL LEN(char$)
  31.     COLOR Normal, 1, 1
  32.     IF char$ = CHR$(9) OR char$ = CHR$(27) THEN
  33.         NormalBox(NoteBox)
  34.         EXIT SUB
  35.     END IF
  36.     IF LEN(char$) = 1 THEN
  37.         IF char$ >= " " AND NoteCol < RtCol THEN
  38.             PRINT char$;
  39.             NoteCol = NoteCol + 1
  40.         ELSEIF char$ = CHR$(13) THEN
  41.             NoteCol = LftCol + 1
  42.             IF NoteRow < BotRow - 1 THEN
  43.                 NoteRow = NoteRow + 1
  44.             END IF
  45.         ELSEIF char$ = CHR$(8) AND NoteCol > LftCol + 1 THEN
  46.             NoteCol = NoteCol - 1
  47.             LOCATE NoteRow, NoteCol, 0
  48.             PRINT " ";
  49.         END IF
  50.     ELSE
  51.         SELECT CASE MID$(char$, 2, 1)
  52.             CASE CHR$(&H4B)                     'left arrow
  53.                 IF NoteCol > LftCol + 1 THEN
  54.                     NoteCol = NoteCol - 1
  55.                 END IF
  56.             CASE CHR$(&H4D)                     'right arrow
  57.                 IF NoteCol < RtCol - 1 THEN
  58.                     NoteCol = NoteCol + 1
  59.                 END IF
  60.             CASE CHR$(&H48)                     'up arrow
  61.                 IF NoteRow > TopRow + 1 THEN
  62.                     NoteRow = NoteRow - 1
  63.                 END IF
  64.             CASE CHR$(&H50)                     'Down arrow
  65.                 IF NoteRow < BotRow - 1 THEN
  66.                     NoteRow = NoteRow + 1
  67.                 END IF
  68.             CASE ELSE
  69.         END SELECT
  70.     END IF
  71. LOOP
  72. END SUB
  73.     
  74.