1 ! & ! R E M I N D & ! $ 10 ON ERROR GOTO 9000 EXTERNAL LONG FUNCTION LIB$SPAWN DECLARE LONG ISTAT MAP (RFILE) STRING SEND_WHEN = 23, & STRING FILL = 1, & STRING SEND_TO = 12, & STRING FILL = 10, & STRING SENT_FROM = 12, & STRING FILL = 10, & WORD SEQUENCE, & WORD LINE_NUMBER, & STRING POSTED_FLAG = 1, & STRING MESSAGE = 80 MAP (RFILE) STRING THE_KEY = 72 MAP (RFILE) STRING KEY_2 = 11 MAP (RFILE) STRING CONTROL_BREAK = 70 MAP (STRINGS) STRING DATE_TIME = 23 MAP (STRINGS) STRING THE_DATE = 11 20 OPEN "REMINDER.DAT" FOR INPUT AS FILE 1, & ORGANIZATION INDEXED FIXED, & ACCESS READ, & ALLOW MODIFY, & MAP RFILE, & RECORDTYPE NONE, & PRIMARY KEY THE_KEY DUPLICATES, & ALTERNATE KEY KEY_2 DUPLICATES 30 INPUT "Reminders On (DD-MMM-YYYY) ";X$ X$ = EDIT$(X$,128%) IF X$ <> "" THEN THE_DATE = X$ ELSE CALL LIB$DATE_TIME(DATE_TIME) PRINT DATE_TIME THE_DATE = DATE_TIME END IF 40 GOSUB 300 90 GET #1%, KEY #1 EQ THE_DATE TO_WHO$ = SEND_TO + "" FROM_WHO$ = SENT_FROM + "" CONTROL_HOLD$ = CONTROL_BREAK + "" PRINT #2%, EDIT$(MESSAGE,128%) 100 WHILE -1% 110 GET #1% 115 IF KEY_2 <> THE_DATE THEN GOSUB 200 GOTO 900 120 IF CONTROL_BREAK <> CONTROL_HOLD$ THEN GOSUB 200 END IF 130 PRINT #2%, EDIT$(MESSAGE,128%) 198 NEXT 200 CLOSE 2 210 SENDIT$ = "MAIL/SUBJECT="+CHR$(34%) & + "*** Reminder From " + FROM_WHO$ + " " & + "***" + CHR$(34%) + " REMIND_MAIL.TMP " & + TO_WHO$ 220 CONTROL_HOLD$ = CONTROL_BREAK + "" TO_WHO$ = SEND_TO + "" FROM_WHO$ = SENT_FROM + "" 230 ISTAT = LIB$SPAWN(SENDIT$) 240 KILL "REMIND_MAIL.TMP" 300 OPEN "REMIND_MAIL.TMP" FOR OUTPUT AS FILE 2 398 RETURN 899 ! & ! C L O S E F I L E S & ! $ 900 CLOSE 1,2 910 KILL "REMIND_MAIL.TMP" 998 GOTO 32767 8999 ! & ! E R R O R T R A P & ! $ 9000 IF ERL = 90 AND ERR = 155 ! If record not found & THEN & RESUME 900 9010 IF ERL = 110 AND ERR = 11 ! If no more mail & THEN & GOSUB 200 & \ RESUME 900 9020 IF ERL = 910 THEN RESUME 32767 9090 PRINT ERR 9098 RESUME 32500 32499 ! & ! E R R O R M E S S A G E S & ! $ 32500 E% = ERR & \ E$ = SYS(CHR$(6%) + CHR$(9%) + CHR$(E%)) & \ E$ = CVT$$(RIGHT(E$,3%),4%) & \ E$ = E$ + " on line" + NUM$(ERL) 32590 PRINT & \ PRINT "**************************************************" & \ PRINT "* *" & \ PRINT "* JOB ABORTED *" & \ PRINT "* *" & \ PRINT "*"; E$; TAB(49%); "*" & \ PRINT "* *" & \ PRINT "**************************************************" 32767 END