Xファンクションへのアクセス Originには、様々なタスクを処理するために、多くのXファンクションが組み込まれています。 XファンクションはLabTalkとOriginCの両方から呼び出すことができます。このセクションはOriginCのXFBaseクラスを使用してXファンションを呼び出す方法を示します。XFBase クラスこの仕組みはXファンクションをもう1つ、別のXファンクションで呼び出す時に使用できます。
XFBaseクラスはOrigin CシステムフォルダにあるXFBase.hヘッダファイルで宣言されます。 XFBase.hヘッダファイルはOrigin.hヘッダファイルに含まれている物ではありません。そのため、他のXFBase クラスを使用するOrigin Cとは別に含まれる必要があります。
#include <XFBase.h>
Origin C内で、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);