home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1994-02-04 | 2.6 KB | 67 lines |
- 1000 ON ERROR GOTO 3000
- 1001 COMMON UMSEG%()
- 1005 COLOR 0,0,0:DEFINT A-Z:KEY OFF:FOR I=1 TO 10:KEY I,"":NEXT
- 1010 OPTION BASE 1
- 1020 DIM LESSON$(45)
- 1080 OPEN "MMHOME.dir" AS #1 LEN = 95
- 1090 FIELD #1, 8 AS F1$, 87 AS F2$
- 1170 FOR I=1 TO 45
- 1180 GET #1,I:LESSON$(I)=F1$
- 1200 NEXT
- 1230 COLOR 0,0,0:CLS:WIDTH 80:COLOR 0,15,0:LOCATE ,,0
- 1250 LOCATE 1,6:PRINT SPACE$(25)+"M A T C H M A K E R"+SPACE$(26)
- 1260 LOCATE 2,6:PRINT " "+STRING$(19,205)+" LESSON DIRECTORY "+STRING$(19,205)+SPACE$(6)
- 1270 LOCATE 3,6:PRINT SPACE$(70)
- 1280 FOR I=1 TO 15
- 1290 LOCATE I+3,6:PRINT USING " ##. ";I;:PRINT USING "\ \";LESSON$(I);
- 1300 PRINT SPACE$(10);:PRINT USING "##. ";I+15;:PRINT USING "\ \";LESSON$(I+15);
- 1310 PRINT SPACE$(10);:PRINT USING "##. ";I+30;:PRINT USING "\ \";LESSON$(I+30);
- 1320 PRINT SPACE$(6)
- 1330 NEXT
- 1350 IK$=INKEY$:IF IK$<>"" GOTO 1350
- 1360 LOCATE 20,6:COLOR 15,0:PRINT "CHOOSE A LESSON NUMBER THEN ";
- 1380 COLOR 7:PRINT "Press "+CHR$(17)+STRING$(2,196)+CHR$(217);:COLOR 15:PRINT " :"
- 1385 LOCATE 22,6:PRINT "(I WILL ";:COLOR 0,15:PRINT " ERASE ";:COLOR 15,0:PRINT " THE LESSON YOU SELECT)"
- 1390 FDLEN=2:TYPERR=1:XPOSMAX=48:XPOSMIN=47:XPOS=47:YPOS=20
- 1400 FDINBUF$=SPACE$(FDLEN):COLOR 6,0:LOCATE YPOS,XPOS,0:PRINT FDINBUF$
- 1410 COLOR 0,6:LOCATE YPOS,XPOS,1,0,7
- 1420 IK$=INKEY$:IF IK$="" THEN GOTO 1420
- 1425 IF IK$=CHR$(27) THEN CLOSE:CHAIN "MMEDITOR",1000
- 1430 L=LEN(IK$):IF L=2 THEN IK$=RIGHT$(IK$,1)
- 1440 IF L=2 THEN IF IK$="K" THEN GOSUB 1490:GOTO 1410 ELSE IF IK$="M" THEN GOSUB 1530:GOTO 1410
- 1460 IF IK$=CHR$(13) THEN IF FDINBUF$<>" " GOTO 1620 ELSE GOTO 2300
- 1470 COLOR 0,0:LOCATE 23,6:PRINT SPACE$(50):COLOR 0,7:GOSUB 1580:IF XPOS < XPOSMAX THEN XPOS=XPOS+1
- 1480 GOTO 1410
- 1490 REM =================================================== CURSOR LEFT KEY
- 1500 IF XPOS-XPOSMIN+1 > 0 THEN XPOS=XPOS-1
- 1501 IF XPOS >= XPOSMIN THEN LOCATE YPOS,XPOS+1:PRINT " ":FDINBUF$=LEFT$(FDINBUF$,1)+" "
- 1510 IF XPOS-XPOSMIN+1 < 1 THEN BEEP:XPOS=XPOS+1
- 1520 RETURN
- 1530 REM =================================================== CURSOR RIGHT KEY
- 1540 IF XPOS <= XPOSMAX THEN XPOS=XPOS+1
- 1550 IF XPOS > XPOSMAX THEN BEEP:XPOS=XPOS-1
- 1560 RETURN
- 1570 REM ======================================= VALIDATE ENTERED DATA AND ECHO
- 1580 LOCATE YPOS,XPOS,0
- 1590 IF (IK$ < "0" OR IK$ > "9") THEN GOTO 1610 ELSE GOTO 1600
- 1600 MID$(FDINBUF$,XPOS-XPOSMIN+1)=IK$:COLOR 14,0:PRINT IK$;:TYPERR=0:RETURN
- 1610 BEEP:XPOS=XPOS-1:TYPERR=1:RETURN
- 1620 LESN=VAL(FDINBUF$)
- 1630 IF LESN>45 OR LESN<1 THEN BEEP:TYPERR=1:XPOS=XPOSMIN:GOTO 1400
- 1640 IF LEFT$(LESSON$(LESN),1)="-" THEN GOSUB 1700:XPOS=XPOSMIN:GOTO 1400 ELSE GOTO 2000
- 1700 BEEP:COLOR 12,0:LOCATE 23,6,0:PRINT "LESSON ";LESN;" IS EMPTY, PLEASE RE-ENTER!":COLOR 0,7:RETURN
- 2000 COLOR 14,0:LOCATE 22,6,0:PRINT "ARE YOU SURE ? (Y / N)"+SPACE$(30)
- 2010 COLOR 0,14:LOCATE 22,30,0:PRINT " N "
- 2015 COLOR 12,0:LOCATE 23,6,0:PRINT "THIS WILL ERASE LESSON: "+LESSON$(LESN)
- 2020 IK$=INKEY$:IF IK$<>"" GOTO 2020
- 2025 COLOR 0,14:LOCATE 22,31,1,7,0
- 2026 K$=INKEY$:IF K$="" GOTO 2026
- 2027 IF K$<>CHR$(13) THEN LOCATE 22,31,0:PRINT K$ ELSE GOTO 1230
- 2030 IF K$="N" OR K$="n" GOTO 1230
- 2040 IF K$="y" OR K$="Y" GOTO 2100 ELSE BEEP:GOTO 2010
- 2100 LSET F1$="-":PUT #1,LESN
- 2130 KILL LESSON$(LESN)+".LES":LESSON$(LESN)="-":GOTO 1230
- 2300 CLOSE:CHAIN "MMEDITOR.BAS",1000
- 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)
- 3010 CLOSE:RESUME 1080
-