8.4.1 関数の機能概要

XMAP3を呼び出すための汎用APインタフェースを次に示します。以降,C言語ベースの記述で説明します。

関数機能概要備考
XmapFrmCreateOpenドライバ起動,サービスオープンオープン要求関数
XmapFrmCloseドライバ解放,サービスクローズクローズ要求関数
XmapFrmSetPageページ制御情報の設定なし
XmapFrmSetData行データをバッファリング
XmapFrmSetLineバッファデータを出力
XmapFrmGetErrorエラーコードの詳細を取得
XmapFrmSetPoint文字サイズの設定フィールド制御関数
XmapFrmSetInterval字間値の設定フィールド制御関数
XmapFrmSetFont書体の設定フィールド制御関数
XmapFrmSetWidth平体の設定フィールド制御関数
XmapFrmSetNewLine改行数の設定行制御関数
XmapFrmSetChannelチャネルスキップの設定行制御関数
<この項の構成>
(1) ファイルの取り込み
(2) 関数の発行順序
(3) XmapFrmCreateOpen関数
(4) XmapFrmClose関数
(5) XmapFrmSetPage関数
(6) XmapFrmSetData関数
(7) XmapFrmSetLine関数
(8) XmapFrmGetError関数
(9) XmapFrmSetPoint関数
(10) XmapFrmSetInterval関数
(11) XmapFrmSetFont関数
(12) XmapFrmSetWidth関数
(13) XmapFrmSetNewLine関数
(14) XmapFrmSetChannel関数

(1) ファイルの取り込み

(a) 汎用関数を使用した場合のC言語でのファイルの取り込み

汎用APインタフェースでは,XMAP3が提供するDLLを使用するため,インタフェース宣言ファイルおよびリンケージライブラリを取り込む必要があります。

(b) Visual BasicおよびAccessでのファイルの取り込み

汎用APインタフェースでは,XMAP3が提供するDLLを使用するため,インタフェース宣言ファイルを取り込む必要があります。Visual BasicおよびAccessでの,インタフェース宣言ファイルを取り込む例を次に示します。

  1. [プロジェクト]-[ファイルの追加]を選択し,インタフェーステーブルを指定します。
    x3mwgd32.bas…インタフェース宣言ファイル
(c) Delphiでのファイルの取り込み

汎用APインタフェースでは,XMAP3が提供するDLLを使用するため,インタフェース宣言ファイルを取り込む必要があります。インタフェース宣言ファイルを取り込む例を次に示します。

  1. インタフェース宣言ファイル「x3mwgd32.pas」をカレントフォルダにコピーします。
  2. [プロジェクト]-[オプション]を選択し,「ディレクトリ/条件」の検索パスを指定します。

(2) 関数の発行順序

[図データ]

(3) XmapFrmCreateOpen関数

ドライバを起動し,サービスをオープンします。

[図データ]

(a) 形式の説明
  1. サービス名称(tname)
    印刷サービス名称を指定します。
    印刷サービス名は,14バイト以内の文字列でNULLを終端とします。スタンドアロンの環境では,表示・印刷セットアップの「プリンタ」タブの印刷モードに,ページプリンタ用として定義したサービス名称を指定します。C/Sシステム環境の場合は,C/Sセットアップの印刷サービス名と同じ名称を指定します。
    また,印刷サービス名アドレスの指定がNULLポインタ,文字列がNULL,またはスペースだけの場合,Windows NT 4.0,Windows 2000,Windows XP,Windows Server 2003,またはWindows Server 2003 x64の場合は環境変数「XMAP3_PSNAME」で指定した名称が仮定されます。環境変数の指定がない場合や,Windows 95,Windows 98,またはWindows Meの場合は,印刷サービス名称として「#PRT」が仮定されます。
(b) リターン情報

1以上:正常終了(端末識別子)

0:異常終了

(4) XmapFrmClose関数

サービスをクローズし,ドライバを解放します。

[図データ]

(a) 形式の説明
  1. 端末識別子(termid)
    オープン要求関数の戻り値を指定します。
(b) リターン情報

0:正常終了

-1:異常終了

(c) 注事事項

この関数を発行したとき,バッファ内に残っている行データは,すべて出力されます。なお,行バッファの文字データは,ページバッファに格納され,ページバッファから出力されます。

(5) XmapFrmSetPage関数

ページ制御情報を作成して,ページバッファに格納します。

[図データ]

(a) 形式の説明
  1. 端末識別子(termid)
    オープン要求関数の戻り値を指定します。
  2. 予備(pagec)
    必ずNULLを指定します。
  3. 書式マップ名(fmpname)
    書式マップ名称を指定します。
    書式名(マップ名にIDを付けた名称(IDはマップ名が6文字のときは6G,7文字のときはF))が格納されている領域のアドレスを必ず指定します。書式名は,8バイト以内の文字列で,NULLを終端とします。書式名を9バイト以上で指定した場合は,先頭から8バイト分を書式名とみなします。
    ただし,Windows NT 4.0,Windows 2000,Windows XP,Windows Server 2003,またはWindows Server 2003 x64の場合は,書式名の指定がNULLポインタ,文字列がNULLまたは空白だけのとき,環境変数「XMAP3_FMP」で指定した名称が仮定されます。
(b) リターン情報

0:正常終了

-1:異常終了

(c) 注意事項

XmapFrmSetData関数での行データをXmapFrmSetLine関数で帳票出力していない場合,この関数によって帳票が出力されます。また,この関数を発行するかまたはXmapFrmClose関数を発行するまでは,前に発行した関数の情報(書式マップ名など)が引き継がれます。

