Mathematica プログラマー向けの詳細
Wolfram CDF Player は,Mathematica の動的インターフェース機能を使って,グラフィカルユーザインターフェースで動くアプリケーションの配備エンジンを提供します.CDF Player 用アプリケーションの構築には,Mathematica で利用できるほとんどすべてのプログラミングおよび計算の関数を使うことができますが,アプリケーションをFreeCDF*として保存する際に気をつけなければならないプログラミングの制約がいくつかあります.
コントロールと入力
インタラクティブなコンテンツはすべてManipulateコマンドで作成しなければなりません.そのコンテンツには,マウスで操作できる要素(Slider,Locator,Checkbox,PopupMenu等)しか使えません.
非数値の入力フィールドはサポートされていません.InputField[x, String]とInputField[x, Boxes]は使わないでください.InputField[x, Expression]とInputField[x]は数値でのみ動作します.InputField[x, Number]は通常通りに動作します.
ダイアログウィンドウはサポートされていません.InputとInputStringは使わないようにしてください.
データのインポートとエキスポート
CDF Player 内からのデータのインポートとエキスポートはサポートされていませんが,Wolframの厳密に管理されたデータソース(ChemicalData,CountryData,WordData等)は使えます.データはオーサリング中にアプリケーションにプリロードすることができます(以下をご参照ください).Import,ImportString,ExportString,ReadList,OpenRead,OpenWrite,OpenSQLConnection等のコマンドは使わないでください.CDF Player はランタイムにデータをロードすることができないので,必要な情報はすべて必ずインタラクティブ要素に埋め込んでおかなければなりません.埋込みには2つの基本的な方法があります.
- Initialization:下の例のように,Initializationオプションを使うとManipulateコマンドの中にコードの小さいブロックとデータを入れることができます.
Manipulate[myfunction[mydata,n],{n,0,1}, Initialization:>(myfunction[dat_,n_]:=...;mydata={...})]; - SaveDefinitions:コードの大きいブロック,パッケージ,大きいデータファイルの場合は,以下の例のようにManipulateを作成する前にそれらを定義し,SaveDefinitionsオプションを使ってManipulateの中にその状態を保存した方が便利です.
<<MyPackage`
mydata=Import[...];
Manipulate[myfunction[data,n],{n,0,1},SaveDefinitions->True];
MathLink の操作
.NET/Link を含む MathLink の操作はサポートされていません.Install,LinkConnect,LinkOpen,Links等のコマンドを使うことは避けてください.この他,gridMathematica 等,リモートの Mathematica カーネルとの接続も使えません.
代替のフロントエンド
Java,C/C++,.NETで書くことのできるフロントエンド等,カーネルの代替のフロントエンドはサポートされていません.
* Wolfram Player Pro は無料のWolfram CDF Player を拡張したもので,データのインポートやテキスト入力等,より高いレベルのアプリケーションコンテンツを提供します.詳細はこちらまでお問い合せになるか,機能の比較表をご覧ください.





![[en]](/common/images2003/lang_bottom_en.gif)
![[es]](/common/images2003/lang_bottom_es.gif)
![[pt-br]](/common/images2003/lang_bottom_pt-br.gif)
![[zh]](/common/images2003/lang_bottom_zh.gif)
![[ru]](/common/images2003/lang_bottom_ru.gif)
![[ko]](/common/images2003/lang_bottom_ko.gif)