|目次前ページ次ページ|
─────────────────────────────────────
■ 直接出力モードとバーコード印刷 
   スプーラを経由しない印刷出力を意味します 
■ 直接出力モードとバーコード印刷のサンプルプログラム 
    ZSIMSAMP / ZSIMSAM2 にバーコードとフォームオバーレイ的機能の 
   サンプルがあります。 
    ZSIMJAN にバーコード(JAN)サンプルがあります。 
    ZSIMC128 にバーコード(CODE128)サンプルがあります。 
    ZSIMCD39 にバーコード(CODE39)サンプルがあります。 
    ZSIMNW7 にバーコード(NW7)サンプルがあります。 
    ZSIMYBIN にバーコード(郵便)サンプルがあります。 
    ZSIMBITM にビットマップ印刷のサンプルがあります。 
    ZSIMGDI2 にGDI描画サンプルがあります。 
   これらは、開発キット ZSIMLP.RSAに含まれています。 
─────────────────────────────────────
<<<留意点>>> 
(*) CANONバーコードフォント(SmileWare Colection) 等が必要です 
(*) 副フォントは1->64まで拡張されました(要Download) 
    (1->5)を(51->55)に変更しました 
(*)  縦方向の印刷方法を提供 
    フォント情報の EscapementとOrientationを適切に設定します 
(*)テキスト印字位置指定に小数点を指定可(ドット位置は無視) 
    ***小数点以下は1/100単位で有効***  
    ***あえてヘルプドキュメントにありませんが機能します*** 
─────────────────────────────────────
<<<留意点>>> 
CN-JANCODE(高さ標準)/CN-JANCODE2(高さ0.5倍)/CN-JANCODE3(高さ1.5倍) 
CODE-39ではスペースコードはアンダースコア(_)を出力してください  
CANON Smileware collection はコピーフリーです(プリンタ購入すれば) 
 横倍角/(*)リバース/ハイライト/アンダーライン/イタリック/通常属性 
 <esc>#6 / <esc>[7m / <esc>[1m /  <esc>[4m  /  <esc>[2m / <esc>[m 
(*)リバース/通常属性は副フォントでも表示可能です 
<*>フォントの高さ指定は正の値は内部リーデングを含まない 
   負の値は内部リーデングを含むドット高さを指定します。 
─────────────────────────────────────
<<<バーコード印刷処理手順>>> 
─────────────────────────────────────
[1] 標準的な初期化処理 
     setstr=$$WpInit^ZSIMLP0()   <<標準的な初期化処理>> 
[2] <<プリンタにグラフィックス描画する場合のみ>> 
     setstr=$$WpGDIEna^ZSIMLP1() 
[3] 標準的なオープン処理 
     setstr=$$WpOpen^ZSIMLP0()   <<標準的なオープン処理>> 
[4] 印字行桁位置を指定 
     setstr=$$WpLcPos^ZSIMLP1(x,y)   (小数点) 
    <<プリンタメインフォントで印字行桁位置を指定>> 
     setstr=$$WpXYPos^ZSIMLP1(x,y,dotx,doty)(小数点)      
    <<プリンタメインフォントで印字行桁+−差分ドット位置を指定>> 
     setstr=$$WpCurPos^ZSIMLP1(x,y)    
    <<プリンタ現在フォントで印字行桁位置を指定>> 
[5] バーコード出力文字列を出力 
     setstr=$$WpPut39^ZSIMLP1(BAR,x,y,dotx,doty) ==>#55 
     setstr=$$WpPut39OCR^ZSIMLP1(BAR,x,y,dotx,doty) ==>#51 
     setstr=$$WpPutNW7^ZSIMLP1(BAR,x,y,dotx,doty) ==>#53 
     setstr=$$WpPutJAN^ZSIMLP1(BAR,x,y,dotx,doty) ==>#54 
  *** 必要ならば [4] に戻ってください 
[6] 標準的なクローズ処理 
     setstr=$$WpClose^ZSIMLP0()   <<標準的なクローズ処理>> 
[7] 画面にグラフィックス描画モード 
     setstr=$$WpGDIDis^ZSIMLP1() 
    <<プリンタにグラフィックス描画する場合のみ>> 
[8] 標準的な終了処理 
     setstr=$$WpTerm^ZSIMLP0()    <<標準的な終了処理>> 
─────────────────────────────────────
<<<副フォントのダウンロード切替え処理手順>>> 
─────────────────────────────────────
[1] 副フォント削除&再設定(次にフォントを選択のこと) 
     setstr=$$WpCngSF^ZSIMLP1(font,LogFont) 
    ここで font=フォント番号(1から64) 
    LogFont=LOGFONT構造体にセットする値(NULLの場所は前の値のまま) 
[2] 副フォント印字モードに切替(フォント選択) 
     setstr=$$WpSubFnt^ZSIMLP1(font)  カレントフォントが変更されます 
    ここで font=フォント番号(1から64) 