(6) XmapFrmSetData関数

文字データを編集して行バッファに格納します。

[図データ]

(a) 形式の説明
  1. 端末識別子(termid)
    オープン要求関数の戻り値を指定します。
  2. 文字データのアドレス(datp)
    出力する文字データ(行データ)のアドレスを指定します。
  3. 文字データの長さ(datl)
    出力する文字データ(行データ)の長さをバイト数で指定します。
(b) リターン情報

0:正常終了

-1:異常終了

(c) 注意事項

この関数では,印刷する文字データ(行データ)だけを指定し,行送りなどはXmapFrmSetLine関数で指定します。

(7) XmapFrmSetLine関数

行バッファに格納されている行データに行送り情報を付けて,1行分のデータをページバッファに出力します。ただし,改ページを指定したときや,改ページが発生したときは,ページバッファに格納されている1ページ分のデータをプリンタに出力します。

[図データ]

(a) 形式の説明
  1. 端末識別子(termid)
    オープン要求関数の戻り値を指定します。
  2. 行送りタイミング(timing)
    行送りのタイミングを指定します。
    • 0:行送り後に,行データを出力します。
    • 1:行送り前に,行データを出力します。
(b) リターン情報

0:正常終了

-1:異常終了

(c) 注意事項

この関数を発行していないとき,XmapFrmSetData関数での行データの数が1ページに印刷できる行数を超えるている,またはページバッファに格納できるデータ長の制限を超えている場合は,自動的に改ページされます。

また,この関数の前に,XmapFrmSetChannelまたはXmapFrmSetNewLineを発行しなかった場合,チャネル「0:(行送りをしない)」を仮定します。

(8) XmapFrmGetError関数

直前に発行した関数のエラー詳細を取得します。

[図データ]

(a) リターン情報

0以上:正常終了(詳細エラーコード)

(9) XmapFrmSetPoint関数

文字サイズを指定します。

[図データ]

(a) 形式の説明
  1. 端末識別子(termid)
    オープン要求関数の戻り値を指定します。
  2. 文字サイズ(val)
    文字サイズを指定します。
    内容指定値
    5ポイント50
    7ポイント70
    9ポイント90
    12ポイント120
(b) リターン情報

0:正常終了

(c) 注意事項

文字サイズだけを変更します。以降のXmapFrmSetDataで有効になります。指定の有効範囲は,XmapFrmSetLineの発行または改ページされるまでです。

この関数を発行しない場合は,ドローの書式属性ダイアログで設定した文字サイズが有効となります。

(10) XmapFrmSetInterval関数

文字の間隔を指定します。

[図データ]

(a) 形式の説明
  1. 端末識別子(termid)
    オープン要求関数の戻り値を指定します。
  2. 文字の間隔(val)
    文字の間隔を指定します。
    内容指定値
    文字間隔なし0
    1I~7I1~7
(b) リターン情報

0:正常終了

(c) 注意事項

文字間隔だけを変更します。以降のXmapFrmSetDataで有効になります。指定の有効範囲は,XmapFrmSetLineの発行または改ページされるまでです。

この関数を発行しない場合は,ドローの書式属性ダイアログで設定した文字間隔が有効となります。

(11) XmapFrmSetFont関数

文字の書体を指定します。

[図データ]

(a) 形式の説明
  1. 端末識別子(termid)
    オープン要求関数の戻り値を指定します。
  2. 書体(val)
    書体を指定します。
    内容指定値
    書体復帰0
    明朝1
    ゴシック2
    OCR9
    注※
    OCR体は,文字サイズに9ポイントを指定したときだけに有効です。

(b) リターン情報

0:正常終了

(c) 注意事項

書体だけを変更します。以降のXmapFrmSetDataで有効になります。

指定の有効範囲は,XmapFrmSetLineの発行または改ページされるまでです。

(12) XmapFrmSetWidth関数

文字の拡大を指定します。

[図データ]

(a) 形式の説明
  1. 端末識別子(termid)
    オープン要求関数の戻り値を指定します。
  2. 横倍角有無(val)
    横倍角の有無を指定します。
    内容指定値
    横倍角する1
    横倍角しない0
(b) リターン情報

0:正常終了

(c) 注意事項

横倍指定だけを変更します。以降のXmapFrmSetDataで有効になります。

指定の有効範囲は,XmapFrmSetLineの発行または改ページされるまでです。

(13) XmapFrmSetNewLine関数

改行数を指定します。

[図データ]

(a) 形式の説明
  1. 端末識別子(termid)
    オープン要求関数の戻り値を指定します。
  2. 改行数(val)
    改行数を指定します。
    内容指定値
    改行数0~99
(b) リターン情報

0:正常終了

(c) 注意事項

改行数だけを変更します。以降のXmapFrmSetLineで有効になります。

指定の有効範囲は,XmapFrmSetLineまでです。

また,XmapFrmSetNewLineとXmapFrmSetChannelは一緒に指定できません。

(14) XmapFrmSetChannel関数

チャネルスキップを指定します。

[図データ]

(a) 形式の説明
  1. 端末識別子(termid)
    オープン要求関数の戻り値を指定します。
  2. チャネル番号(val)
    チャネル番号を指定します。
    内容指定値
    行送りしない0
    紙送りチャネル番号(改ページ)C01を指定します1
(b) リターン情報

0:正常終了

(c) 注意事項

チャネルスキップだけを変更します。以降のXmapFrmSetLineで有効になります。

指定の有効範囲は,XmapFrmSetLineまでです。

また,XmapFrmSetNewLineとXmapFrmSetChannelは一緒に指定できません。