ファイリングラベル編集出口は、CD-Rへのファイリング時に、CD-Rのラベルに印字するラベル情報を、利用者がカスタマイズできるように用意された出口機能です。
(1) ユーザ出口モジュールの呼び出しの定義
List Worksの以下のディレクトリに、出口モジュールのライブラリを格納してください。List Worksでは、ライブラリファイルの存在の有無で出口を呼び出すか否かを判断します。
/$DIR/FJSVlw-sv/lib
$DIR はList Worksのインストールディレクトリです。デフォルトはoptです。
ユーザ出口ライブラリ名は、以下の名前にしてください。
liblwlue.so
また、上記に格納したモジュールについて、/usr/libにシンボリックリンクを張っておく必要があります。以下に例を示します。
ln -s /$DIR/FJSVlw-sv/lib/liblwlue.so /usr/lib/liblwlue.so
(2) インタフェース
int UpdateLabelText( char * lpGroupName , char * lpDeviceName , char * lpUserId , int dwCopyNum , char * lpFileName);
ファイリンググループ名へのアドレス
ファイリング装置名へのアドレス
ファイリングを依頼したユーザIDへのアドレス
コピー枚数
ファイリンググループのプロパティの[CD-Rの情報]タグの作成枚数で指定した値が通知されます。
ここで指定した枚数のラベル情報を、下記ファイル内に記述する必要があります。
ラベル情報を記述したファイル名へのアドレス
ファイル内には、ファイリンググループのプロパティの[CD-Rのラベル]タグで指定した印字文字がコピー枚数分の行数が設定されて渡されます。
0:正常終了
0以外:エラー終了
エラー終了の場合は、当該のファイリングは中止します。
(3) 出口関数での処理
出口関数では、指定されたテキストファイルをオープンし、必要なラベル情報を修正し、クローズします。
テキストファイルの表記規則を以下に示します。
"挿入文字列"の形式で、ダブルクォーテーション(")で区切って記述します。
挿入文字列中にダブルクォーテーションを指定する場合には、ダブルクォーテーションを二つ続けて記述します。
文字列は、上記形式をカンマ(,)で区切って記述します。
ラベルに印字する項目は、24項目まで指定できます。
指定を省略する場合でも、カンマ(,)の記述は必要です。
挿入位置は、挿入文字列の順番と、マージフィールドのラベル番号に対応付けられます。
レコードの最後には、改行コード(X'0D0A')を記述します。
挿入文字列は、SJISコードで記述します。
コピー枚数と同数のレコードを用意します。
コピー枚数が1の場合
記述例
1月度,,,,,,,,,,,,,,,,,,,,,,,[改行コード] "A社","売り上げ""社外秘""","コピー2"[改行コード]
印刷結果
1枚目 マージフィールド1 1月度
コピー枚数が2の場合
記述例
"A社","売り上げ""社外秘""","コピー1",,,,,,,,,,,,,,,,,,,,,[改行コード] "A社","売り上げ""社外秘""","コピー2",,,,,,,,,,,,,,,,,,,,,[改行コード]
印刷結果
1枚目 マージフィールド1 A社 マージフィールド2 売り上げ"社外秘" マージフィールド3 コピー1 2枚目 マージフィールド1 A社 マージフィールド2 売り上げ"社外秘" マージフィールド3 コピー2
(4) エラー処理
エラー処理を、以下に示します。
エラーの種類 | エラー時の処理 |
---|---|
ライブラリのオープン時にエラーが発生した場合 | その旨を実行履歴に出力し、処理を続行します。 |
ライブラリ内の関数エントリの取得時にエラーが発生した場合 | その旨を実行履歴に出力し、処理を続行します。 |
出口関数がエラー復帰(復帰値が0以外)した場合 | その復帰値を実行履歴に出力し、ファイリング処理を中止します。 |
注意
ユーザ出口モジュールで、ラベルテキストを誤って編集した場合の処理は保証されません。