ページの先頭行へ戻る
Interstage Information IntegratorV10.1.0 システム設計ガイド

G.2.11 アプリケーションとプラグイン定義の例

C言語のアプリケーションを例に、アプリケーションの作成例、プラグイン定義の定義例ならびにアプリケーション実行時の各パラメタのデータ例を示します。

例1

アプリケーションの例

関数名:copy_func

復帰値の型:char*

関数仕様:引数「in_data」に指定した入力データを引数「out_data」に指定した出力バッファに引数「out_size」に指定したサイズの数だけコピーします。

char *copy_func(
                     char *out_data,     /* 結果出力 */
char *in_data, /* 入力 */
long out_size /* 結果出力用領域サイズ */
) { /*--------------------------------------------------------------------------------* * 結果出力"out_data"に、領域サイズ"out_size"をオーバー * しない範囲で入力"in_data"をコピーします。 *--------------------------------------------------------------------------------*/ strncpy(out_data, in_data, out_size); return out_data; /* 復帰 */ }
プラグイン定義の例

プラグイン定義シートには、アプリケーション例の太字部分の情報を定義します。各パラメタに関する指定値について説明します。

データ例

上記のプラグインを実行したときの各パラメタのデータ例です。パラメタ「in_data」に「apple」を入力した場合、以下のとおり、結果データは入力データと同じになります。

入力データ

結果データ

apple

apple

例2

アプリケーションの例

関数名:setstring_func

復帰値の型:int

関数仕様:引数「out_format」に指定した書式に、引数「code_no」に指定した入力データと引数「in_data」に指定した入力データを埋め込みます。埋め込んだデータは、引数「out_data」に指定した出力バッファに出力します。

int setstring_func(
char *out_data,/* 結果出力 */
char *out_format,/* 出力の形式 */
long code_no, /* 入力(数値) */
char *in_data/* 入力(文字列) */
) { int ret; /*--------------------------------------------------------------------------* * 出力の形式"out_format"に指定した形で、入力"code_no"、入力"in_data" * を組み合わせて、結果出力"out_data"に出力します。 *---------------------------------------------------------------------------*/ ret = sprintf(out_data,out_format,code_no,in_data); return ret; /* 復帰 */ }
プラグイン定義の例

プラグイン定義シートには、アプリケーション例の太字部分の情報を定義します。各パラメタに関する指定値について説明します。

データ例

上記のプラグインを実行したときの各パラメタのデータ例です。各パラメタのデータは、以下のようになります。

パラメタ

定義の「種別」に指定した値

データ例

in_data

入力

KOBE

code_no

入力

1000

out_data

結果

No.(1000) Data(KOBE)

out_format

デフォルト

No(%d) Data(%s)

3

アプリケーションの例

関数名:cutstring_func

復帰値の型:int

関数仕様:引数「in_data」に指定した入力データを引数「in_string」に指定した書式にします。そのデータを、以下の各引数に指定した出力バッファにそれぞれ出力します。

このうち、実行結果として返却するのは 引数「result」の値となります。

int cutstring_func(
char *in_data,/* 入力(文字列) */
char *in_string,/* 入力(書式化文字列) */
char *result, /* 結果出力 */
char *outdata1,/* 出力 (文字列) */
char *outdata2 /* 出力(文字列) */
)
{ int ret; /*------------------------------------------------------------------------------------------* * 入力"in_data"を入力の形式"in_string"に指定した形で、結果出力"result"、 * 出力"outdata1"、出力"outdata2"に出力します。 *-------------------------------------------------------------------------------------------*/ ret = sscanf(in_data, in_string, result, outdata1, outdata2); return ret; /* 復帰 */ }
プラグイン定義の例

プラグイン定義シートには、アプリケーション例の太字部分の情報を定義します。各パラメタに関する指定値について説明します。

データ例

上記のプラグインを実行したときの各パラメタのデータ例です。各パラメタのデータは、以下のようになります。

パラメタ

定義の「種別」に指定した値

データ例

in_data

入力

20100110

(西暦、月、日のデータ(YYYYMMDD形式))

in_string

入力

%4s%2s%2s

パラメタ「in_data」のフォーマットにあわせて、書式化文字列を固定文字列として、データ変換定義から指定します。変換ごとに個別で指定することが可能です。

result

結果

2010

この例では、西暦のデータが返却されます。

out_data1

出力

01

アプリケーションインタフェースとしての出力という位置付けである引数です。
返却される出力データ(結果)ではありません。

out_data2

出力

10

アプリケーションインタフェースとしての出力という位置付けである引数です。
返却される出力データ(結果)ではありません。