画面・帳票サポートシステム XMAP3 プログラミングガイド


13.3.1 書式印刷命令(汎用関数)

関数の形式とリターン情報について説明します。

〈この項の構成〉

(1) XmapFrmCreateOpen関数

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

形式
long APIENTRY XmapFrmCreateOpen(tname)
  unsigned char          *tname;                   /* サービス名 */

サービス名(tname):印刷サービス名を指定します。

印刷サービス名は,14バイト以内の文字列でNULLを終端とします。スタンドアロンの環境では,表示・印刷セットアップの「プリンタ」タブの印刷モードに,ページプリンタ用として定義したサービス名を指定します。C/Sシステム環境の場合は,C/Sセットアップの印刷サービス名と同じ名称を指定します。

また,印刷サービス名アドレスの指定がNULLポインタ,文字列がNULL,またはスペースだけの場合,環境変数「XMAP3_PSNAME」で指定した名称が仮定されます。環境変数の指定がない場合は,印刷サービス名として「#PRT」が仮定されます。

リターンコード

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

0:異常終了

(2) XmapFrmClose関数

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

形式
long APIENTRY XmapFrmClose(termid)
  long               termid;                  /*端末識別子*/

端末識別子(termid):オープン要求関数の戻り値を指定します。

リターンコード

0:正常終了

−1:異常終了

注意事項

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

(3) XmapFrmSetPage関数

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

形式
long APIENTRY XmapFrmSetPage(termid,pagec,fmpname);
  long              termid;                       /*端末識別子*/
  unsigned char    *pagec;                        /*予備*/
  unsigned char    *fmpname;                      /*書式マップ名*/
  1. 端末識別子(termid):オープン要求関数の戻り値を指定します。

  2. 予備(pagec):必ずNULLを指定します。

  3. 書式マップ名(fmpname):書式マップ名を指定します。

    書式名(マップ名にIDを付けた名称(IDはマップ名が6文字のときは6G,7文字のときはF))が格納されている領域のアドレスを必ず指定します。書式名は,8バイト以内の文字列で,NULLを終端とします。書式名を9バイト以上で指定した場合は,先頭から8バイト分を書式名と見なします。

    ただし,書式名の指定がNULLポインタ,文字列がNULLまたは空白だけのとき,環境変数「XMAP3_FMP」で指定した名称が仮定されます。

リターンコード

0:正常終了

−1:異常終了

注意事項

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

(4) XmapFrmSetData関数

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

形式
long APIENTRY XmapFrmSetData(termid,datp,datl);
  long             termid;                       /*端末識別子*/
  unsigned char   *datp;                         /*文字データアドレス*/
  long             datl;                         /*文字データ長*/
  1. 端末識別子(termid):オープン要求関数の戻り値を指定します。

  2. 文字データのアドレス(datp):出力する文字データ(行データ)のアドレスを指定します。

  3. 文字データの長さ(datl):出力する文字データ(行データ)の長さをバイト数で指定します。

リターンコード

0:正常終了

−1:異常終了

注意事項

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

(5) XmapFrmSetLine関数

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

形式
long APIENTRY XmapFrmSetLine(termid,timing);
  long             termid;                     /*端末識別子*/
  long             timing;                     /*行送りタイミング*/
  1. 端末識別子(termid):オープン要求関数の戻り値を指定します。

  2. 行送りタイミング(timing):行送りのタイミングを指定します。

    0:行送り後に,行データを出力します。

    1:行送り前に,行データを出力します。

リターンコード

0:正常終了

−1:異常終了

注意事項

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

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

(6) XmapFrmGetError関数

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

形式
long APIENTRY XmapFrmGetError( );
リターンコード

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

(7) XmapFrmSetPoint関数

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

形式
long APIENTRY XmapFrmSetPoint(termid,val);
  long             termid;                   /*端末識別子*/
  long             val:                      /*文字サイズ*/
  1. 端末識別子(termid):オープン要求関数の戻り値を指定します。

  2. 文字サイズ(val):文字サイズを指定します。

    内容

    指定値

    5ポイント

    50

    7ポイント

    70

    9ポイント

    90

    12ポイント

    120

リターンコード

0:正常終了

注意事項

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

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

(8) XmapFrmSetInterval関数

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

形式
long APIENTRY XmapFrmSetInterval(termid,val);
  long             termid;                       /*端末識別子*/
  long             val:                          /*文字間隔*/
  1. 端末識別子(termid):オープン要求関数の戻り値を指定します。

  2. 文字の間隔(val):文字の間隔を指定します。

    内容

    指定値

    文字間隔なし

    0

    1I〜7I

    1〜7

リターンコード

0:正常終了

注意事項

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

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

(9) XmapFrmSetFont関数

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

形式
long APIENTRY XmapFrmSetFont(termid,val);
  long             termid;                     /*端末識別子*/
  long             val:                        /*書体*/
  1. 端末識別子(termid):オープン要求関数の戻り値を指定します。

  2. 書体(val):書体を指定します。

    内容

    指定値

    書体復帰

    0

    明朝

    1

    ゴシック

    2

    OCR

    9

    注※

    OCR体は,文字サイズに9ポイントを指定したときだけに有効です。

リターンコード

0:正常終了

注意事項

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

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

(10) XmapFrmSetWidth関数

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

形式
long APIENTRY XmapFrmSetWidth(termid,val);
  long             termid;                     /*端末識別子*/
  long             val:                        /*横倍角有無*/
  1. 端末識別子(termid):オープン要求関数の戻り値を指定します。

  2. 横倍角有無(val):横倍角の有無を指定します。

    内容

    指定値

    横倍角する

    1

    横倍角しない

    0

リターンコード

0:正常終了

注意事項

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

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

(11) XmapFrmSetNewLine関数

改行数を指定します。

形式
long APIENTRY XmapFrmSetNewLine(termid,val);
  long             termid;                       /*端末識別子*/
  long             val:                          /*改行数*/
  1. 端末識別子(termid):オープン要求関数の戻り値を指定します。

  2. 改行数(val):改行数を指定します。

    内容

    指定値

    改行数

    0〜99

リターンコード

0:正常終了

注意事項

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

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

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

(12) XmapFrmSetChannel関数

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

形式
long APIENTRY XmapFrmSetChannel(termid,val);
  long             termid;                     /*端末識別子*/
  long             val:                        /*チャネル番号*/
  1. 端末識別子(termid):オープン要求関数の戻り値を指定します。

  2. チャネル番号(val):チャネル番号を指定します。

    内容

    指定値

    行送りしない

    0

    紙送りチャネル番号(改ページ)C01を指定します

    1

リターンコード

0:正常終了

注意事項

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

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

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