─────────────────────────────────────
<<<メインフォントのダウンロード切替え処理手順>>> 
─────────────────────────────────────
[1] メインフォント削除&オープン(変更) 
     setstr=$$WpCngF0^ZSIMLP1(LogFont) 
    ここで font=フォント番号(1から64) 
[2] メインフォントの行間/桁間/含む外部リーディングの指定 
     setstr=$$WpMSpace^ZSIMLP1(linedot,columndot,extleading) 
[*]JAN-Code共通関数 
     setstr=$$WpJAN13^ZSIMLP1(JAN) 
    <<数字12桁からチェック桁を付加してフォント用文字列変換(共通関数)>>> 
     setstr=$$WpJAN8^ZSIMLP1(JAN) 
    <<数字7桁からチェック桁を付加してフォント用文字列変換(共通関数)>>> 
[*] 副フォントへの切替えをスプール出力 
     setstr=$$WpSel39^ZSIMLP1() <<<現在CODE39#55選択>>> 
     setstr=$$WpSel39OCR^ZSIMLP1() <<<現在CODE39OCR#51選択>>> 
     setstr=$$WpSelJAN^ZSIMLP1() <<<現在JANコード#54選択>>> 
     setstr=$$WpSelNW7^ZSIMLP1() <<<現在NW-7コード#53選択>>> 
     setstr=$$WpSelSmall^ZSIMLP1()  <<<現在小さなフォント#52選択>>> 
─────────────────────────────────────
<<プリンタ出力モード中に文字列(含むシーケンス)を画面表示したい>> 
      $$RWpPutScr^ZSIMLP1(str) 
[*]GDI描画関数(小数点) 
 str=$$WpLine^ZSIMLP1(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p3,p4,p5) 
     直線 
 str=$$WpBox^ZSIMLP1(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p3,p4,p5) 
     ボックス 
 str=$$WpBoxFil^ZSIMLP1(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p3,p4,p5) 
     ボックス塗り潰し 
 str=$$WpCircle^ZSIMLP0(xc,yc,xr,yr,dotxc,dotyc,dotxr,dotyr,p1,p2,p3,p4) 
     円/楕円 
 str=$$WpElipse^ZSIMLP0(xc,yc,xr,yr,dotxc,dotyc,dotxr,dotyr 
     楕円    ,x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1,p2,p3,p5) 
 str=$$WpArc^ZSIMLP0(xc,yc,xr,yr,dotxc,dotyc,dotxr,dotyr 
     円弧    ,x1,y1,x2,y2,dotx1,doty1,dotx2,doty2,p1) 
 str=$$WpPaint1^ZSIMLP0(x1,y1,dotx1,doty1,c1,c2)      塗り潰し 
 str=$$WpPaint2^ZSIMLP0(x1,y1,dotx1,doty1,c1,c2,c3)   塗り潰し 
 str=$$WpPSet^ZSIMLP0(x1,y1,dotx1,doty1,c1) 点を描画 
 str=$$WpInvAll^ZSIMLP0()    描画領域全体を白黒反転 
 str=$$WpInvRect^ZSIMLP0(x1,y1,x2,y2,dotx1,doty1,dotx2,doty2) 
    描画領域の一部を白黒反転 
─────────────────────────────────────
[*]マージン設定関数 
─────────────────────────────────────
 dmy=$$WpMgnRect^ZSIMLP1(x1,y1,x2,y2) 
  マージン設定(プリンタオープン前) 
  x1=左,y1=上,x2=右,y2=下ドットマージン(印字可能外枠からのドット数) 
 str=$$WpMgnLR^ZSIMLP1(x1,x2) 
 line=$$WpWrite^ZSIMLP0(setstr)プリンタ印刷データ文字列設定 
  左右マージン設定(プリンタオープン前or後) 
 str=$$WpMgnTB^ZSIMLP1(y1,y2) 
 line=$$WpWrite(setstr)プリンタ印刷データ文字列設定 
  上下マージン設定(プリンタオープン前or後) 
 *** 直接位置指定ではマージン外でも印字してしまいます 
─────────────────────────────────────
[*]縦書き/デバイスモード/デバイス名設定関数 
[1]自動改行モード 
 str=$$WpAutoWrap^ZSIMLP1(yesno) 
    yesno=(0:自動改行する(横書き),1:しない(縦書き)) 
[2]プリンタオープン時の方法 
 str=$$WpDialog^ZSIMLP1(yesno) 
    yesno=(0:デフォルトプリンタ,1:ダイアログボックス) 
[3]印刷ダイアログボックスの内容を変更して初期化 
 str=$$WpInitDlg^ZSIMLP1(devmode,devname) 
    devmode=デバイスの名前$用紙方向$用紙サイズ$...$ 
     ex.   "\PRAHA\Canon LASER SHOT LBP-910$1$3$..." 
    devname=ドライバ名$デバイスの名前$ポート名$ 
     ex.   "winspool$\PRAHA\Canon LASER SHOT LBP-910$Ne00:" 
