cX364 ; BINDING FOR ANSI X3.64 NAMESPACE, NOV/92 ;04:14 PM 15 Feb 2000; Compiled January 6, 2000 20:13:23 ; +--------------------------------------------------------+ ; | Copyright 1986-2000 by InterSystems Corporation, | ; | Cambridge, Massachusetts, U.S.A. | ; | All rights reserved. | ; | | ; | Confidential, unpublished property of InterSystems. | ; | | ; | This media contains an authorized copy or copies | ; | of material copyrighted by InterSystems and is the | ; | confidential, unpublished property of InterSystems. | ; | This copyright notice and any other copyright notices | ; | included in machine readable copies must be reproduced | ; | on all authorized copies. | ; +--------------------------------------------------------+ u 0 w !,"Illegal entry point: do not call ^",$ZN," directly." q:$zu(41)'>2 ZTRAP "EP" ; added by VJ 08.11.2000 ------------------------------------ WOPEN(a,b,c,d,e,f,g,h,i,j,k,l,m) q ; WBOX(a,b,c,d,e) q ; WLIM(a,b,c,d,e) q ; WCLOSE q ; WSC(a) q ; ; added by VJ 31.03.2000 ------------------------------------ TON q ; VJ 29.08.00 ; TOFF q ; VJ 29.08.00 ; PON w $c(27),"[5i" ; VJ 29.08.00 q POFF w $c(27),"[4i" ; VJ 29.08.00 q WCMD ; Clear Display d ED(0) i $g(QW),'$p(QW(QW),D,6) h 0 ; 28.03.2000 by VJ q WCML ; Clear Line d EL(0) i $g(QW),'$p(QW(QW),D,6) h 0 ; 28.03.2000 by VJ q WSCROFF ; Disable Automatic Display i $g(QW) s $p(QW(QW),D,6)=1 ; 28.03.2000 by VJ q WSCRON ; Enable Automatic Display i $g(QW) s $p(QW(QW),D,6)=0 h 0 ; 28.03.2000 by VJ q WDSP ; Display Window h 0 ; 28.03.2000 by VJ q WWR(a) ; Change Wrap Mode s a=+$g(a) i 'a w /TOFF i a w /TON q ; ----------------------------------------------------------- APC ; Application program command w $c(27)_"_" q BEL ; Ring the bell w $c(7) q CBT(%1) ; Cursor backward tabulation %1 tab stops s %1=+$g(%1,1) w $c(27,91)_%1_"Z" s $x=$x+7\8*8-(%1*8) s:$x<0 $x=0 q CCH ; Cancel character w $c(27)_"T" q CHA(%1) ; Cursor horizontal absolute (move to column %1) s %1=+$g(%1,1) w $c(27,91)_%1_"G" s $x=%1-1 q CHT(%1) ; Cursor horizontal tabulation (forward %1 tab stops) s %1=+$g(%1,1) w $c(27,91)_%1_"I" s $x=$x\8*8+(%1*8) s:$x>255 $x=255 q CNL(%1) ; Cursor next line (cursor down %1 lines) s %1=+$g(%1,1) w $c(27,91)_%1_"E" s $y=$y+%1 s:$y>255 $y=255 q CPL(%1) ; Cursor preceding line (cursor up %1 lines) s %1=+$g(%1,1) w $c(27,91)_%1_"F" s $y=$y-%1 s:$y<0 $y=0 q CPR ; Cursor position report (return in $KEY) n %1 w $c(27,91)_"6n" r %1 q CTC(%1,%2,%3,%4,%5,%6,%7,%8,%9) ; Cursor tabulation control n %i,%p s %p="" f %i=1:1:9 i $d(@("%"_%i)) s %p=%p_$e(";",%p'="")_@("%"_%i) w $c(27,91)_%p_"W" q CUB(%1) ; Cursor backward %1 columns s %1=+$g(%1,1) w $c(27,91)_%1_"D" s $x=$x-%1 s:$x<0 $x=0 q CUD(%1) ; Cursor down %1 lines s %1=+$g(%1,1) w $c(27,91)_%1_"B" s $y=$y+%1 s:$y>255 $y=255 q CUF(%1) ; Cursor forward %1 columns s %1=+$g(%1,1) w $c(27,91)_%1_"C" s $x=$x+%1 s:$x>255 $x=255 q CUP(%2,%1) ; Cursor position (column %1, line %2) s %1=+$g(%1,1),%2=+$g(%2,1) w $c(27,91)_%2_";"_%1_"H" s:%1=0 %1=1 s:%2=0 %2=1 ;MF ivm s $x=%1-1,$y=%2-1,$x=$s($x<0:0,$x>255:255,1:$x),$y=$s($y<0:0,$y>255:255,1:$y) q CUU(%1) ; Cursor up %1 lines s %1=+$g(%1,1) w $c(27,91)_%1_"A" s $y=$y-%1 s:$y<0 $y=0 q CVT(%1) ; Cursor vertical tabulation w $c(27,91)_+$g(%1,1)_"Y" q DA ; Device attributes - return in $KEY n %1,%2,%3 s %3="" u $i:("":"+S") w $c(27,91)_"c" r %1 s %2=$k f r *%1 s %3=%3_$c(%1) q:%1=99 s $k=%2_%3 u $i:("":"-S") q DAQ(%1,%2,%3,%4,%5,%6,%7,%8,%9) ; Define area qualification n %i,%p s %p="" f %i=1:1:9 i $d(@("%"_%i)) s %p=%p_$e(";",%p'="")_@("%"_i) w $c(27,91)_%p_"o" q DCH(%1) ; Delete %1 characters w $c(27,91)_+$g(%1,1)_"P" q DCS ; Device control string w $c(27)_"P" q DL(%1) ; Delete %1 lines w $c(27,91)_+$g(%1,1)_"M" q DMI ; Disable manual input q DSR(%1) ; Device status report - type %1 - return in $KEY n %2 w $c(27,91)_+$g(%1,5)_"n" r %2 q EA(%1) ; Erase in area w $c(27,91)_+$g(%1,1)_"O" q ECH(%1) ; Erase %1 characters w $c(27,91)_+$g(%1,1)_"X" q ED(%1) ; Erase in display (%1=0 cursor-to-end,1 begin-to-cursor,2 entire scr) w $c(27,91)_+$g(%1)_"J" q EF(%1) ; Erase in field w $c(27,91)_+$g(%1,1)_"N" q EL(%1) ; Erase in line (%1=0 cursor-to-end, 1 begin-to-cursor, 2 entire line) w $c(27,91)_+$g(%1)_"K" q EMI ; Enable manual input q EPA ; End of protected area w $c(27)_"W" q ESA ; End of selected area w $c(27)_"G" q FNT ; Font selection q GSM ; Graphic size modification q GSS ; Graphic size selection q HPA(%1) ; Horizontal position attribute (cursor to column %1) s %1=+$g(%1,1) w $c(27,91)_%1_"`" s $x=%1-1 s:$x<0 $x=0 q HPR(%1) ; Horizontal position relative (cursor forward %1 columns) s %1=+$g(%1,1) w $c(27,91)_%1_"a" s $x=$x+%1 s:$x>255 $x=255 q HTJ ; Horizontal tab with justify w $c(27)_"I" q HTS ; Horizontal tabulation set w $c(27)_"H" q HVP(%1,%2) ; Horizontal and vertical position (column %1, line %2) s %1=+$g(%1,1),%2=+$g(%2,1) w $c(27,91)_%2_";"_%1_"f" s $x=%1-1,$y=%2-1,$x=$s($x<0:0,$x>255:255,1:$x),$y=$s($y<0:0,$y>255:255,1:$y) q ICH(%1) ; Insert %1 characters w $c(27,91)_+$g(%1,1)_"@" q IL(%1) ; Insert %1 lines w $c(27,91)_+$g(%1,1),"L" q IND ; Index w $c(27)_"D" s $y=$y+1 s:$y>255 $y=255 q INT ; Interrupt w $c(27,91)_"a" q JFY ; Justify q MC ; Media copy w $c(27,91)_"i" q MW ; Message waiting w $c(27)_"U" q NEL ; Next line w $c(27)_"E" s $x=0,$y=$y+1 s:$y>255 $y=255 q NP(%1) ; Next page (advance %1 pages of terminal display memory) w $c(27,91)_+$g(%1,1)_"U" q OSC ; Operating system command w $c(27)_"]" q PLD ; Partial line down w $c(27)_"K" q PLU ; Partial line up w $c(27)_"L" q PM ; Privacy message w $c(27)_"^" q PP(%1) ; Preceding page (backup %1 pages of terminal display memory) w $c(27,91)_+$g(%1,1)_"V" q PU1 ; Private use one w $c(27)_"Q" q PU2 ; Private use two w $c(27)_"R" q QUAD ; QUAD q REP ; Repeat w $c(27,91)_"b" q RI ; Reverse index w $c(27)_"M" s $y=$y-1 s:$y<0 $y=0 q RIS ; Reset to initial state w $c(27)_"c" s $x=0,$y=0 q RM(%1,%2,%3,%4,%5,%6,%7,%8,%9) ; Reset mode n %i,%p s %p="" f %i=1:1:9 i $d(@("%"_%i)) s %p=%p_$e(";",%p'="")_@("%"_%i) w $c(27,91)_%p_"l" q SEM ; Select editing extent mode w $c(27,91)_"Q" q SGR(%1,%2,%3,%4,%5,%6,%7,%8,%9) ; Select graphic rendition %1 thru %9 n %i,%p s %p="" f %i=1:1:9 i $d(@("%"_%i)) s %p=%p_$e(";",%p'="")_@("%"_%i) w $c(27,91)_%p_"m" q SL ; Scroll left q SM(%1,%2,%3,%4,%5,%6,%7,%8,%9) ; Set mode n %i,%p s %p="" f %i=1:1:9 i $d(@("%"_%i)) s %p=%p_$e(";",%p'="")_@("%"_%i) w $c(27,91)_%p_"h" q SPA ; Start of protected area w $c(27)_"V" q SPI ; Spacing increment q SR ; Scroll right q SS2 ; Single shift two w $c(27)_"N" q SS3 ; Single shift three w $c(27)_"O" q SSA ; Start of selected area w $c(27)_"F" q ST ; String terminator w $c(27)_"\" q STS ; Set transmit state w $c(27)_"S" q SU ; Scroll up w $c(27,91)_"S" q TBC ; Tabulation clear w $c(27,91)_"g" q TSS ; Thin space specification q VPA(%1) ; Vertical position attribute (move to row %1 at same column) s %1=+$g(%1,1) w $c(27,91)_%1_"d" s $y=%1-1,$y=$s($y<0:0,$y>255:255,1:$y) q VPR(%1) ; Vertical position relative (move down %1 lines at same column) s %1=+$g(%1,1) w $c(27,91)_%1_"e" s $y=$y+%1 s:$y>255 $y=255 q VTS ; Vertical tabulation sets w $c(27)_"J" q ; ;vanaf hier data-m : ; BS ; Backspace w $c(8) q CR ; Carriage return w $c(13) q FF ; Formfeed w $c(12) q HT ; Horizontal tab w $c(9) q LF ; Linefeed w $c(10) q VT ; Vertical tab w $c(11) q MSMRGN(%1,%2) ; Scrolling region w $c(27,91)_%1_";"_%2_"r" q END ; end q CDR(a,b) ; ?DR mnemonic n i,c s a=$g(a),b=$g(b,1) i a=0 q i a=1 q s c=$p(";140;142;128;130;132;134;134;130;134;132;138;",";",a) f i=1:1:b w $c(c) q ; ZZ ; 21.11.00 - 16 u 45 * V7.82