APから書式印刷をする場合,行データを出力するために,次に示す関数を発行します。関数の機能と発行順序を示します。
図5-14 関数の機能と発行順序
環境変数を取り込んで,行データの編集を開始します。なお,環境変数については,「6.3 書式オーバレイ印刷時の環境変数(AIX,HP-UX,Solaris)」を参照してください。
表5-13 ユーザインタフェース領域の形式
属性および名称 | 位置 | 長さ | 内容 | 備考 |
---|---|---|---|---|
(バイト) | ||||
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 *lcompgedr | 24 | 4 | 予備 | |
long lcomrc | 28 | 4 | リターンコード | 関数呼び出し後に参照します※2 |
long lcomerr | 32 | 4 | エラー詳細コード※3 | |
unsigned char lcomsync | 36 | 1 | 予備 | jstqlopn関数を呼び出す前に 必ずNULL(0x00)でクリア します※1 |
unsigned char lcomrsv3 | 37 | 1 | 予備 | |
unsigned char lcomrsv4 | 38 | 1 | 予備 | |
unsigned char lcomrsv5 | 39 | 1 | 予備 | |
unsigned char lcomrsv6 | 40 | 12 | 予備 | |
unsigned char *lcomxppdr | 52 | 4 | 予備 | |
unsigned char lcomperr | 56 | 4 | ページ制御エラー情報 | ページ制御のエラー発生時に参照します※2 |
unsigned char *lcomxperr | 60 | 4 | 予備 | jstqlopn関数を呼び出す前に必ずNULL(0x00)でクリア します※1 |
unsigned char lcomwrk | 64 | 192 | XMAP3の作業領域 | jstqlopn関数を呼び出す前に必ずNULL(0x00)でクリア します※1 |
ユーザインタフェース領域には,次に示す項目に情報を設定し,そのほかの項目はNULL(0x00)でクリアします。
関数のリターン値を次に示します。
ページ制御情報を作成して,ページバッファに格納します。
関数のリターン値を次に示します。
jstqldat関数での行データをjstqllpt関数で出力していない場合,この関数によって出力されます。また,この関数を発行するjstqlcls関数を発行するまでは,前に発行した関数の情報(書式名など)が引き継がれます。
書式印刷時にずれを生じさせないように,行データの制御情報を作成して,行バッファに格納します。ここで指定した制御情報は,jstqllpt関数の発行,または改ページまで有効です。
図5-15 行データの制御情報テーブル(JSTQL_CTL)の形式
表5-14 行データの制御情報テーブル(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ページ分のデータをプリンタに出力します。
図5-16 行送りの制御情報テーブル(JSTQL_CTL)の形式
表5-15 行送りの制御情報テーブル(JSTQL_CTL)に指定できる定数と値
制御情報の種類 | 定数(ctl_type) | 指定値 (ctl_val) | 意味 |
---|---|---|---|
改行 | JSTQ_TYPE_NLN | 0~99 | 0~99行分改行します |
チャネル スキップ | JSTQ_TYPE_CNL | 0 | 行送りをしません |
1 | 紙送りチャネル番号C01(改ページ)を指定します |
関数のリターン値を次に示します。
この関数を発行しない場合でも,ページバッファに格納された行データの数が1ページに印刷できる行数を超えるとき,またはページバッファに格納できるデータ長の制限を超えるときは,自動的に改ページされます。
行データの編集を終了します。
関数のリターン値を次に示します。
この関数を発行したとき,バッファ中に残っている行データは,すべて出力されます。なお,行バッファの文字データは,ページバッファに格納され,ページバッファから出力されます。