wßADDQ ZEX„]DOMULT ZEX gnMENU VMNíäQ COM®èQM80 ZEX!©ÇQRUN ZEX$ÅÓQSPECIALCOM'ÁöQTYPE ZEX/ ˆQUEUE DQC8S@QVIEW ZEXUO@ÿ ;; ZEX command file for adding a filename to a queue of filenames ;; in the SH.VAR file. 'QH' is a variable that points to the ;; head item in the queue, 'QT' points to the last item. The last ;; item always points to the new item. REGister 1 is used as a ;; flag to indicate whether anything is already in the queue or not. ;; A value of 0 in REG 1 indicates that the queue is empty. ;; -RDN SH IF 1;SHVAR QH $1;GO QT $1;REG S1 1;ELSE;SHVAR %QT $1;GO QT $1;FI SHEXIT ;; end of ZEX command file;; ZEX command file to process files in a queue on disk. The 'process' ;; to perform is passed to this file as the first parameter. As only ;; the names and not the extents of files are stored in the queue, ;; the second parameter passed is presumed to be an extent. As many ;; as three more parameters may be passed also; they will be unchanged. ;; Note that the presumed extent is 'stuck' directly onto the filename ;; and therefore the second parameter MUST be an appropriate extent. ;; The name and extent cannot be concatenated directly in this ZEX ;; file; to do so would require passing SH a token like '%QP$2', which ;; it would fail to recognize as a legitimate variable name. Instead ;; the concatenation is done by the alias QSPECIAL. Another slightly ;; more elegant way to do it, not requiring an additional file, would ;; be to do SETFILE 1 %QP right after the label FIRST and then ;; concatenate the references to FILE 1 and parameter number two ;; right here in the ZEX file. The problem is that I haven't found any ;; way to refer to these system files from within ZEX files; The Manual ;; is still in limbo -- perhaps it will have an answer when it appears. ;; -RDN SH SHVAR QP %QH;GO CLTAIL $2 $3 $4 $5 GOTO FIRST ;=LOOP SHVAR SWITCH SHVAR QP %%%QP %SWITCH ;=FIRST QSPECIAL $1 %QP $2 $3 $4 $5;IF %QP=%QT;GOTO END;ELSE;XIF;GOTO LOOP;FI ;=END XIF SHEXIT ;; end of ZEX command file# --------------------------------------------------------------------------- Use arrow keys to move pointer FILE QUEUE MANAGER Q Add file to queue R Run all files in queue V View queue T Type " " " " E Empty queue A Assemble " " " " S Specially process queued files X Exit # QZEX ADDQ $PN VZEX QVIEW EERA 0:SH.VAR;REG S1 RZEX QRUN TZEX QTYPE AZEX QM80 SZEX DOMULT "Enter process: " "Enter filetype/command line tail: " XREG S1 ;ERA 0:SH.VAR;SHCTRL P ##à Z3ENVÿð* ÍÃZ3 ALIASREG S1;ERA 0:SH.VAR;VMENUºÍF ALIAS -- Create Alias Commands Syntax: ALIAS <-- Define New Command or ALIAS dir:cmndname <-- Redefine Old CommandÉÍÍÍŽ +~·ÊÈ=G6 åNÑÍw !@ÍÂÊÍF Alias File Íê ÍF Not FoundÉ!@ \ÍÂE€ë€Íò ë ÂÍêë~·ÊIþ$Ê3#Ã##Å#~Íßþ*ÊþDÊëþUÊõþFÊ‘þNÊ¥Ö0Ú(þ Ò(·Ê.G#å!�Íž~·Ê�ʃ~#þ Êi·Ê�Ãu~þ!Ú�#ÃáÉͲÈåÍÂÍÖ>.ÍÛáÉͲÈåÍÂÍÖáÉ#~Ö1ÚÀþÒÀ#ɯÉGÍÕx·ÊÔ ÂÏÑÉÃÝ~þ Êå#ÂÝÉ͇xÆA#É͇y 0�Ú Ãý€Æ0Gyþ0Êx#É#å!�~·Ê&#ÃáÉ>$#É#åÍïÊ�#~þ Ê�#Â9Ã�¯Íê~·ÈåÍÿ|µÊhÍÜG|µÊhx·Âm!:î>ÈÑÍ{ÀÍOvflÉ"Ú·Ê�Gëå~·Ê’#Â…á¯Éå*Ú^#VëÑÕ~þ;Ê®·Ê®>;ʺ~#·ÊÁ®á6ñÃ�ñ*Úëës#rá~#·Âϯ=ÉREÕ*^#VÕ·áÑÉÕ*$~#foÑ|µÉ*ÉõÕ*RÑñÉ"ÉÍwãÍãÉÕÅõ~#·Êoþ ÊY Ísþ ÊFþ ÊKþÊKþÊOà à  à y·Ê  à yæG>�G�O> ÍsÂeà ñÁÑÉõÅÕåO*. ‚ÕéáÑÁñÉõÕåÍõÿ ÍOñGáÑñÉõ~#·Ê«;ÊŸ+ñÉõ~#·Ê«;¯ëåÅOæ !Ö¾ÊÒ#ÂÈyÁáÉ  æþaØþ{Ðæ_Éõ*ø}·Êö$.ñÉú. ‚;; ZEX command file to assemble (with M80) a list of files kept in ;; a queue in the SH.VAR file. -RDN ;; SH SHVAR QP %QH GOTO FIRST ;=LOOP SHVAR SWITCH SHVAR QP %%%QP %SWITCH ;=FIRST M80 =%QP;IF %QP=%QT;GOTO END;ELSE;XIF;GOTO LOOP;FI ;=END XIF SHEXIT ;; end of ZEX command file;; ZEX command file to run a list of files kept in a queue in the ;; SH.VAR file. -RDN ;; SH SHVAR QP %QH GOTO FIRST ;=LOOP SHVAR SWITCH SHVAR QP %%%QP %SWITCH ;=FIRST %QP;IF %QP=%QT;GOTO END;ELSE;XIF;GOTO LOOP;FI ;=END XIF SHEXIT ;; end of ZEX command fileà Z3ENVÿð* ÍÃZ3 ALIAS$1 $2$3 $4 $5 $6þ Êkþ/ºÍF ALIAS -- Create Alias Commands Syntax: ALIAS <-- Define New Command or ALIAS dir:cmndname <-- Redefine Old CommandÉÍÍÍŽ +~·ÊÈ=G6 åNÑÍw !@ÍÂÊÍF Alias File Íê ÍF Not FoundÉ!@ \ÍÂE€ë€Íò ë ÂÍêë~·ÊIþ$Ê3#Ã##Å#~Íßþ*ÊþDÊëþUÊõþFÊ‘þNÊ¥Ö0Ú(þ Ò(·Ê.G#å!�Íž~·Ê�ʃ~#þ Êi·Ê�Ãu~þ!Ú�#ÃáÉͲÈåÍÂÍÖ>.ÍÛáÉͲÈåÍÂÍÖáÉ#~Ö1ÚÀþÒÀ#ɯÉGÍÕx·ÊÔ ÂÏÑÉÃÝ~þ Êå#ÂÝÉ͇xÆA#É͇y 0�Ú Ãý€Æ0Gyþ0Êx#É#å!�~·Ê&#ÃáÉ>$#É#åÍïÊ�#~þ Ê�#Â9Ã�¯Íê~·ÈåÍÿ|µÊhÍÜG|µÊhx·Âm!:î>ÈÑÍ{ÀÍOvflÉ"Ú·Ê�Gëå~·Ê’#Â…á¯Éå*Ú^#VëÑÕ~þ;Ê®·Ê®>;ʺ~#·ÊÁ®á6ñÃ�ñ*Úëës#rá~#·Âϯ=ÉREÕ*^#VÕ·áÑÉÕ*$~#foÑ|µÉ*ÉõÕ*RÑñÉ"ÉÍwãÍãÉÕÅõ~#·Êoþ ÊY Ísþ ÊFþ ÊKþÊKþÊOà à  à y·Ê  à yæG>�G�O> ÍsÂeà ñÁÑÉõÅÕåO*. ‚ÕéáÑÁñÉõÕåÍõÿ ÍOñGáÑñÉõ~#·Ê«;ÊŸ+ñÉõ~#·Ê«;¯ëåÅOæ !Ö¾ÊÒ#ÂÈyÁáÉ  æþaØþ{Ðæ_Éõ*ø}·Êö$.ñÉú. ‚;; ZEX command file to type textfiles in a queue on disk. Note that ;; since only the names and not the extents of the files are kept in ;; the queue, it is necessary to test for a file with every extent that ;; may reasonably be expected. All of these tests are packed into a ;; single command line for two reasons: a) so that SH need not be re- ;; loaded repeatedly, and b) so that ZEX's echoing of the command lines ;; will not drive much of the last page typed off the screen before the ;; SAK prompt appears. ;; If you have selected a filename with an extent not represented below, ;; the file will not be typed. Conversely, files other than the one ;; selected may be typed if they have the same name and any one of ;; the extents below. -RDN ;; SH SHVAR QP %QH GOTO FIRST ;=LOOP SHVAR SWITCH SHVAR QP %%%QP %SWITCH ;=FIRST IF EX %QP.DOC;TYPE %QP.DOC;ELSE;IF EX %QP.MAC;TYPE %QP.MAC;ELSE;IF EX %QP.ZEX;TYPE %QP.ZEX;FI;FI;FI;SAK ANY KEY CONTINUES ^" IF %QP=%QT;GOTO END;ELSE;XIF;GOTO LOOP;FI ;=END XIF SHEXIT ;; end of ZEX command filevÿ~,QUEUE.DOCOßÿ šÿ‹ÿ–ÿ�ÿ žÿŒÿ‘ÿ�ÿ—ÿ“ÿõÿòÿŠÿ›ÿ’ÿ™ÿœÿ�ÿ !"#$%&'Ñÿ†ÿoÿ�ÿºÿˆÿÓÿ˜ÿúÿ²ÿ°ÿ()*+,-./012‰ÿ¼ÿ¾ÿ­ÿ¬ÿ¶ÿ«ÿ±ÿ”ÿ©ÿ¥ÿŽÿ·ÿ¯ÿ3456789:Øÿ³ÿ®ÿªÿ§ÿÌÿ¹ÿÒÿ»ÿ‡ÿ;<=>?@×ÿÖÿÏÿÅÿABCDEFGH¨ÿÝÿëÿÄÿ¦ÿûÿÊÿ½ÿ¸ÿôÿIJKLMNËÿÈÿÇÿÆÿùÿåÿâÿáÿÐÿÍÿÉÿÿþlº—ëÏçÝãÃÍÃýå‘o—[^®ßo¿òíþãŽOŸwŸwœooþ±;ïºÖµÏÑÒ©·’ñ‰—ë÷Û¯"½Z55‰L±Èâ1Ú¶ êl{«�jQxîÚk/½ð‰Éª¤0JăÅ'BÐ"‰0Ï#Z„F‰XB‹Exí¥°Ô5σdP‡%û,1‚W<aÉ>KŒXäJòšh£Õ�Q烆ãÑÒñ“U‰]Û›ž¿ÝÜÝâ™»?ìvï¶½B€±Ÿ ³• 9¤£€Of5Oæ�`+][$OžGÀh˜¬JDKHˆi‘ŒOh‘(ôjÕÔ$jõ}\q'W’Cíšü ãR%²°d¿²Aö¦-,j¶m¯æéÀ¶WL±Èâ1Ú¶ ꆡk!­ÁµH†1$[úÔ¡EX|/Ÿx¹~¿ýº¢k]ëÚ9¤5ø„a i^3IÐ>KÄ'^®ßo¿²ÐGØ®Ñ" 5Û¶Wˆë¨2ºªï�…裲0yŸ<Õ5–Ð"|ËRmjžâöÅæB´¼öÒKפ’ÁJˆ°I°í­êŠû„çA2êôQÐ"ÄuT¬½Ï\IŽæ Ÿºörý~û•±�Jì—ųŠa´dc?þNרœnˆEj%j˜ŸµúÞÒ‘ T Qѽ#I³Iì›Óó·û�»ÛÕõåÜ56§»·ÕõåÜ56§»·ç›ÛÕõåÜ56§—Ý—ÕõåÜ56§ûo«ë˹klNÿ¸<\V×—sרœnwÿ`óÏ?³3-’¹½~ÿž%Ú IñŒæ�¢IÒ®±9ínoØüóÏlþúG6ý#›ÓÙüÇÙüõ�]ëÚ}" ƒ©y: E˜¼Vß[:²p%yÍ ÑrØVù�®±9Ý|¼¿¹[]_Î]csº{»~¸ý¸º¾œ»Ææt÷öc÷íþq·º¾œ»Ææ´»~»°ifgZ$s{ýþ=K´A’âÍ!E“¤]ëÚC&¯Õ÷–ŽLV%²°d¿²A,¡Å"ƒEͶíÕ<ýNר´O«ë˹klÚy÷øyõ|~ì›vóãǧÕËîKר´OÏ÷»?¬^v_ºÆ¦}zøËûnõ²ûÒ56íÓùß~[½ì¾t�Mûtûùqõ²ûÒ56íÇåüùãÃêe÷¥klÚ§»÷ÝõýÍÇÕõåܵ®ýݵðiu}9ÒÀ§»÷ÝõýÍÇÕõåLÈB¨¢Ä! ¬½‡1¬¡„+uȲϦÒ5-2òËÞ´póñþænu}9ÿŠ%<’™<£EFÔÉ}Âkï3qUÆ]ëÚCˆë¨2‚EfOš½V˜²�<Ÿw�ŸôÑÒ‘óîñóêùü¸â¡žK!¯ù%¤¡kYfGIƒ ¿"IóšÅ-)¹²À§Õõå|`_l. .‘è£@ñ>Ê“Èbé–º¶dYBjž`ò ¹OÉÒ-B\G•‘�´HÂÒ•?Iäù¼{ü¼â/Þ³·ZÙJ×–,Q’ÊÀÞ´ EÀó`)ä5DÏ >Áóy÷ø‹K ëßa°øƒe™ÕóºkaÎ#hÔBT‹ŠOø¢æ)²•êû7,nI%3‡ÄVýJ¦ìc×&«’Â(¨3Y•FaoZX{Ÿ 9ûž'YG~±‰µ÷”p%„´†�(áJ tíåëÃõÍ;XŠj•áWð Zþàyˆ2Ì}Žž,Œž†÷Z$ ! £géÚ`Yfõ¼F’f“ˆ–�Ø[­L¦xB‹@œ³H‚ àI@m”¬½‡9¤®©�U@‹À`q©a {ÓZ„ß?ð$ëß²�hFIý�héXåû“¬£f’®E©2«yŠÌ!±Æ0ê„a@-Âk/½�¢ Eൗ^pe²-Òµ×^z9à™Eòäyd–¬Á²T›ƒš§ø"9¨yŠxÂtE׺ö°^lµ®`”ÔC”*³š'Ø[­`éÊŸ„—Ý—! ìM‹%´³�cHC×&«ÂV,Y²Ï£ îÞØ[­l…êa�O¨/øÏçÝãçœ=*øZ¤k/»/0Y•³' – ú(0û8JÒ‹d –,A´ˆeú(Bغ–®Í>Ž’4ÒÀìãÒ‰Åû:°²„Kày� êЧArÔ�(¾-Òµ×^z±t„8öžŸâ njÅ'´²T›ƒš§LV%ò‹�‚– ôQº¦Exí¥rÐ"-!1ú`ÓÚÒÓ_)áJD­† Qs?kŸåϰöæ�ºÖGA‹E¢æ~Ö> !P—T˜<3{ŠšûY-I²g”ԥʬæ)®èZ×ºÆæ¿?ÚhÔ<Å®uí¡HY ÀìýR|‚ÙS´ArPó!L“ÌjéZú(àh±ØµÉª|í¥KGâ\d”]ëÚsȶUø(騅®±9ý]æÐGA‹p²…m&«é£ l×p÷v€»·ç›Û„4ÀÝÛ�Ý·ûÇÌ!u�Íiö¤Á\…la[R%‚O�FÏZB‚ƒ¹„f•Á,v�ÍÉÆÅc´mÔ‰êY $�¤–&«’Â(+¸¤º-“å¨ v,Ú56§¹„f•!d!ªgøþ-‚üTIŠEªG]q Ìž¢¼ö’f9°ö¾klNsHÉ•¥W,¡Exí¥tï 6M’%)“U‰ìM Z„F!…Q`Ûkרœ›&É’ä§JÒ¸‚GÏð fïs”sH¬½gé-B £�Â(Xꛓîm–÷Z„%û,1²öž}HŠ:‹äÉóH–×Þ²D´-)Œ»ÆæT•€üTI EhxÙ}a²*LžÑ”%dµ¹¯!–¥ÚÔ¡EºÆæ´ëˆ%öÅæ‚‹Ì!±JHC•aEרœºv·ˆ t�Íéï2‡> až%FKG´¯½ô‚¥+¯WC²¥¯A-a²*<Á`ñéÐ56§0 –Ž˜¬ êh^{é‹$Wf—�ö ¿X"."﨣áx´tì›S`²*ìM Ïßî?înñÌÝv»÷E ." 6M’%Í{«–ìÛ°­ë®±9%WØ ¨;lÀM¬½ÏôjÕÔ$²à‰ÀíÍùû`ñ Ï”�‹O‡®±9m{Å�©ú²¬¿oC”�¸Ž*#kïÙ[­”p%¨³¦D¹’*D™= ±klN“g�0ðErPó„:[aöq©¢2¬¸$áµ·ü„Eöžµ0JRódéØ56§"YVܽ¸{{¾¹=ÒÀÝÛ�Ý·ûDZx_‡až=–ލ£E H]`²*±klN÷P• º?Áä´ܽ­žona²*` ´Ü^. –eVÏëçuרœ®$Góœäú;ZdM¨û°ŽT÷',ÑGÉ„,~Ÿ@‹ÀÜç,I»Ææ4d»’¼Iš¶®>­®/gi-¾|À5OxB‹0JêѼF½klN’CL™²�ôQ2!Kà·÷h‘,²ÀLaÖ\IŽæ)‚O]csÒ"Q W«¦&-A9:êÜ^.¿3yæîmõ|s{`í={«•}HŠ:cx’®±9i²d_²æÒQ⊮u­klþ릪äÔ®$v­kß<}²T›ƒš§ˆ)cX³FÏBeê+ê”p%LV%…Q"„eÜVºfIÑÒ± *?•¨ÙÒ‘½iAÂ\Ha©6šÊÀvM\Â,ÏÌ>Ž!®ºv×Ï…@œ‹ŒÂ[ÁÆ¥Ê(Ie`»ÆRÔÜÏjéÈÝÛóÍ-aY²/Ù‚J]¯èZ×þ"JH®E2CÐ@ÔÜÏÚgAKPæ�Ø 6.eÀh¸{[=ßÜÂdUÀb×´ŸD óÓ�½iA‹PCTRKh&ËQñ$x¯+nªï�…*1v­�2õ•É3ø"9¨yŠà &«AKHൗ^ E²ÀÖ°ˆ>JײT›ƒš§Èä™}±¹`ÊÞû:°²d_²•]ëÚ% ø¢æ ’+ظT%© ` ´ÄuT ‘Á¢fÛö*ÑŸº6Hµt$�Â(XB‹0Ú0TÁ'´¯½ô²â¡X¤„[‘U&…!¤®ÉOɳEaòŒ!K$¯èZ׺Ö56ú‘%DMj”Ô56ú߯ÿÂãøú›îtÕ56ºö|jµxàr üû¿~ýú[רüé—¿ýöõWþõoÿòýÿþöõß»öŸ›ÿùÿ you'ä expect. Definitions are:;; ZEX command file to display the filenames in the SH.VAR queue. ;; Two techniques are shown here. -RDN ;; SHDEFINE|L^?QY ;; ;; The following ZEX code should produce a display of the filenames ;; in the queue -- and nothing else -- on the screen. It does not, ;; however, because ZEX's 'Toggle Print Suppress' command ('^.') ;; does not work, at least with my version of ZEX (3.1). If the ;; '^.' commands are removed, it will work, but the filenames will ;; be all but lost in the 'noise' of command lines that ZEX displays. ;; ;;ECHO ^Z;^. SH ;; Control-Z clears the screen on my Kaypro ;;SHVAR QP %QH;GOTO FIRST ;;;=LOOP ;;SHVAR SWITCH SHVAR QP %%%QP ;;%SWITCH ;;;=FIRST ;;ECHO %QP ^. ; ^. IF %QP=%QT;GOTO END;ELSE;XIF;GOTO LOOP;FI ;;;=END ;;XIF ;;SHEXIT ;; end of ZEX command file