PROGRAM SNDMSG,1.0
!
! ==========================
! // SEND MESSAGE UTILITY \\
! //==========================\\
! << BY THE GREAT & MIGHTY OZ >>
! //===============\\==========================//=================\\
! || * * * * * E D I T H I S T O R Y * * * * * ||
! || ||
! || 8/07/85 edit history started. /dmm ||
! || set up to work with TVI925, TVI950 & WYSE50 ||
! || if set up in imulation mode. /dmm ||
! || ||
! \\==============<<============================>>================//
! \\==========================//
MAP1 JOBTBL
MAP2 JOBNO,B,1
MAP2 JOBNAM,S,6
MAP2 JOBTRM,S,6
MAP2 JOBPRG,S,6
MAP2 JOBDEV,S,3
MAP2 JOBDVR,B,2
MAP2 JOBPPN
MAP3 JOB'PROG,B,1
MAP3 JOB'PROJ,B,1
MAP3 JOBUSR,B,2,@JOBPPN
MAP2 JOBCPU,B,4
MAP2 JOBDSR,B,4
MAP2 JOBDSW,B,4
MAP2 JOBCON,S,10
XCALL JOBGET,JOBTBL !<------<<< ***(OPTIONAL)***
02000 !
02010 MAP1 USERS
02020 MAP2 JOBNAMS(30),S,6
02030 MAP2 TRMDEFS(30),S,6
02040 MAP1 FILENAME,S,10,"USERS.DAT"
02050 MAP1 RECSIZ99,F,6,LEN(USERS)
02060 MAP1 ENTRY,S,70
02070 MAP1 RTNCDE,F,6
02080 MAP1 INXCTL,F,6
02090 MAP1 NUMFIL,F,6,30
02100 FILEBASE 1
02110 XCALL NOECHO
02120 NFILE = INT((NUMFIL/2)+.5)
02130 ? TAB(-1,0);"MESSAGE SENDING UTILITY"
02140 OPEN:
02150 OPEN #99, FILENAME, RANDOM, RECSIZ99, FILE99
02160 FILE99 = 1
02170 READ #99, USERS
02180 CALL DISPLAY
02190 FOR WHATNO = 1 TO NUMFIL
02200 CALL DISPLAY'JOBNAM
02210 NEXT WHATNO
02220 IN:
02230 ? TAB(24,1);TAB(-1,9);"SELECT JOB ";
02240 ! XCALL INFLD,24,15,02,00,"#EW",ENTRY,INXCTL,1,DEFLT,EXTCODE,TIMER
02245 XCALL INPUT,24,15,02,00,"#EW",ENTRY,INXCTL,1
02250 IF INXCTL GOTO CLOSE
02260 WHATNO=ENTRY
02270 IF WHATNO=99 GOTO SEND'IT
02280 IF WHATNO < 1 OR WHATNO > 30 XCALL MESAG,"",3 : GOTO IN
02290 SEND'IT:
02300 ? TAB(24,1);TAB(-1,9);"MESSAGE";
02310 XCALL INPUT,24,9,70,00,"AW",ENTRY,INXCTL,1,DEFLT,EXTCODE,TIMER
02320 IF INXCTL GOTO IN
02330 IF WHATNO=99 GOTO SEND'ALL
02340 OPEN #1,"TRM:"+TRMDEFS(WHATNO),OUTPUT
02350 IF ENTRY="" GOTO CLEAR'MSG
02360 ? #1;CHR(7);"";
02370 ? #1;"f"+ENTRY+":"+JOBNAM
02380 ? #1;"g";
02390 CLOSE #1
02400 GOTO IN
02410 SEND'ALL:
02420 FOR I = 1 TO 30
02430 IF TRMDEFS(I)="" GOTO NEXT'I
02440 OPEN #1,"TRM:"+TRMDEFS(I),OUTPUT
02450 IF ENTRY="" GOTO CLEAR'ALL
02460 ? #1;CHR(7);"";
02470 ? #1;"f"+ENTRY+":"+JOBNAM
02480 ? #1;"g";
02490 CLOSE #1
02500 NEXT'I:
02510 NEXT I
02520 GOTO IN
02530 CLEAR'ALL:
02540 ? #1;"";
02550 ? #1;"f"+SPACE(78)
02560 ? #1;"g";
02570 ? #1;"h";
02580 CLOSE #1
02590 GOTO NEXT'I
02600 CLEAR'MSG:
02610 ? #1;"";
02620 ? #1;"f"+SPACE(78)
02630 ? #1;"g";
02640 ? #1;"h";
02650 CLOSE #1
02660 GOTO IN
02670 CLOSE:
02680 CHAIN "UTLMNU"
02690 DISPLAY:
02700 PRINT TAB(3,21); "SEND MESSAGE, TO SELECTED JOB"
02710 FOR I = 1 TO NUMFIL
02720 ROW = I-(NFILE*INT(I/(NFILE+1)))+4
02730 COL = 12+(INT(I/(NFILE+1))*35)
02740 ? TAB(ROW,COL); I USING "##"; ". "
02750 NEXT I
02760 RETURN
02770
02780 DISPLAY'JOBNAM:
02790 ROW = WHATNO-(NFILE*INT(WHATNO/(NFILE+1)))+4
02800 COL = 20+(INT(WHATNO/(NFILE+1))*35)
02810 ? TAB(ROW,COL); JOBNAMS(WHATNO);
02820 COL = COL+10
02830 ? TAB(ROW,COL); TRMDEFS(WHATNO);
02840 RETURN
02850
02860 !