home *** CD-ROM | disk | FTP | other *** search
/ Play and Learn 2 / 19941.ZIP / 19941 / EDUCICAL / MMBIOTUT / MMERASE.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1994-02-04  |  2.6 KB  |  67 lines

  1. 1000  ON ERROR GOTO 3000
  2. 1001  COMMON UMSEG%()
  3. 1005  COLOR 0,0,0:DEFINT A-Z:KEY OFF:FOR I=1 TO 10:KEY I,"":NEXT
  4. 1010  OPTION BASE 1
  5. 1020  DIM LESSON$(45)
  6. 1080  OPEN "MMHOME.dir" AS #1 LEN = 95
  7. 1090  FIELD #1, 8 AS F1$, 87 AS F2$
  8. 1170  FOR I=1 TO 45
  9. 1180    GET #1,I:LESSON$(I)=F1$
  10. 1200  NEXT
  11. 1230  COLOR 0,0,0:CLS:WIDTH 80:COLOR 0,15,0:LOCATE ,,0
  12. 1250  LOCATE 1,6:PRINT SPACE$(25)+"M A T C H M A K E R"+SPACE$(26)
  13. 1260  LOCATE 2,6:PRINT "     "+STRING$(19,205)+"  LESSON  DIRECTORY  "+STRING$(19,205)+SPACE$(6)
  14. 1270  LOCATE 3,6:PRINT SPACE$(70)
  15. 1280  FOR I=1 TO 15
  16. 1290    LOCATE I+3,6:PRINT USING "     ##.  ";I;:PRINT USING "\      \";LESSON$(I);
  17. 1300    PRINT SPACE$(10);:PRINT USING "##.  ";I+15;:PRINT USING "\      \";LESSON$(I+15);
  18. 1310    PRINT SPACE$(10);:PRINT USING "##.  ";I+30;:PRINT USING "\      \";LESSON$(I+30);
  19. 1320    PRINT SPACE$(6)
  20. 1330  NEXT
  21. 1350  IK$=INKEY$:IF IK$<>"" GOTO 1350
  22. 1360  LOCATE 20,6:COLOR 15,0:PRINT "CHOOSE A LESSON NUMBER THEN ";
  23. 1380  COLOR 7:PRINT "Press "+CHR$(17)+STRING$(2,196)+CHR$(217);:COLOR 15:PRINT " :"
  24. 1385  LOCATE 22,6:PRINT "(I WILL ";:COLOR 0,15:PRINT " ERASE ";:COLOR 15,0:PRINT " THE LESSON YOU SELECT)"
  25. 1390  FDLEN=2:TYPERR=1:XPOSMAX=48:XPOSMIN=47:XPOS=47:YPOS=20
  26. 1400  FDINBUF$=SPACE$(FDLEN):COLOR 6,0:LOCATE YPOS,XPOS,0:PRINT FDINBUF$
  27. 1410  COLOR 0,6:LOCATE YPOS,XPOS,1,0,7
  28. 1420  IK$=INKEY$:IF IK$="" THEN GOTO 1420
  29. 1425  IF IK$=CHR$(27) THEN CLOSE:CHAIN "MMEDITOR",1000
  30. 1430  L=LEN(IK$):IF L=2 THEN IK$=RIGHT$(IK$,1)
  31. 1440  IF L=2 THEN IF IK$="K" THEN GOSUB 1490:GOTO 1410 ELSE IF IK$="M" THEN GOSUB 1530:GOTO 1410
  32. 1460  IF IK$=CHR$(13) THEN IF FDINBUF$<>"  " GOTO 1620 ELSE GOTO 2300
  33. 1470  COLOR 0,0:LOCATE 23,6:PRINT SPACE$(50):COLOR 0,7:GOSUB 1580:IF XPOS < XPOSMAX THEN XPOS=XPOS+1
  34. 1480  GOTO 1410
  35. 1490  REM ===================================================  CURSOR LEFT KEY
  36. 1500  IF XPOS-XPOSMIN+1 > 0 THEN XPOS=XPOS-1
  37. 1501  IF XPOS >= XPOSMIN THEN LOCATE YPOS,XPOS+1:PRINT " ":FDINBUF$=LEFT$(FDINBUF$,1)+" "
  38. 1510  IF XPOS-XPOSMIN+1 < 1 THEN BEEP:XPOS=XPOS+1
  39. 1520  RETURN
  40. 1530  REM ===================================================  CURSOR RIGHT KEY
  41. 1540  IF XPOS <= XPOSMAX THEN XPOS=XPOS+1
  42. 1550  IF XPOS > XPOSMAX THEN BEEP:XPOS=XPOS-1
  43. 1560  RETURN
  44. 1570  REM =======================================  VALIDATE ENTERED DATA AND ECHO
  45. 1580  LOCATE YPOS,XPOS,0
  46. 1590  IF (IK$ < "0" OR IK$ > "9") THEN GOTO 1610 ELSE GOTO 1600
  47. 1600  MID$(FDINBUF$,XPOS-XPOSMIN+1)=IK$:COLOR 14,0:PRINT IK$;:TYPERR=0:RETURN
  48. 1610  BEEP:XPOS=XPOS-1:TYPERR=1:RETURN
  49. 1620  LESN=VAL(FDINBUF$)
  50. 1630  IF LESN>45 OR LESN<1 THEN BEEP:TYPERR=1:XPOS=XPOSMIN:GOTO 1400
  51. 1640  IF LEFT$(LESSON$(LESN),1)="-" THEN GOSUB 1700:XPOS=XPOSMIN:GOTO 1400 ELSE GOTO 2000
  52. 1700  BEEP:COLOR 12,0:LOCATE 23,6,0:PRINT "LESSON ";LESN;" IS EMPTY, PLEASE RE-ENTER!":COLOR 0,7:RETURN
  53. 2000  COLOR 14,0:LOCATE 22,6,0:PRINT "ARE YOU SURE ? (Y / N)"+SPACE$(30)
  54. 2010  COLOR 0,14:LOCATE 22,30,0:PRINT " N "
  55. 2015  COLOR 12,0:LOCATE 23,6,0:PRINT "THIS WILL ERASE LESSON: "+LESSON$(LESN)
  56. 2020  IK$=INKEY$:IF IK$<>"" GOTO 2020
  57. 2025  COLOR 0,14:LOCATE 22,31,1,7,0
  58. 2026  K$=INKEY$:IF K$="" GOTO 2026
  59. 2027  IF K$<>CHR$(13) THEN LOCATE 22,31,0:PRINT K$ ELSE GOTO 1230
  60. 2030  IF K$="N" OR K$="n" GOTO 1230
  61. 2040  IF K$="y" OR K$="Y" GOTO 2100 ELSE BEEP:GOTO 2010
  62. 2100  LSET F1$="-":PUT #1,LESN
  63. 2130  KILL LESSON$(LESN)+".LES":LESSON$(LESN)="-":GOTO 1230
  64. 2300  CLOSE:CHAIN "MMEDITOR.BAS",1000
  65. 3000  COLOR 12,0:BEEP:FOR B=1 TO 30:LOCATE 23,2:PRINT "ERROR   DETECTED! ("+MID$(STR$(ERR),2)+")        ":NEXT B:LOCATE 23,2:PRINT SPACE$(30)
  66. 3010  CLOSE:RESUME 1080
  67.