Xファンクションへのアクセス

Originには、様々なタスクを処理するために、多くのXファンクションが組み込まれています。 XファンクションはLabTalkとOriginCの両方から呼び出すことができます。このセクションはOriginCのXFBaseクラスを使用してXファンションを呼び出す方法を示します。この仕組みはXファンクションをもう1つ、別のXファンクションで呼び出す時に使用できます。

XFBaseクラスはOrigin CシステムフォルダにあるXFBase.hヘッダファイルで宣言されます。 XFBase.hヘッダファイルはOrigin.hヘッダファイルに含まれている物ではありません。そのため、他のXFBase クラスを使用するOrigin Cとは別に含まれる必要があります。

#include <XFBase.h>

Origin Cから impFile Xファンクションを呼び出す

Origin C内で、Xファンクションを使用するための手順を以下に示します。

  1. 特定のXファンクションから構成されたオブジェクトを宣言
  2. Xファンクションオブジェクトから、SetArg オプションを使用して引数を割り当てる
  3. Xファンクションオブジェクトの Evaluateメソッドを使用してXファンクションを実行

以下のOrigin CコードはファイルをOriginにインポートする一般的な何数を定義します。 関数は2つの引数、データファイル名とインポートファイル名を使用します。impFileXファンクションに対する他の引数は、デフォルトの値を使用します。

bool call_impFile_XF(LPCSTR lpcszDataFile, LPCSTR lpcszFilterFile)
{
    string strDataFile = lpcszDataFile;
    string strFilterFile = lpcszFilterFile;

    // XFBaseのインスタンスをXファンクション名を使って作成
    XFBase xf("impFile");
    if (!xf)
        return false;

    // 引数 'fname' をセット
    if (!xf.SetArg("fname", strDataFile))
        return false;

    // 引数 'filtername' をセット
    if (!xf.SetArg("filtername", strFilterFile))
        return false;

    // Xファンクション実行のために、XFBase の 'Evaluate' メソッドを呼び出す
    if (!xf.Evaluate())
        return false;

    return true;
}

次のOrigin Cコードは、上で定義した関数call_impFile_XFを呼び出し、画像ファイルのインポートに使用する方法を示します。

// OriginのサンプルフォルダにあるビットマップファイルCarインポート
string strImageFile = GetAppPath(TRUE) +
    "Samples\\Image Processing and Analysis\\Car.bmp";

// 画像インポートフィルタを使用してビットマップ画像をインポート
string strFilterFile = GetAppPath(TRUE) + "Filters\\Image.oif";

// XファンクションimpFileで使用するために関数を呼び出す
call_impFile_XF(strImageFile, strFilterFile);
Note:
  1. Xファンクションへのアクセスについての詳細情報は、ヘルプ:プログラミング > Origin C > Examples > Accessing X-Functions > Accessing X-Function をご覧ください。
  2. Xファンクションについての詳細情報は、ヘルプ:Xファンクション をご覧ください。