APからPCに対して書式印刷をする場合,行データを出力するために,次の図に示す関数を発行します。関数の機能と発行順序を示します。
図8-7 関数の機能と発行順序
環境変数を取り込んで,行データの編集を開始します。なお,環境変数については,マニュアル「XMAP3 開発・実行ガイド」を参照してください。
表8-5 ユーザインタフェース領域の形式
属性および名称 | 位置 | 長さ | 内容 | 備考 |
---|---|---|---|---|
(バイト) | ||||
unsigned char lcomid | 0 | 4 | テーブル ID:'XMP3' | jstqlopn関数を呼び出す前に設 定します |
unsigned char *lcomsvnm | 4 | 4 | 印刷サービス名称のアドレス | |
unsigned char lcomdevnm | 8 | 6 | 予備 | jstqlopn関数を呼び出す前に必 ず,NULL(0x00)でクリア します※1 |
unsigned char lcomrsv1 | 14 | 2 | 予備 | |
unsigned char lcompgcnm | 16 | 8 | 予備 | |
unsigned char lcomrsv2 | 24 | 4 | 予備 | |
unsigned char *lcompgedr | 28 | 4 | 予備 | |
long lcomrc | 32 | 4 | リターンコード | 関数呼び出し後に参照します ※3 |
long lcomerr | 36 | 4 | エラー詳細コード※2 | |
unsigned char lcomsync | 40 | 1 | 予備 | jstqlopn関数を呼び出す前に 必ずNULL(0x00)でクリア します※1 |
unsigned char lcomrsv3 | 41 | 1 | 予備 | |
unsigned char lcomrsv4 | 42 | 1 | 予備 | |
unsigned char lcomrsv5 | 43 | 1 | 予備 | |
unsigned char lcomrsv6 | 44 | 12 | 予備 | |
unsigned char *lcomxppdr | 56 | 4 | 予備 | |
unsigned char lcomperr | 60 | 4 | ページ制御エラー情報 | ページ制御のエラー発生時に参照します※3 |
unsigned char *lcomxperr | 64 | 4 | 予備 | jstqlopn関数を呼び出す前に必ずNULL(0x00)でクリアします※1 |
unsigned char lcomwrk | 68 | 188 | XMAP3の作業領域 | jstqlopn関数を呼び出す前に必ずNULL(0x00)でクリアします※1 |
ユーザインタフェース領域には,次に示す項目に情報を設定し,そのほかの項目はNULL(0x00)でクリアします。
関数のリターン値を次に示します。
ページ制御情報を作成して,ページバッファに格納します。
関数のリターン値を次に示します。
jstqldat関数での行データをjstqllpt関数で出力していない場合,この関数によって出力されます。また,この関数を発行するjstqlcls関数を発行するまでは,前に発行した関数の情報(書式マップ名など)が引き継がれます。
書式印刷時にずれを生じさせないように,行データの制御情報を作成して,行バッファに格納します。ここで指定した制御情報は,jstqllpt関数の発行,または改ページまで有効です。
図8-8 行データの制御情報テーブル(JSTQL_CTL)の形式
表8-6 行データの制御情報テーブル(JSTQL_CTL)に指定できる定数と値
制御情報の 種類 | 定数(ctl_type) | 指定値 (ctl_val) | 意味 |
---|---|---|---|
文字サイズ | JSTQ_TYPE_PNT | 50 | 文字サイズに5ポイントを指定します |
70 | 文字サイズに7ポイントを指定します | ||
90 | 文字サイズに9ポイントを指定します | ||
120 | 文字サイズに12ポイントを指定します | ||
文字の間隔 | JSTQ_TYPE_INT | 0 | 文字の間隔を指定しません |
1~7 | 文字の間隔に1~7ポイントを指定します | ||
書体 | JSTQ_TYPE_FMT | 0 | 書体を元に(標準値に)戻します |
1 | 書体に明朝体を指定します | ||
2 | 書体にゴシック体を指定します | ||
9 | 書体にOCR体を指定します※ | ||
拡大(平体) | JSTQ_TYPE_WID | 0 | 拡大を指定しません |
1 | 拡大を指定します |
関数のリターン値を次に示します。
行の先頭での制御情報の初期値は,文字サイズ,文字の間隔,および書体はドローで定義した値,平体は指定なしです。ただし,環境定数(XMAP3_FORMAT)で書体を指定している場合,環境変数で指定した書体が有効となります。ここで指定した制御情報は,jstqllpt関数の発行,または改ページまで有効です。制御情報の指定がない場合には,この関数を発行しないでください。
文字データを編集して,行バッファに格納します。
関数のリターン値を次に示します。
この関数では,印刷する文字データ(行データ)だけを指定し,行送りなどはjstqllpt関数で指定します。
行バッファに格納されている行データに行送り情報を付けて,1行分のデータをページバッファに出力します。ただし,改ページを指定したときや,改ページが発生したときは,ページバッファに格納されている1ページ分のデータをプリンタに出力します。
図8-9 行送りの制御情報テーブル(JSTQL_CTL)の形式
表8-7 行送りの制御情報テーブル(JSTQL_CTL)に指定できる定数と値
制御情報の 種類 | 定数(ctl_type) | 指定値 (ctl_val) | 意味 |
---|---|---|---|
改行 | JSTQ_TYPE_NLN | 1~99 | 1~99行分改行します |
チャネル スキップ | JSTQ_TYPE_CNL | 0 | 行送りをしません |
1 | 紙送りチャネル番号C01(改ページ)を指定します |
関数のリターン値を次に示します。
この関数を発行しない場合でも,ページバッファに格納された行データの数が1ページに印刷できる行数を超えるとき,またはページバッファに格納できるデータ長の制限を超えるときは,自動的に改ページされます。
行データの編集を終了します。
関数のリターン値を次に示します。
この関数を発行したとき,バッファ中に残っている行データは,すべて出力されます。なお,行バッファの文字データは,ページバッファに格納され,ページバッファから出力されます。
ライブラリには,次に示すファイルを指定する必要があります。