[*]両面印刷/印刷密度の設定(印刷ダイアログボックス使用時) 
─────────────────────────────────────
[*]郵便カスタマバーコード印字用文字列を作成 
       barstr=$$WpYubin^ZSIMLP2(postno7,address) 
       postno7<--郵便番号7桁 
       address<--日本語住所(丁目以降なら正確) 
  *** 日本語住所に県や市から渡した場合は稀に間違う場合があります *** 
[*]郵便カスタマバーコード印字シーケンスを作成 
       setstr=$$WpPutYBN^ZSIMLP1(BAR,x,y,xdot,ydot) 
  *** 縦方向に印刷したい場合はフォントの方向を設定します *** 
[*]郵便カスタマバーコード選択シーケンスを作成(フォント番号=50) 
       setstr=$$WpSelYBN^ZSIMLP1() 
─────────────────────────────────────
<<<[準備関数]>>> 
[1]ラスターオペレーションの指定(0:SRCCOPY) 
     str=$$WmROpe^ZSIMLP3(ope) 
[2]ブラシの指定 
     str=$$WmBrush^ZSIMLP3(mode,opt,clr) 
[3]ビットマップ番号データの削除 
     str=$$WmDelete^ZSIMLP3(bitm) 
[4]ビットマップ番号データの全削除 
     str=$$WmAllDel^ZSIMLP3() 
<<<[ファイルから読込保存関数]>>> 
[1]ダイアログボックスから読込->ビットマップ番号に格納 
     str=$$WmReadDlgg^ZSIMLP3(bitm) *** .WmP or .DIB 
[2]指定ファイルから読込->ビットマップ番号に格納 
     str=$$WmReadFL^ZSIMLP3(bitm,path) *** .WmP or .DIB  
[3]ダイアログボックスから->ファイルに保存 
     str=$$WmSaveDlg^ZSIMLP3(bitm) *** .WmP or .DIB  
[4]ビットマップ番号から->ファイルに保存 
     str=$$WmSaveFL^ZSIMLP3(bitm,path) *** .WmP or .DIB 
<<<[ビットマップ処理関数]>>> 
[1]イメージデータのセイブ->ビットマップ番号に格納[等倍] 
     str=$$WmGetDot^ZSIMLP3(bitm,x1,y1,x2,y2) 
[2]ビットマップ番号からイメージデータの復元[等倍] 
     str=$$WmPutDot^ZSIMLP3(bitm,x1,y1,x2,y2,mode) 
[3]イメージデータのセイブ[等倍] 
     str=$$WmGetImg^ZSIMLP3(bitm,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh) 
[4]ビットマップ番号からイメージデータの復元[等倍] 
     str=$$WmPutImg^ZSIMLP3(bitm,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh) 
[5]イメージデータの転写(拡大/縮小)[xy方向非等倍率] 
     str=$$WmCopyA^ZSIMLP3(Wm1,Wm2,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh) 
[6]ビットマップ番号(Wm2)からビットマップ番号(Wm1)[新規作成]へ転写 
     str=$$WmCopyB^ZSIMLP3(Wm1,Wm2,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh, 
 (拡大/縮小)   sx,sy,sw,sh,dotsx,dotsy,dotsw,dotsh)[xy方向非等倍率] 
[7]ビットマップ番号(Wm2)からビットマップ番号(Wm1)[既存]へ転写 
     str=$$WmCopyC^ZSIMLP3(Wm1,Wm2,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh, 
 (拡大/縮小)  sx,sy,sw,sh,dotsx,dotsy,dotsw,dotsh) 
<<<[ブラシ描画関数]>>> 
[1]画面/LPにブラシ描画 
     str=$$WmPatB1^ZSIMLP3(dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh) 
[2]bitmapにブラシ描画 
     str=$$WmPatB2^ZSIMLP3(bitm,dx,dy,dw,dh,dotdx,dotdy,dotdw,dotdh) 
<<<(拡大/縮小)関数>>> 
[1]倍率を指定して拡大/縮小[xy方向等倍率](ex. x=2 x=1.5 y=2/3) 
     str=$$WmZoom^ZSIMLP3(Wm1,Wm2,x,y) 
[2]拡大/縮小(x方向サイズを指定)[xy方向等倍率] 
     str=$$WmZoomX^ZSIMLP3(Wm1,Wm2,dw,dotdw) 
[3]拡大/縮小(y方向サイズを指定)[xy方向等倍率] 
     str=$$WmZoomY^ZSIMLP3(Wm1,Wm2,dh,dotdh) 
<<<サイズを取得>>> 
[1]ビットマップサイズを取得 
     str=$$WmBmpSize^ZSIMLP3(bitm) 
─────────────────────────────────────
              7-1
     |目次前ページ次ページ