?TACL MACRO #FRAME #PUSH data,tacl #PUSH tacl #SET tacl %1% #SET data %2 to *% [#IF [#EMPTYV/BLANK/tacl] |THEN| #OUTPUT #OUTPUT Sends a message to a TACL or COMINT process. #OUTPUT #OUTPUT FORMAT: TACLSEND terminal options text #OUTPUT where 'terminal' is a valid terminal #OUTPUT where 'options' are 0 or more of the following: #OUTPUT - L25 to direct to LINE 25 #OUTPUT - BLINK message blinks #OUTPUT - DIM message is dimmed #OUTPUT - REV message is in reverse video #OUTPUT - UND message is underlined #OUTPUT - NOBELL no bell sound is issued #OUTPUT - NOIDENTIFY 'from' process does not precede message #OUTPUT #OUTPUT where 'text' is any text to be sent. #OUTPUT #OUTPUT #OUTPUT Example> TACLSEND $abcd This is a test! #OUTPUT Device $asdfas is not a TACL process! #OUTPUT #OUTPUT Example> TACLSEND $TKA1 NOBELL REV L25 This is a test! #OUTPUT Message sent! #OUTPUT |ELSE| [#IF [#PROCESSEXISTS [tacl]] |THEN| #PUSH tacl^file #SET tacl^file [#FILEINFO/FILE/[#PROCESSINFO/PROGRAMFILE/[tacl]]] [#IF [#MATCH [tacl^file] TACL] OR [#MATCH [tacl^file] COMINT] |THEN| [#DEF display^code^delta DELTA |BODY| 255i$235i$] #PUSH display^code, num,where,identify,data^entered #PUSH va^delta,bell^test #SET display^code [#DELTA/COMMANDS display^code^delta/] #SET identify YES #SET bell^test YES [#DEF L25^delta DELTA |BODY| 27I$Io$] [#DEF location ROUTINE |BODY| [#IF [#MATCH [where] L25] |THEN| #RESULT [#DELTA/COMMANDS L25^delta/] ] ] [#DEF from ROUTINE |BODY| [#IF [#MATCH [identify] YES] |THEN| #RESULT From [#PROCESSINFO/PROCESSID/]: ] ] [#DEF bell^delta DELTA |BODY| 7I$] [#DEF bell ROUTINE |BODY| [#IF [#MATCH [bell^test] YES] |THEN| #RESULT [#DELTA/COMMANDS bell^delta/] ] ] [#DEF norm^delta DELTA |BODY| 27I54I$i@$] [#DEF norm ROUTINE |BODY| #RESULT [#DELTA/COMMANDS norm^delta/] ] [#DEF va ROUTINE |BODY| [#IF [#EMPTYV/BLANK/num] |THEN| |ELSE| #RESULT [#DELTA/COMMANDS va^delta/] ] ] [#DEF break^it^up ROUTINE |BODY| #FRAME #PUSH done [#LOOP |DO| [#CASE [#ARGUMENT/TEXT data^entered/ KEYWORD/WORDLIST DIM BLINK REV UND NOBELL L25 NOIDENTIFY/ TEXT END ] |1| [#IF [#MATCH [data^entered] DIM] |THEN| #SET num [#COMPUTE [num] + 1] ] [#IF [#MATCH [data^entered] BLINK] |THEN| #SET num [#COMPUTE [num] + 2] ] [#IF [#MATCH [data^entered] REV] |THEN| #SET num [#COMPUTE [num] + 4] ] [#IF [#MATCH [data^entered] UND] |THEN| #SET num [#COMPUTE [num] + 16] ] [#IF [#MATCH [data^entered] L25] |THEN| #SET where L25 ] [#IF [#MATCH [data^entered] NOIDENTIFY] |THEN| #SET identify NO ] [#IF [#MATCH [data^entered] NOBELL] |THEN| #SET bell^test NO ] |2| #SET done DONE |3| #SET done DONE ] |UNTIL| [#MATCH DONE [done]] ] #UNFRAME ] break^it^up [data] #SET/TYPE DELTA/va^delta 27I54I[#COMPUTE [num] + 32]I$ #SET data [display^code][bell][location][va][from] [data^entered][norm] vartofile data [tacl] #OUTPUT Message sent! |ELSE| #OUTPUT [tacl] is not a TACL or COMINT process! ] |ELSE| #OUTPUT Process [tacl] does not exist! ] ] #UNFRAME