?? macros
字號:
?section ADD^LIST routine[#IF [#ARGUMENT /VALUE item/ WORD/SPACE/]]#APPEND bin ADD * FROM [item]#SET itime [#FILEINFO /MODIFICATION/ [item]][#IF itime > ntime |THEN| #SETV ntime itime]?section BBZIPLIB MACRO#FRAME#push bin item ntime itime libtime#SET ntime 0#OUTPUT Building [lib]#APPEND bin CLEARadd^list CRC32Oadd^list CRCTABOadd^list CRYPTOadd^list DEFLATEOadd^list FILEIOOadd^list GLOBALSOadd^list TANDEMOadd^list TANZIPOadd^list TREESOadd^list TTYIOOadd^list UTILOadd^list ZIPFILEOadd^list ZIPUPO#APPEND bin INFO UNRESOLVED *#APPEND bin BUILD [lib] ! , LIST * OFF#SET libtime [#FILEINFO /MODIFICATION/ [lib]][#IF libtime < ntime|THEN| #OUTPUT [lib] needs re-building BIND /NAME,INV BIN/ [#CASE [tacl^completioncode] | 0 | #OUTPUT Bound [lib] OK | 1 | #OUTPUT [lib]: BIND Failed with Warnings | OTHERWISE | #OUTPUT [lib]: BIND Failed with ERRORS ! ]|ELSE| #OUTPUT [lib] is up to date]#UNFRAME?section BBZIP MACRO#FRAME#push bin ziptime build#SET build 0#OUTPUT Building %1% with %2% memory model#APPEND bin CLEAR#APPEND bin ADD * FROM ZIPO#APPEND bin select search ($system.system.c%2%, [lib])#APPEND bin select runnable object on#APPEND bin select list * off#APPEND bin set heap 20 pages#APPEND bin set symbols on#APPEND bin set saveabend on#APPEND bin set inspect on#APPEND bin info unresolved *#APPEND bin BUILD %1% !#SET ziptime [#FILEINFO /MODIFICATION/ %1%][#IF ziptime < [#FILEINFO /MODIFICATION/ ZIPO] |THEN| #OUTPUT %1% is older than ZIPO #SET build -1][#IF ziptime < [#FILEINFO /MODIFICATION/ [lib]] |THEN| #OUTPUT %1% is older than [lib] #SET build -1][#IF build|THEN| #OUTPUT %1% is out of date, re-building BIND /NAME,INV BIN/ [#CASE [tacl^completioncode] | 0 | #OUTPUT Bound %1% OK | 1 | #OUTPUT %1%: BIND Failed with Warnings | OTHERWISE | #OUTPUT %1%: BIND Failed with ERRORS ! ]|ELSE| #OUTPUT %1% is up to date, no re-build required]#UNFRAME?section BBANY MACRO#FRAME#push bin memory anytime build#SET build 0#SETMANY memory, %2% LARGE#OUTPUT Building %1% with [memory] memory model#APPEND bin CLEAR#APPEND bin ADD * FROM %1%O#APPEND bin select search ($system.system.c[memory],[lib])#APPEND bin select runnable object on#APPEND bin select list * off#APPEND bin set heap 20 pages#APPEND bin set symbols on#APPEND bin set saveabend on#APPEND bin set inspect on#APPEND bin info unresolved *#APPEND bin BUILD %1% !#SET anytime [#FILEINFO /MODIFICATION/ %1%][#IF anytime < [#FILEINFO /MODIFICATION/ %1%O] |THEN| #OUTPUT %1% is older than %1%O #SET build -1][#IF anytime < [#FILEINFO /MODIFICATION/ [lib]] |THEN| #OUTPUT %1% is older than [lib] #SET build -1][#IF build|THEN| #OUTPUT %1% is out of date, re-building BIND /NAME,INV BIN/ [#CASE [tacl^completioncode] | 0 | #OUTPUT Bound %1% OK | 1 | #OUTPUT %1%: BIND Failed with Warnings | OTHERWISE | #OUTPUT %1%: BIND Failed with ERRORS ! ]|ELSE| #OUTPUT %1% is up to date, no re-build required]#UNFRAME?section BBUNZIPLIB MACRO#FRAME#push bin item ntime itime libtime#SET ntime 0#OUTPUT Building [lib]#APPEND bin CLEARadd^list CRC32Oadd^list CRCTABOadd^list CRYPTOadd^list ENVARGSOadd^list EXPLODEOadd^list EXTRACTOadd^list FILEIOOadd^list GLOBALSOadd^list INFLATEOadd^list LISTOadd^list MATCHOadd^list PROCESSOadd^list TANDEMOadd^list TANUNZOadd^list TTYIOOadd^list UNSHRINOadd^list ZIPINFOO#APPEND bin INFO UNRESOLVED *#APPEND bin BUILD [lib] ! , LIST * OFF#SET libtime [#FILEINFO /MODIFICATION/ [lib]][#IF libtime < ntime|THEN| #OUTPUT [lib] needs re-building BIND /NAME,INV BIN/ [#CASE [tacl^completioncode] | 0 | #OUTPUT Bound [lib] OK | 1 | #OUTPUT [lib]: BIND Failed with Warnings | OTHERWISE | #OUTPUT [lib]: BIND Failed with ERRORS ! ]|ELSE| #OUTPUT [lib] is up to date]#UNFRAME?section BBUNZIP MACRO#FRAME#push bin ziptime build#SET build 0#OUTPUT Building %1% with %2% memory model#APPEND bin CLEAR#APPEND bin ADD * FROM UNZIPO#APPEND bin select search ($system.system.c%2%,[lib])#APPEND bin select runnable object on#APPEND bin select list * off#APPEND bin set heap 20 pages#APPEND bin set symbols on#APPEND bin set saveabend on#APPEND bin set inspect on#APPEND bin info unresolved *#APPEND bin BUILD %1% !#SET ziptime [#FILEINFO /MODIFICATION/ %1%][#IF ziptime < [#FILEINFO /MODIFICATION/ UNZIPO] |THEN| #OUTPUT %1% is older than UNZIPO #SET build -1][#IF ziptime < [#FILEINFO /MODIFICATION/ [lib]] |THEN| #OUTPUT %1% is older than [lib] #SET build -1][#IF build|THEN| #OUTPUT %1% is out of date, re-building BIND /NAME,INV BIN/ [#CASE [tacl^completioncode] | 0 | #OUTPUT Bound %1% OK | 1 | #OUTPUT %1%: BIND Failed with Warnings | OTHERWISE | #OUTPUT %1%: BIND Failed with ERRORS ! ]|ELSE| #OUTPUT %1% is up to date, no re-build required]#UNFRAME?section BBSFXLIB MACRO#FRAME#push bin item ntime itime libtime#SET ntime 0#OUTPUT Building [lib]#APPEND bin CLEARadd^list CRC32Oadd^list CRCTABXadd^list EXTRACTXadd^list FILEIOXadd^list GLOBALSXadd^list INFLATEXadd^list MATCHXadd^list PROCESSXadd^list TANDEMXadd^list TANUNZXadd^list TTYIOX#APPEND bin INFO UNRESOLVED *#APPEND bin BUILD [lib] ! , LIST * OFF#SET libtime [#FILEINFO /MODIFICATION/ [lib]][#IF libtime < ntime|THEN| #OUTPUT [lib] needs re-building BIND /NAME,INV BIN/ [#CASE [tacl^completioncode] | 0 | #OUTPUT Bound [lib] OK | 1 | #OUTPUT [lib]: BIND Failed with Warnings | OTHERWISE | #OUTPUT [lib]: BIND Failed with ERRORS ! ]|ELSE| #OUTPUT [lib] is up to date]#UNFRAME?section BBSFX MACRO#FRAME#push bin ziptime build#SET build 0#OUTPUT Building %1% with %2% memory model#APPEND bin CLEAR#APPEND bin ADD * FROM UNZIPX#APPEND bin select search ($system.system.c%2%,[lib])#APPEND bin select runnable object on#APPEND bin select list * off#APPEND bin set heap 20 pages#APPEND bin set symbols on#APPEND bin set saveabend on#APPEND bin set inspect on#APPEND bin info unresolved *#APPEND bin BUILD %1% !#SET ziptime [#FILEINFO /MODIFICATION/ %1%][#IF ziptime < [#FILEINFO /MODIFICATION/ UNZIPX] |THEN| #OUTPUT %1% is older than UNZIPX #SET build -1][#IF ziptime < [#FILEINFO /MODIFICATION/ [lib]] |THEN| #OUTPUT %1% is older than [lib] #SET build -1][#IF build|THEN| #OUTPUT %1% is out of date, re-building BIND /NAME,INV BIN/ [#CASE [tacl^completioncode] | 0 | #OUTPUT Bound %1% OK | 1 | #OUTPUT %1%: BIND Failed with Warnings | OTHERWISE | #OUTPUT %1%: BIND Failed with ERRORS ! ]|ELSE| #OUTPUT %1% is up to date, no re-build required]#UNFRAME?section accel^file MACRO#FRAME#PUSH buf[#IF [#FILEINFO /MODIFICATION/ %1%] > [#FILEINFO /MODIFICATION/ %2%]|THEN| #OUTPUT %2% is older than %1% #OUTPUT Accelerating %1% to %2% AXCEL /IN [general_seg_subvol].DUMMY, OUTV buf/ %1%,%2% #OUTPUTV buf [#CASE [tacl^completioncode] | 0 | #OUTPUT Accelerated %2% OK | 1 | #OUTPUT %2%: AXCEL Failed with Warnings | OTHERWISE | #OUTPUT %2%: AXCEL Failed with ERRORS ! ]|ELSE| #OUTPUT %2% is up to date]#UNFRAME?section fup^license ROUTINE#FRAME#PUSH #DEFAULTS filename old^user current^user[#IF [#ARGUMENT /VALUE filename/ FILENAME]]#SET old^user [#USERNAME [#PROCESSINFO /PAID/]]#SETV current^user old^user[#LOOP |WHILE| current^user '<>' "SUPER.SUPER" AND NOT [#INPUTEOF]|DO| #OUTPUT Please log on as SUPER.SUPER (CTRL-Y aborts) logon SUPER.SUPER #SET current^user [#USERNAME [#PROCESSINFO /PAID/]] #OUTPUT][#IF current^user '=' "SUPER.SUPER" |THEN| #OUTPUT Licensing [filename] $SYSTEM.SYSTEM.FUP LICENSE [filename]][#LOOP |WHILE| current^user '<>' old^user AND NOT [#INPUTEOF]|DO| #OUTPUT Please log on as [old^user] (CTRL-Y aborts) logon [old^user] #SET current^user [#USERNAME [#PROCESSINFO /PAID/]] #OUTPUT]#UNFRAME?section CODE routine#FRAME#PUSH delta arg#SET /TYPE delta/ DELTA[#LOOP |WHILE| [#COMPUTE [#ARGUMENT /VALUE arg/ NUMBER END] = 1 ]|DO| #APPEND DELTA [arg]I]#RESULT [#DELTA /COMMANDS DELTA/]#UNFRAME?section TACL^COMPLETIONCODE routine#RESULT [_completion:completioncode]?SECTION INCREMENT routine#FRAME#PUSH increment_variable increment_value[#IF [#ARGUMENT /VALUE increment_variable/ VARIABLE]][#IF [#EMPTYV [increment_variable]]|THEN|#SET [increment_variable] 0][#IF [#MORE] |THEN| [#IF [#ARGUMENT /VALUE increment_value/ NUMBER]] |ELSE| #SET increment_value 1][#IF [#ARGUMENT END]]#SET [increment_variable] [#COMPUTE [increment_variable] + [increment_value]]#UNFRAME?section ERROR^IN^FUP^OUTPUT routine#FRAME#PUSH err output last line type#SETMANY err output, 0 0[#LOOP |WHILE| NOT [#EMPTYV fup^out]|DO| #EXTRACTV fup^out line [#SETMANY type, [#CHARGET line 1 TO 7] .] [#CASE [type] | ERROR | #SETMANY output err, -1 -1 | WARNING | #SET output -1 | OTHERWISE | ] [#IF output |THEN| #OUTPUTV last #OUTPUTV line #SET output 0 #EXTRACTV fup^out line ] #SETV last line]#RESULT [err]#UNFRAME?section SECURE^FILE routine#FRAME[#DEF fup^out TEXT |BODY|][#DEF fup^buf TEXT |BODY|][#DEF fup^cmd MACRO |BODY| FUP /OUTV fup^out/ %*% #SETV fup^buf fup^out [#IF [error^in^fup^output] |THEN| #OUTPUT Error detected in FUP output, ABORTING !! #OUTPUT .............................................................. #OUTPUTV fup^buf #OUTPUT .............................................................. #RAISE _BREAK ]][#DEF display^action MACRO |BODY| [#IF NOT action |THEN| #OUTPUT /HOLD/ Updating [file] ... #SET action -1 #SET count 0 ] #OUTPUT /COLUMN 3/ ... %*%][#DEF display^noaction MACRO |BODY| [#IF count |THEN| increment count |ELSE| #OUTPUT #SET count 1 ] [#IF count |THEN| #OUTPUT /COLUMN [count]/ [code 27]A. [#IF count > 75 |THEN| #SET count 0 ] ]][#DEF process^file TEXT |BODY| #SET action 0 #SETMANY cur^owner cur^security cur^license cur^progid, & [#FILEINFO /OWNER, SECURITY, LICENSED, PROGID/ [file]] #SET cur^owner [#USERNAME [cur^owner]] [#IF NOT [#EMPTYV owner] |THEN| [#IF owner '<>' cur^owner |THEN| display^action giving to [owner] (was [cur^owner]) fup^cmd GIVE [file], [owner] [#IF cur^progid |THEN| #OUTPUT /COLUMN 3/... WARNING! Loss of PROGID flag #SET cur^progid 0 ] ] ] [#IF NOT [#EMPTYV security] |THEN| [#IF security '<>' cur^security |THEN| display^action securing to [security] (was [cur^security]) fup^cmd SECURE [file], [security] ] ] [#IF license |THEN| [#IF NOT cur^license |THEN| display^action licensed fup^cmd LICENSE [file] ] ] [#IF progid |THEN| [#IF NOT cur^progid |THEN| display^action PROGID flag set fup^cmd SECURE [file],, PROGID ] ] [#IF action |THEN| fup^cmd INFO [file] |ELSE| [#IF tflag |THEN| display^noaction |ELSE| #OUTPUT /HOLD/ Unchanged : [file] [#IF cur^progid |THEN| #OUTPUT /COLUMN 39,HOLD/ P] [#IF cur^license |THEN| #OUTPUT /COLUMN 40,HOLD/ L] #OUTPUTV /COLUMN 43,HOLD/ cur^security #OUTPUTV /COLUMN 50,HOLD/ cur^owner #OUTPUT ] ]]#PUSH arg template file security owner progid license prev action count tflag#PUSH cur^security cur^owner cur^license cur^progid#SETMANY license progid, 0 0#SET count 0#SET tflag 0[#LOOP |WHILE| [#MORE]|DO| [#CASE [#ARGUMENT /VALUE arg/ FILENAME USER /USERNAME/ USER SECURITY KEYWORD /WORDLIST LICENSE/ KEYWORD /WORDLIST PROGID/ TEMPLATE ] | 1 | #SETV file arg | 2 | #SETV owner arg | 3 | #SET owner [#USERNAME [arg]] | 4 | #SETV security arg | 5 | #SET license -1 | 6 | #SET progid -1 | 7 | #SETV template arg ]][#IF [#ARGUMENT END]][#IF [#EMPTYV template]|THEN| #SETV template file|ELSE| #SET tflag -1 #OUTPUT /HOLD/ Template : [template] [#IF progid |THEN| #OUTPUT /COLUMN 39,HOLD/ P] [#IF license |THEN| #OUTPUT /COLUMN 40,HOLD/ L] [#IF NOT [#EMPTYV security] |THEN| #OUTPUTV /HOLD/ " "[security]""] [#IF NOT [#EMPTYV owner] |THEN| #OUTPUTV /HOLD/ " [owner]"] #OUTPUT][#IF [#EMPTYV template]|THEN| #OUTPUT ERROR! No filename specified #RESET FRAMES #RETURN|ELSE| #SET file [#FILENAMES /MAXIMUM 1/ [template]] [#LOOP |WHILE| NOT [#EMPTYV file] |DO| process^file #SETV prev file #SET file [#FILENAMES /MAXIMUM 1, PREVIOUS [prev]/ [template]] ]]#UNFRAME
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -