|目次|前ページ|次ページ|
─────────────────────────────────────
■サンプルルーチン(直接印刷)の解説
copyright エスアイエム
─────────────────────────────────────
◆サンプルルーチン(直接印刷)
─────────────────────────────────────
ZSIMSAMP
ZSIMSAMP ;;;レイアウト[30-nov-2001]/for CACHE(DSM-J)/
;;;S.Mizuno/ on ESC-vcom++/小数点サポート/LaserShot用/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; レイアウト ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
W !!,"***<<< レイアウト >>>***",!
S $ZT="TRAP^ZSIMSAMP" ;;;
;;;;;;;;;;[30-nov-2001];;;;;;;;;;;
N %DEVICE S %DEVICE=0 ;;;$ZV[02-may-2001];;;
D ;;;[30-nov-2001];;;
.U 0:WIDTH=0 Q ;;;cache;;;
.;;;;;;U 0:0 ;;;msm;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D OPEN ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S CRLF=$C(13)_$C(10)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S setstr=$$WpInit^ZSIMLP1() ;;;<<標準的な初期化処理>>;;;
D FONT ;;;フォント指定情報ダウンロード;;;;;;
S setstr=$$WpOpen^ZSIMLP1() ;;;<<標準的なオープン処理>>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S PATN=1,BIAS=1 D LAYOUT ;;;spool write test;;;
S PATN=2,BIAS=0 D LAYOUT ;;;spool write test;;;
S YYY=30.5 D SPLIT ;;;
S PATN=3,BIAS=0 D LAYOUT ;;;spool write test;;;
S YYY=61 D SPLIT ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D DISGDI ;;;グラフィックス描画を禁止;;;
--> <esc>[...G のシーケンスを画面モードに戻す
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S setstr=$$WpClose^ZSIMLP1() ;;;<<標準的なクローズ処理>>
S setstr=$$WpTerm^ZSIMLP1() ;;;<<標準的な終了処理>>;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D CLOSE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
W !!,"***<<< レイアウト 終了>>>***",!
Q
LAYOUT ;;;
D BIAS ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D FOPEN ;;;フォントオープン;;;
D FCLOSE ;;;フォントクローズ;;;
D ENAGDI ;;;グラフィックス描画を可能に;;;
--> <esc>[...G のシーケンスを印刷モードに設定
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S setstr=$$WpMainF^ZSIMLP1() ;;;<<<メインフォント印字モードに切替>>>
--> 印刷位置を決定する際の行桁はこのサイズで決定されます
S dmy=$$WpWrite^ZSIMLP1(setstr) ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;S LREC=$C(27)_"[1;1H" ;;;set print position (x,y)=>(1,1);;;
;S setstr=LREC ;;;
;S dmy=$$WpWrite^ZSIMLP1(setstr) ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;S LREC=$C(27)_"[1;1H" ;;;set print position (x,y)=>(1,1);;;
;F J=1:1:30 S LREC=LREC_$C(27)_"["_J_"H"_"#"_J_"#" ;;;line scale;;;
;S dmy=$$WpWrite^ZSIMLP1(LREC) ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;S LREC=$C(27)_"[1;1H" ;;;set print position (x,y)=>(1,1);;;
;F J=31:1:60 S LREC=LREC_$C(27)_"["_J_"H"_"#"_J_"#" ;;;line scale;;;
;S dmy=$$WpWrite^ZSIMLP1(LREC) ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;S LREC=$C(27)_"[1;1H" ;;;set print position (x,y)=>(1,1);;;
;F J=61:1:90 S LREC=LREC_$C(27)_"["_J_"H"_"#"_J_"#" ;;;line scale;;;
;S dmy=$$WpWrite^ZSIMLP1(LREC) ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;S LREC=$C(27)_"[1;1H" ;;;set print position (x,y)=>(1,1);;;
;F J=91:1:120 S LREC=LREC_$C(27)_"["_J_"H"_"#"_J_"#" ;;;line scale;;;
;S dmy=$$WpWrite^ZSIMLP1(LREC) ;;;
--> 以上のコメント化された部分は、印刷位置を決定する際に必要な
現在の解像度でメインフォント時、最高何行,何桁印字可能かを
印刷します
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D DATAOUT ;;;
D PREPRNT ;;;
D SMALL ;;;
D LARGE ;;;
D GOUKEI ;;;
D KEISEN ;;;
S BAR="1008922140" D NW7 ;;;バーコード印刷(NW-7);;;
;;;;;S BAR=$TR($J("1008922140",12)," ","0") D JAN12DG ;;;バーコード印刷(JAN12);;;
I PATN'=1 S BAR="20061890-ABCDEFGHIJKLMNOP" D CODE39 ;;;
D ;;;閉じ穴;;;
.S xc=4,yc=1+Yb,xr=2,yr=1 D CIRCLE ;;;
.S xc=4,yc=26+Yb,xr=2,yr=1 D CIRCLE ;;;
--> 以上の部分は、小さな円を描画します
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MAINFONT ;;;<<<メインフォント印字モードに切替>>>
S setstr=$$WpMainF^ZSIMLP1() ;;;printer Main Font;;;
S dmy=$$WpWrite^ZSIMLP1(setstr) ;;;
Q
--> 以下は、メインフォントのサイズで印刷位置の行桁を指定します
LOCATE ;;;(X,Y);;;印刷位置指定;;;
S setstr=$$WpXYPos^ZSIMLP1(X,Y,0,0) ;;;printer Main Font;;;
S dmy=$$WpWrite^ZSIMLP1(setstr) ;;;
Q
--> 以下は、直接プリンタに出力します
WRITE ;;;スプラーに書き込み;;;
S dmy=$$WpWrite^ZSIMLP1(STR) ;;;
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--> 以下は、3つのボックスの描画位置パラメタを設定
BIAS ;;;
D ;;;
.I PATN=1 S Xb=20,Yb=1.5,XR=4 Q ;;;上部/左部の空白(マージン);;;
.I PATN=2 S Xb=20,Yb=1.5+30.5,XR=4 Q ;;;上部/左部の空白(マージン);;;
.I PATN=3 S Xb=20,Yb=1.5+61,XR=4 Q ;;;上部/左部の空白(マージン);;;
S Ydecimal=.5,Ysmall=.2 ;;;罫線/小文字のY座標(小数点指定)[09-apr-2001];;;
S Yhin=.2
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DATAOUT ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D MAINFONT ;;;<<<メインフォント印字モードに切替>>>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=2+Xb,Y=1+Yb D LOCATE S STR="99999999" D WRITE ;;;コード;;;
S X=12+Xb,Y=1+Yb D LOCATE S STR="XXXXXXXX" D WRITE ;;;コード;;;
S X=92+Xb,Y=1+Yb D LOCATE S STR="9999999999" D WRITE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=12+Xb,Y=2+Yb D LOCATE S STR="" D WRITE ;;;;;;
S X=92+Xb,Y=2+Yb D LOCATE S STR="2001.99.99" D WRITE ;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=6+Xb,Y=3+Yb D LOCATE S STR="NNNNNNNNNNNNNNNNNNNN" D WRITE
S X=6+Xb,Y=4+Yb D LOCATE S STR="NNNNNNNNN 様" D WRITE
S X=6+Xb,Y=5+Yb D LOCATE S STR="NNNNNNNNNNNNNNNNNNNN" D WRITE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+6+Xb,Y=6+Yb D LOCATE S STR="〒999-9999" D WRITE ;;;POST;;;
S X=XR+18+Xb,Y=6+Yb D LOCATE S STR="999-99-9999" D WRITE ;;;TEL;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+6+Xb,Y=7+Yb D LOCATE S STR="NNNNNNNNNNNNNNNNN" D WRITE
S X=XR+6+Xb,Y=8+Yb D LOCATE S STR="NNNNNNNNNNNNNNNNNNNN" D WRITE
S X=XR+6+Xb,Y=9+Yb D LOCATE S STR="NNNNNNNNNNNNNNNNNNNN" D WRITE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+43+Xb,Y=10+Yb D LOCATE S STR="999999-XXXXXXXXXXXXXXXX" D WRITE ;;;;;;
S X=XR+9+Xb,Y=10+Yb D LOCATE S STR="XXXXXXXXXXXXXXXXXXXXXXX" D WRITE ;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D ;;;[16-apr-2001];;;
.I PATN=1 D Q
..S X=XR+72+Xb,Y=7+Yb D LOCATE S STR="NNNNNNNNN" D WRITE
.D Q
..S X=XR+60+Xb,Y=3+Yb D LOCATE S STR="〒999-9999" D WRITE ;;;;;;
..S X=XR+60+Xb,Y=4+Yb D LOCATE S STR="NNNNNNNNNNNN" D WRITE
..S X=XR+66+Xb,Y=5+Yb D LOCATE S STR="NNNNNNNNN" D WRITE
..S X=XR+64+Xb,Y=6+Yb D LOCATE S STR="099-999-9999" D WRITE ;;;TEL;;;
..S X=XR+85+Xb,Y=6+Yb D LOCATE S STR="099-999-9999" D WRITE ;;;FAX;;;
..S X=XR+85+Xb,Y=7+Yb D LOCATE S STR="NNNNNNN" D WRITE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+75+Xb,Y=10+Yb D LOCATE S STR="2001.99.99" D WRITE ;;;;;;
S X=XR+92+Xb,Y=10+Yb D LOCATE S STR="9999999" D WRITE ;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+2+Xb,Y=12+Yb+Yhin D LOCATE S STR="NNNNNNN" D WRITE
S X=XR+2+Xb,Y=13+Yb+Yhin D LOCATE S STR="NNNNNNN" D WRITE
S X=XR+2+Xb,Y=14+Yb+Yhin D LOCATE S STR="NNNNNNN" D WRITE
S X=XR+2+Xb,Y=15+Yb+Yhin D LOCATE S STR=$TR($J("",30)," ","N") D WRITE
S X=XR+2+Xb,Y=16+Yb+Yhin D LOCATE S STR=$TR($J("",30)," ","N") D WRITE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+67+Xb,Y=12+Yb+Yhin D LOCATE S STR=" Z" D WRITE
S X=XR+67+Xb,Y=13+Yb+Yhin D LOCATE S STR=" Z,ZZZ" D WRITE
S X=XR+67+Xb,Y=14+Yb+Yhin D LOCATE S STR=" ZZZ" D WRITE
S X=XR+67+Xb,Y=15+Yb+Yhin D LOCATE S STR=" ZZ" D WRITE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+74+Xb,Y=12+Yb+Yhin D LOCATE S STR=" " D WRITE
S X=XR+74+Xb,Y=15+Yb+Yhin D LOCATE S STR=" NNNN" D WRITE
S X=XR+74+Xb,Y=16+Yb+Yhin D LOCATE S STR=" NNNN" D WRITE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+87+Xb,Y=12+Yb+Yhin D LOCATE S STR=" 99,999" D WRITE
S X=XR+87+Xb,Y=13+Yb+Yhin D LOCATE S STR=" " D WRITE
S X=XR+87+Xb,Y=14+Yb+Yhin D LOCATE S STR=" 99,999" D WRITE
S X=XR+87+Xb,Y=15+Yb+Yhin D LOCATE S STR=" 9,999" D WRITE
S X=XR+87+Xb,Y=16+Yb+Yhin D LOCATE S STR=" 999" D WRITE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+9+Xb,Y=18+Yb D LOCATE S STR="XXXXXXXXX" D WRITE ;;;????;;;
S X=XR+24+Xb,Y=18+Yb D LOCATE S STR="XXXXXXXXXXXXXXXXXX" D WRITE ;;;????;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+5+Xb,Y=20+Yb D LOCATE S STR="NNNNNNNNNNNNNNN" D WRITE
S X=XR+5+Xb,Y=21+Yb D LOCATE S STR="NNNNNNNNNNNNNNNNNNNN" D WRITE
S X=XR+5+Xb,Y=22+Yb D LOCATE S STR="NNNNNNNNNNNNNNNNNNNN" D WRITE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+5+Xb,Y=23+Yb D LOCATE S STR="〒XXX-XXXX" D WRITE ;;;POST;;;
S X=XR+16+Xb,Y=23+Yb D LOCATE S STR="XXXX-XXXX-XXXX" D WRITE ;;;TEL;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+5+Xb,Y=24+Yb D LOCATE S STR="NNNNNNNNNNNNNNNNNNNN" D WRITE
S X=XR+5+Xb,Y=25+Yb D LOCATE S STR="NNNNNNNNNNNNNNNNNNNN" D WRITE
S X=XR+5+Xb,Y=26+Yb D LOCATE S STR="NNNNNNNNNNNNNNNNNNNN" D WRITE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
I PATN=3 D ;;;
.S X=XR+62+Xb,Y=21+Yb D LOCATE S STR="NNNNNNNNNNNNNNN" D WRITE
.S X=XR+57+Xb,Y=22+Yb D LOCATE S STR="NNNNNNNNNNNNNNN" D WRITE
.S X=XR+57+Xb,Y=23+Yb D LOCATE S STR="NNNNNNNNNNNNNNN" D WRITE
.S X=XR+57+Xb,Y=24+Yb D LOCATE S STR="NNNNNNNNNNNNNNN" D WRITE
.S X=XR+57+Xb,Y=25+Yb D LOCATE S STR="NNNNNNNNNNNNNNN" D WRITE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
I PATN=1 S X=XR+87+Xb,Y=26+Yb D LOCATE S STR="NNNN" D WRITE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+69+Xb,Y=18+Yb+Ysmall D LOCATE S STR="合 計" D WRITE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
I PATN=1 D ;;;
.S HBR=9
.S STR=$$WpFSelect^ZSIMLP1(5) D WRITE ;;;<<<副フォント印字モードに切替>>>;;;
.S X=5+HBR,Y=8+Yb D LOCATE S STR="NNNN" D WRITE ;;;
.S X=5+HBR,Y=10+Yb D LOCATE S STR="NNNN" D WRITE ;;;
.S X=3+HBR,Y=12+Yb D LOCATE S STR="NNNN" D WRITE ;;;
.S X=3+HBR,Y=14+Yb D LOCATE S STR="NNNN" D WRITE ;;;
.S X=3+HBR,Y=16+Yb D LOCATE S STR="NNNN" D WRITE ;;;
.S X=3+HBR,Y=18+Yb D LOCATE S STR="NNNN" D WRITE
.S X=3+HBR,Y=20+Yb D LOCATE S STR="XXXXXX" D WRITE
.S X=5+HBR,Y=22+Yb D LOCATE S STR="NNNN" D WRITE
.S X=5+HBR,Y=23+Yb D LOCATE S STR="NNNN" D WRITE
.S X=5+HBR,Y=24+Yb D LOCATE S STR="NNNN" D WRITE
.S X=2+HBR,Y=25+Yb D LOCATE S STR="NN" D WRITE ;;;
.S X=7+HBR,Y=25+Yb D LOCATE S STR="NN" D WRITE ;;;
.S X=11+HBR,Y=25+Yb D LOCATE S STR="NN" D WRITE ;;;
.S X=5+HBR,Y=26+Yb D LOCATE S STR="9999" D WRITE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Q
PREPRNT ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S STR=$$WpFSelect^ZSIMLP1(1) D WRITE ;;;<<<副フォント印字モードに切替>>>;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+2+Xb,Y=20+Yb+Ysmall D LOCATE S STR="X" D WRITE ;;;
S X=XR+2+Xb,Y=22+Yb+Ysmall D LOCATE S STR="X" D WRITE ;;;
S X=XR+2+Xb,Y=24+Yb+Ysmall D LOCATE S STR="X" D WRITE ;;;
S X=XR+2+Xb,Y=26+Yb+Ysmall D LOCATE S STR="X" D WRITE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
I PATN=3 D ;;;
.S X=XR+54+Xb,Y=20+Yb+Ysmall D LOCATE S STR="X" D WRITE ;;;
.S X=XR+54+Xb,Y=22+Yb+Ysmall D LOCATE S STR="X" D WRITE ;;;
.S X=XR+54+Xb,Y=24+Yb+Ysmall D LOCATE S STR="X" D WRITE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+15+Xb,Y=11+Yb+Ysmall D LOCATE S STR="X" D WRITE ;;;
S X=XR+35+Xb,Y=11+Yb+Ysmall D LOCATE S STR="X" D WRITE ;;;
S X=XR+67+Xb,Y=11+Yb+Ysmall D LOCATE S STR=" XX" D WRITE ;;;
S X=XR+76+Xb,Y=11+Yb+Ysmall D LOCATE S STR="X X" D WRITE ;;;
S X=XR+90+Xb,Y=11+Yb+Ysmall D LOCATE S STR="X X" D WRITE ;;;
I PATN=1 D ;;;
.S X=12,Y=7+Yb+Ysmall D LOCATE S STR="XXXXXXX" D WRITE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+2+Xb,Y=18+Yb+Ysmall D LOCATE S STR=" XXXX" D WRITE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SMALL ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S STR=$$WpFSelect^ZSIMLP1(2) D WRITE ;;;<<<副フォント印字モードに切替>>>;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=88+Xb,Y=1+Yb+Ysmall D LOCATE S STR=" No." D WRITE ;;;
S X=88+Xb,Y=2+Yb+Ysmall D LOCATE S STR="DATE" D WRITE ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
I PATN'=1 D ;;;
.S X=XR+60+Xb,Y=6+Yb+Ysmall D LOCATE S STR="TEL" D WRITE ;;;
.S X=XR+81+Xb,Y=6+Yb+Ysmall D LOCATE S STR="FAX" D WRITE ;;;
.S X=XR+81+Xb,Y=7+Yb+Ysmall D LOCATE S STR="XXXX" D WRITE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+36+Xb,Y=10+Yb+Ysmall D LOCATE S STR="XXXXXXX" D WRITE ;;;
S X=XR+2+Xb,Y=10+Yb+Ysmall D LOCATE S STR="XXXXXX" D WRITE ;;;
S X=XR+70+Xb,Y=10+Yb+Ysmall D LOCATE S STR="DATE" D WRITE ;;
S X=XR+87+Xb,Y=10+Yb+Ysmall D LOCATE S STR="XXXXX" D WRITE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
I PATN=3 D ;;;
.S X=XR+57+Xb,Y=20+Yb+Ysmall D LOCATE S STR="XXXXXXXXXXX" D WRITE ;;;
.S X=XR+57+Xb,Y=21+Yb+Ysmall D LOCATE S STR="XXXXXX" D WRITE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
I PATN=1 D ;;;
.S X=XR+74+Xb,Y=22+Yb D LOCATE S STR="XXXXX" D WRITE ;;;
.S X=XR+52+Xb,Y=26+Yb+Ysmall D LOCATE S STR="XXXXXXXXXXXXXXX" D WRITE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Q
LARGE ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S STR=$$WpFSelect^ZSIMLP1(3) D WRITE ;;;<<<副フォント印字モードに切替>>>;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
--> 通常、納品書とか請求書をイメージしています
D ;;;
.I PATN=1 S X=37+Xb,Y=0.5+Yb D LOCATE S STR=" N N 書" D WRITE Q ;;;
.I PATN=2 S X=37+Xb,Y=0.5+Yb D LOCATE S STR=" N N 書" D WRITE Q ;;;
.I PATN=3 S X=37+Xb,Y=0.5+Yb D LOCATE S STR=" N N 書" D WRITE Q ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Q
GOUKEI ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S STR=$$WpFSelect^ZSIMLP1(4) D WRITE ;;;<<<副フォント印字モードに切替>>>;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
S X=XR+82+Xb,Y=18+Yb-.2 D LOCATE S STR="-ZZZ,ZZZ,ZZZ" D WRITE ;;;合計;;;
Q
KEISEN ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D BOX1 ;;;ボックスの描画;;;
D BOX2 ;;;ボックスの描画;;;
D BOX3 ;;;ボックスの描画;;;
D BOX4 ;;;ボックスの描画;;;
D BOX5 ;;;ボックスの描画;;;
D BOX11 ;;;ボックスの描画;;;
D BOX12 ;;;ボックスの描画;;;
D BOX13 ;;;ボックスの描画;;;
D BOX14 ;;;ボックスの描画;;;
D BOX21 ;;;ボックスの描画;;;
D BOX22 ;;;ボックスの描画;;;
D BOX31 ;;;ボックスの描画;;;
D BOX32 ;;;ボックスの描画;;;
D BOX33 ;;;ボックスの描画;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D HLINE1 ;;;直線の描画;;;
D VLINE1 ;;;直線の描画;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;罫線は行の中央に引くので0.5行分を増減する;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BOX1 ;;;BOLD=線の太さ;;;
S x1=XR+1.5+Xb,y1=11.1+Yb,x2=XR+99.5+Xb,y2=17+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=10 D BOX
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BOX2 ;;;
S x1=XR+66.5+Xb,y1=18+Yb-Ydecimal,x2=XR+79.5+Xb,y2=19+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=10 D BOX
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BOX3 ;;;
S x1=XR+79.5+Xb,y1=18+Yb-Ydecimal,x2=XR+99.5+Xb,y2=19+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=10 D BOX
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BOX11 ;;;
S x1=1.5+Xb,y1=1+Yb-.4,x2=10.5+Xb,y2=2+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D BOX
Q
BOX12 ;;;
S x1=68.5+Xb,y1=1+Yb-.4,x2=71.5+Xb,y2=2+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D BOX
Q
BOX13 ;;;
S x1=73.5+Xb,y1=1+Yb-.4,x2=76.5+Xb,y2=2+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D BOX
Q
BOX14 ;;;
S x1=76.5+Xb,y1=1+Yb-.4,x2=79.5+Xb,y2=2+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D BOX
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BOX21 ;;;
I PATN'=1 Q ;;;
S x1=XR+66.5+Xb,y1=3.3+Yb,x2=XR+99.5+Xb,y2=5+Yb
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=3 D BOX
Q
BOX22 ;;;
I PATN'=1 Q ;;;
S x1=XR+66.5+Xb,y1=5+Yb,x2=XR+99.5+Xb,y2=6.7+Yb
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=3 D BOX
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BOX31 ;;;
S x1=XR+1.5+Xb,y1=18+Yb-Ydecimal,x2=XR+8.5+Xb,y2=19+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D BOX
Q
BOX32 ;;;
S x1=XR+8.5+Xb,y1=18+Yb-Ydecimal,x2=XR+23.5+Xb,y2=19+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D BOX
Q
BOX33 ;;;
S x1=XR+23.5+Xb,y1=18+Yb-Ydecimal,x2=XR+66.5+Xb,y2=19+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D BOX
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BOX4 ;;;
I PATN'=1 Q ;;;
S x1=XR+70.5+Xb,y1=22+Yb-Ydecimal,x2=XR+84.5+Xb,y2=27+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D BOX
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BOX5 ;;;
I PATN'=1 Q ;;;
S x1=10.5,y1=7+Yb,x2=24.5,y2=8+Yb
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D BOX
S x1=10.5,y1=8+Yb,x2=24.5,y2=27+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D BOX
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HLINE1 ;;;直線(水平線)の描画;;;
S x1=XR+1.5+Xb,y1=12+Yb,x2=XR+99.5+Xb,y2=12+Yb
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D LINE
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
VLINE1 ;;;直線(垂直線)の描画;;;
S x1=XR+66.5+Xb,y1=11.1+Yb,x2=XR+66.5+Xb,y2=17+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D LINE
S x1=XR+73.5+Xb,y1=11.1+Yb,x2=XR+73.5+Xb,y2=17+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D LINE
S x1=XR+86.5+Xb,y1=11.1+Yb,x2=XR+86.5+Xb,y2=17+Yb+Ydecimal
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=5 D LINE
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SPLIT ;;;直線(水平線)の描画;;;
S x1=1,y1=YYY,x2=150,y2=YYY
S dotx1=0,doty1=0,dotx2=0,doty2=0,BOLD=3 D LINE
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LINE ;;;直線の描画;;;
S p1=0 ;;;パレット番号;;;
S p3=1 ;;;ペンスタイル有り;;;
S p4=0 ;;;実線;;;
S p5=BOLD ;;;太さ;;;
S STR=$$WpLine^ZSIMLP1(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p3,p4,p5) ;;;直線
D WRITE ;;;Draw escape;;;
Q
BOX ;;;ボックスの描画;;;
S p1=0 ;;;パレット番号;;;
S p3=1 ;;;ペンスタイル有り;;;
S p4=0 ;;;実線;;;
S p5=BOLD ;;;太さ;;;
S STR=$$WpBox^ZSIMLP1(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p3,p4,p5) ;;;直線
D WRITE ;;;Draw escape;;;
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CIRCLE ;;;
S (dotxc,dotyc,dotxr,dotyr)=0 ;;;
S p1=0 ;;;パレット番号;;;
S p2=2 ;;;塗りつぶし指定;;;
S p3=5 ;;;色/タイル番号/ハッチ番号;;;
S p4=0 ;;;ハッチパタンの時の色;;;
S STR=$$WpCircle^ZSIMLP0(xc,yc,xr,yr,dotxc,dotyc,dotxr,dotyr,p1,p2,p3,p4)
D WRITE ;;;Draw escape;;;
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
OPEN ;
W $$WpInitDlg^ZSIMLP1("$1$3$$$$$600$","") ;;;[18-apr-2001];;;
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
NW7 ;;;BAR->バーコード印刷(NW-7);;;
S setstr=$$WpPutNW7^ZSIMLP1(BAR,8,9+Yb,0,0)
S dmy=$$WpWrite^ZSIMLP1(setstr)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;S BAR="a"_BAR_"a"
;;;S n=2 D SPACING ;;;バーコード文字列印刷;;;
;;;S setstr=$$WpPutSmall^ZSIMLP1(BAR,2,9+Yb,0,0)
;;;S dmy=$$WpWrite^ZSIMLP1(setstr)
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CODE39 ;;;
S setstr=$$WpPut39^ZSIMLP1(BAR,18,-.5+Yb,0,0)
S dmy=$$WpWrite^ZSIMLP1(setstr)
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
JAN12DG ;;;JAN-CDOE;;;
S setstr=$$WpPutJAN^ZSIMLP1(BAR,4+Xb,32+Yb,0,0)
S dmy=$$WpWrite^ZSIMLP1(setstr)
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SPACING ;;;(BAR,n)->BAR;;;
S w="",w1=""
F J=1:1:$L(BAR) S w1=$E(BAR,J) S w=w_w1 S:J'=$L(BAR) w=w_$S(J=$L(BAR):"",1:$J("",n))
S BAR=w
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CLOSE ;
Q
FONT ;;;フォント指定情報ダウンロード;;;
;;;;;;;;;;;;;メインフォント;;;;;;;;;;;;;;;
;;;;S LogFont="MS 明朝/96/0/0/0/400/0/0/0/128/3/2/1/49/"
S LogFont="MS 明朝/76/0/0/0/400/0/0/0/128/3/2/1/49/"
S dmy=$$WpDownLD^ZSIMLP1(0,LogFont) ;;;
S dmy=$$WpPonBf^ZSIMLP1(dmy) ;;;
;;;;;;;;;;;;;副フォント;;;;;;;;;;;;;;;
S LogFont="MS 明朝/54/0/0/0/400/0/0/0/128/3/2/1/17/"
S dmy=$$WpDownLD^ZSIMLP1(1,LogFont) ;;;
S dmy=$$WpPonBf^ZSIMLP1(dmy) ;;;
S LogFont="MS 明朝/48/0/0/0/400/0/0/0/128/3/2/1/17/"
S dmy=$$WpDownLD^ZSIMLP1(2,LogFont) ;;;
S dmy=$$WpPonBf^ZSIMLP1(dmy) ;;;
S LogFont="MS 明朝/128/0/0/0/800/0/0/0/128/3/2/1/17/"
S dmy=$$WpDownLD^ZSIMLP1(3,LogFont) ;;;
S dmy=$$WpPonBf^ZSIMLP1(dmy) ;;;
S LogFont="MS ゴシック/96/0/0/0/800/0/0/0/128/3/2/1/17/"
S dmy=$$WpDownLD^ZSIMLP1(4,LogFont) ;;;
S dmy=$$WpPonBf^ZSIMLP1(dmy) ;;;
S LogFont="MS 明朝/64/0/0/0/800/0/0/0/128/3/2/1/17/"
S dmy=$$WpDownLD^ZSIMLP1(5,LogFont) ;;;
S dmy=$$WpPonBf^ZSIMLP1(dmy) ;;;
;;;;;;;;;;;;;Sub Font download;;;;;;;;;;;;;;;
S LogFont="CN-CODE39/128/0/2700/2700/400/0/0/0/0/3/2/1/2/"
S dmy=$$WpDownLD^ZSIMLP1(55,LogFont) ;;;
S dmy=$$WpPonBf^ZSIMLP1(dmy) ;;;
S LogFont="CN-JANCODE/-256/0/0/0/400/0/0/0/0/3/2/1/2/"
S dmy=$$WpDownLD^ZSIMLP1(54,LogFont) ;;;
S dmy=$$WpPonBf^ZSIMLP1(dmy) ;;;
S LogFont="CN-NW7/-192/0/2700/2700/400/0/0/0/0/3/2/1/2/"
S dmy=$$WpDownLD^ZSIMLP1(53,LogFont) ;;;
S dmy=$$WpPonBf^ZSIMLP1(dmy) ;;;
S LogFont="MS 明朝/-48/0/2700/2700/400/0/0/0/128/3/2/1/17/"
S dmy=$$WpDownLD^ZSIMLP1(52,LogFont) ;;;
S dmy=$$WpPonBf^ZSIMLP1(dmy) ;;;
S LogFont="CN-CODE39 OCR/128/0/2700/2700/400/0/0/0/0/3/2/1/2/"
S dmy=$$WpDownLD^ZSIMLP1(51,LogFont) ;;;
S dmy=$$WpPonBf^ZSIMLP1(dmy) ;;;
;;;;;;;;;;;;;Sub Font download;;;;;;;;;;;;;;;
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
FOPEN ;;;フォントオープン;;;
S setstr=""
S dmy=$$WpFOpen^ZSIMLP1(1) ;;;
S setstr=setstr_dmy
S dmy=$$WpFOpen^ZSIMLP1(2) ;;;
S setstr=setstr_dmy
S dmy=$$WpFOpen^ZSIMLP1(3) ;;;
S setstr=setstr_dmy
S dmy=$$WpFOpen^ZSIMLP1(4) ;;;
S setstr=setstr_dmy
S dmy=$$WpFOpen^ZSIMLP1(5) ;;;
S setstr=setstr_dmy
S dmy=$$WpPonAf^ZSIMLP1(setstr) ;;;
Q
ENAGDI ;;;プリンタグラフィックス描画可能;;;
S dmy=$$WpGDIEna^ZSIMLP1() ;;;
S dmy=$$WpPonAf^ZSIMLP1(dmy) ;;;
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
FCLOSE ;;;フォントクローズ;;;
S setstr=""
S dmy=$$WpFClose^ZSIMLP1(1) ;;;
S setstr=setstr_dmy
S dmy=$$WpFClose^ZSIMLP1(2) ;;;
S setstr=setstr_dmy
S dmy=$$WpFClose^ZSIMLP1(3) ;;;
S setstr=setstr_dmy
S dmy=$$WpFClose^ZSIMLP1(4) ;;;
S setstr=setstr_dmy
S dmy=$$WpFClose^ZSIMLP1(5) ;;;
S setstr=setstr_dmy
S dmy=$$WpPoffBf^ZSIMLP1(setstr) ;;;
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DISGDI ;;;画面グラフィックス描画;;;
S dmy=$$WpGDIDis^ZSIMLP1() ;;;
S dmy=$$WpPoffBf^ZSIMLP1(dmy) ;;;
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TRAP ;--- TRAP ---
W $C(27)_"[4i" ;;;Screen mode;;;
W !,"$ZE=",$ZE ;;;
;;;;;;;;;;[30-nov-2001];;;;;;;;;;;
N %DEVICE S %DEVICE=0 ;;;$ZV[02-may-2001];;;
D ;;;[30-nov-2001];;;
.U 0:WIDTH=0 Q ;;;cache;;;
.;;;;;;U 0:0 ;;;msm;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Q
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
─────────────────────────────────────
─────────────────────────────────────
11-1
|目次|前ページ|次ページ|