home *** CD-ROM | disk | FTP | other *** search
- {
- |+---------------------------------------------------------------+|
- || MailBox script ||
- || Alex Howarth (March 1996) ||
- |+---------------------------------------------------------------+|
-
- | A good demonstration of the script language
-
- DECLARE temp,60
- OPENMESSAGEBASE
- REPORT "MailBox"
- LABEL rescan
- CLS
- area%=1
- IF MESSAGEAREAS<1 THEN
- PRINT "No message areas defined"
- CLOSEMESSAGEBASE
- END
- ENDIF
- PRINT "Total message areas (" PRINT MESSAGEAREAS+")" NL
- CLEARLIST
- REPEAT
- READMAREA area%
- PRINT "Scanning area " PRINT MESSAGEAREANAME+" (#"+area%+")" CLL
- SCANAREA area%,usernumber
- area%=area%+1
- UNTIL area%>MESSAGEAREAS
- x%=5
- y%=1
- LABEL redraw
- STD CLS
- IF SCANNEDMESSAGES=0 THEN
- NL PRINT "Your mailbox is empty"
- CLOSEMESSAGEBASE
- END
- ENDIF
- LOCATE 0,0
- message%=1
- BATTR 7,4
- TAB 0 PRINT "Msg#"
- TAB 6 PRINT "From user"
- TAB 28 PRINT "Message subject"
- TAB 53 PRINT "Time and date"
- TAB 74 PRINT "Bytes"
- CLL STD NL
- REPEAT
- READSCANNED message% TO thismessage%
- READMESSAGE thismessage%
- FORMATNUM thismessage%,0,4 TO messageno
- BFG 7 TAB 0 PRINT messageno
- BFG 6 TAB 6 PRINT MESSAGEAUTHOR
- BFG 3 TAB 28 PRINT MESSAGESUBJECT TAB 52 PRINT" "
- BFG 2 TAB 53 PRINT MESSAGEDATE
- BFG 7 TAB 74 PRINT MESSAGESIZE
- NL
- message%=message%+1
- UNTIL message%>SCANNEDMESSAGES
- LOCATE 0,DLINES-1 STD CLL
- BFG 7 PRINT "[" BFG 3 PRINT "'" BFG 7 PRINT "/"
- BFG 3 PRINT "/"
- BFG 7 PRINT "] UP/DOWN - "
- BFG 3 PRINT "RETURN" BFG 7 PRINT " to read - "
- BFG 3 PRINT "M" BFG 7 PRINT "essage op. - "
- BFG 3 PRINT "R" BFG 7 PRINT "escan - "
- BFG 3 PRINT "I" BFG 7 PRINT "nfo - "
- BFG 3 PRINT "X" BFG 7 PRINT " to exit"
- REPEAT
- READSCANNED y%,thisone%
- READMESSAGE thisone%
- READMAREA MESSAGEFROMAREA
- LOCATE x%,y% TAB 5 BATTR 7,1 TAB 6 PRINT MESSAGEAUTHOR TAB 27
- STD
- GETR response,"X/'RMI"
- IF SCANNEDMESSAGES<>1 THEN
- | No need to move if only 1 message!
- IF response="'" THEN
- y%=y%-1
- LOCATE x%,y%+1 BFG 6 TAB 6 PRINT MESSAGEAUTHOR TAB 27
- ENDIF
- IF response="/" THEN
- y%=y%+1
- LOCATE x%,y%-1 BFG 6 TAB 6 PRINT MESSAGEAUTHOR TAB 27
- ENDIF
- ENDIF
- IF response="R" THEN
- JUMP rescan
- ENDIF
- IF response="M" THEN
- LOCATE 0,DLINES-1 STD CLL
- BFG 2 PRINT "D" BFG 7 PRINT "elete message(s) / "
- BFG 2 PRINT "S" BFG 7 PRINT "kritchpad messages (download) / "
- BFG 2 PRINT "C" BFG 7 PRINT "ancel"
- GETD scratch,"CDS"
- IF scratch="S" THEN
- DOOR "Skritch"
- REPORT "MailBox"
- JUMP redraw
- ENDIF
- IF scratch="C" THEN
- JUMP redraw
- ENDIF
- IF scratch="D" THEN
- LOCATE 0,DLINES-1 STD CLL
- BFG 1 PRINT "A" BFG 7 PRINT "ll messages / " BFG 1 PRINT "S"
- BFG 7 PRINT "elected message / " BFG 1 PRINT "C" BFG 7
- PRINT "ancel"
- GETD allorselect,"CSA"
- IF allorselect="S" THEN
- LOCATE 0,23 STD CLL
- READSCANNED y% TO itsme%
- BFG 7 PRINT "Delete message #"+itsme%
- PRINT ", are you sure? [y/" BFG 1 PRINT "N" BFG 7 PRINT"]"
- GETD deletemsg,"NY"
- IF deletemsg="Y" THEN
- BFG 7 PRINT " OK... deleting..."
- READSCANNED y% TO real%
- CLEARSCANNED y%
- DELETEMESSAGE real%
- STD LOCATE 0,SCANNEDMESSAGES+1 CLL
- ENDIF
- ENDIF
- IF allorselect="A" THEN
- LOCATE 0,DLINES-1 STD CLL
- BFG 7 PRINT "Delete all messages"
- PRINT ", are you sure? [y/" BFG 1 PRINT "N" BFG 7 PRINT"]"
- GETD deletemsg,"NY"
- IF deletemsg="Y" THEN
- REPEAT
- READSCANNED 1 TO real%
- CLEARSCANNED 1
- DELETEMESSAGE real%
- LOCATE 0,23 STD CLL PRINT "Deleting..."
- UNTIL SCANNEDMESSAGES<1
- ENDIF
- ENDIF
- JUMP redraw
- ENDIF
- ENDIF
- IF response="" THEN
- CLS
- READSCANNED y% TO real%
- READMESSAGE real%
- LOADMESSAGE real%
- STARTMORE
- IF MESSAGETYPE=0 THEN
- BATTR 7,4
- BFG 6 PRINT "Area : " BFG 3 PRINT MESSAGEAREANAME CLL NL
- BFG 6 PRINT "Date : " BFG 3 PRINT MESSAGEDATE CLL NL
- BFG 6 PRINT "From : " BFG 3 PRINT MESSAGEAUTHOR
- PRINT " (#" PRINT MESSAGEAUTHORNUM PRINT ")" CLL NL
- BFG 6 PRINT "To : " BFG 3 PRINT MESSAGERECIPIENT
- PRINT " (#" PRINT MESSAGERECIPIENTNUM PRINT ")" CLL NL
- BFG 6 PRINT "Subject: " BFG 3 PRINT MESSAGESUBJECT CLL NL
- STD
- ENDIF
- IF MESSAGETYPE=1 THEN
- BATTR 7,4
- BFG 6 PRINT "Type : " BFG 3 PRINT "Netmail" CLL NL
- BFG 6 PRINT "Area : " BFG 3 PRINT MESSAGEAREANAME CLL NL
- BFG 6 PRINT "Sender : " BFG 3 PRINT MESSAGEAUTHOR CLL NL
- BFG 6 PRINT "Subject: " BFG 3 PRINT MESSAGESUBJECT CLL NL
- STD
- ENDIF
- IF MESSAGETYPE=2 THEN
- BATTR 7,4
- READMAREA MESSAGEFROMAREA
- BFG 6 PRINT "Type : " BFG 3 PRINT "EchoMail" CLL NL
- BFG 6 PRINT "Area : " BFG 3 PRINT MESSAGEAREANAME CLL NL
- BFG 6 PRINT "To : " BFG 3 PRINT MESSAGERECIPIENT CLL NL
- BFG 6 PRINT "From : " BFG 3 PRINT MESSAGEAUTHOR
- PRINT " at " PRINT MESSAGEFROM CLL NL
- BFG 6 PRINT "Subject: " BFG 3 PRINT MESSAGESUBJECT CLL NL
- STD
- ENDIF
- IF MESSAGETYPE=3 THEN
- BATTR 7,4
- BFG 6 PRINT "Type : " BFG 3 PRINT "Local conference" CLL NL
- BFG 6 PRINT "Area : " BFG 3 PRINT MESSAGEAREANAME CLL NL
- BFG 6 PRINT "To : " BFG 3 PRINT MESSAGERECIPIENT
- IF MESSAGERECIPIENT<>"All" THEN
- PRINT " (#"+MESSAGERECIPIENTNUM+")"
- CLL NL
- ENDIF
- BFG 6 PRINT "From : " BFG 3 PRINT MESSAGEAUTHOR
- PRINT " (#" PRINT MESSAGEAUTHORNUM PRINT ")" CLL NL
- BFG 6 PRINT "Subject: " BFG 3 PRINT MESSAGESUBJECT CLL NL
- STD
- ENDIF
- NL NL
- BATTR 7,0
- SHOWMESSAGE 1
- NL
- BATTR 6,4}R{BFG 7}eply or {BFG 6}RETURN{BFG 7} back to mailbox{
- CLL STD
- ENDMORE
- GETR yourwish,"R"
- IF yourwish="R" THEN
- NL BFG 7
- PRINT "Quote original message? [" BFG 1 PRINT "Y"
- BFG 7 PRINT "/n] "
- GETD replyto,"YN"
- IF replyto="Y" THEN
- BFG 1 PRINT "Yes"
- QUOTEMESSAGE real%
- ELSE
- BFG 1 PRINT "No"
- CLEARQUOTE
- ENDIF
- STD
- CLS
- WRITEMESSAGE 1,ok%
- thesubject=MESSAGESUBJECT
- LEFT temp,thesubject,3
- IF temp<>"Re:" THEN
- thesubject="Re:"+thesubject
- ENDIF
- IF ok% THEN
- POSTMESSAGE MSGAREA,thesubject,USERNUMBER,MESSAGEAUTHORNUM
- ENDIF
- ENDIF
- STD
- CLS
- JUMP redraw
- ENDIF
- IF response="I" THEN
- REPEAT
- LOCATE 0,DLINES-1 STD CLL
- BFG 3 PRINT"D" BFG 7 PRINT"ownload this script - "
- BFG 3 PRINT"H" BFG 7 PRINT"elp - "
- BFG 3 PRINT"B" BFG 7 PRINT"ack to mailbox"
- GETR replyinfo,"DHB"
- IF replyinfo="D" THEN
- LOCATE 0,DLINES-1 STD CLL
- BFG 2 PRINT"Z"
- BFG 7 PRINT"modem / "
- BFG 2 PRINT"Y"
- BFG 7 PRINT"modem / "
- BFG 2 PRINT"B"
- BFG 7 PRINT"Ymodem batch / "
- BFG 2 PRINT"X"
- BFG 7 PRINT"modem / "
- BFG 2 PRINT"1"
- BFG 7 PRINT"Xmodem 1K / "
- BFG 2 PRINT"C"
- BFG 7 PRINT"Xmodem CRC / "
- BFG 2 PRINT"A"
- BFG 7 PRINT"bort"
- GETD dnfer,"AZYBX1C"
- IF dnfer<>"A" THEN
- LOCATE 0,DLINES-1 STD CLL
- IF dnfer="Z" dnpro%=5
- IF dnfer="B" dnpro%=4
- IF dnfer="Y" dnpro%=3
- IF dnfer="1" dnpro%=2
- IF dnfer="C" dnpro%=1
- IF dnfer="X" dnpro%=0
- SENDFILE"<NewsFlash$BBS>Scripts.MailBox",dnpro%,"MailBox"
- ENDIF
- ENDIF
- IF replyinfo="H" THEN
- STD CLS BFG 3
- PRINT"Welcome to MailBox by Alex Howarth" NL
- PRINT"==================================" NL NL BFG 2
- PRINT"This is constantly being improved"NL
- PRINT"Please mail me with any suggestions you may have."NL
- BFG 6 NL PRINT"Alex Howarth"NL NL
- GOSUB anykey
- ENDIF
- UNTIL replyinfo="B"
- JUMP redraw
- ENDIF
- IF y%>SCANNEDMESSAGES THEN y%=1
- IF y%<1 THEN y%=SCANNEDMESSAGES
- UNTIL response="X"
- CLOSEMESSAGEBASE
- }