关于 Mathematica 编程的详细信息
Wolfram CDF Player 提供一个部署引擎,利用 Mathematica 动态界面功能创建用户界面驱动的应用程序。几乎所有在 Mathematica 中可用的编程和计算函数均可用于建立 CDF Player 的应用程序。但须注意的是,在保存为 FreeCDF* 时,有几个应用程序编程方面的限制。
控件与输入
所有互动内容必须通过 Manipulate 指令生成,只能使用鼠标驱动的控件(Slider、Locator、Checkbox、PopupMenu,等等)。
不支持非数值输入域。要避免使用 InputField[x, String] 和 InputField[x, Boxes]。InputField[x, Expression] 和 InputField[x] 仅限于数值,可以使用 InputField[x, Number]。
不支持对话窗口。要避免使用 Input 或 InputString。
数据导入与导出
除 Wolfram 精选的专业数据源(如 ChemicalData、CountryData、WordData)以外,CDF Player 内部不支持数据的导入与导出。注意:数据可在创作过程中预先加载到您的应用程序中(参见以下说明)。避免使用诸如 Import、ImportString、ExportString、ReadList、OpenRead、OpenWrite 和 OpenSQLConnection 等指令。由于 CDF Player 无法在运行时加载数据,您必须确保所有必要的信息已嵌入到互动元素中。嵌入的基本方法有两种:
- 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 等指令。这包括链向远程 Mathematica 内核的链接,如 gridMathematica。
替代前端
不支持内核替代前端,如可以在 Java、C/C++ 或 .NET 中编写的前端。
* Wolfram Player Pro 在免费的 Wolfram CDF Player 基础上进一步扩展,提供高级应用程序内容,比如数据导入和文本输入。请联系我们或者查看功能对比表以获取详细信息。





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