取消执行某些事件
取消执行某些事件，用于某些"Before..."事件. 以分页为例，如果你在 BeforePager 事件中执行了本函数，下一真正步的分页处理将被取消.
将XML串转换成JSon

XML串

可选，可以是串"Recordset"，表示待转换的XML是平面结果集数据，转换后的JSON串是类似这种更简洁的格式：<br> 　　{"id":"k203", price:"2230.12", "dept":"fin01"}<br> 如果XML是多条记录，则JSON是数组：<br> 　　[<br> 　　　{"id":"k203", price:"2230.12", "dept":"fin01"},<br> 　　　{"id":"s508", price:"33.00", "dept":"fin02"}<br> 　　]

JSON串(注：如果参数1不是XML，则直接返回该参数)
请参见Treelist的 29.查询条件(一)、30.查询条件(二)
设置多行编辑是否直接以回车换行
在默认情况下，多行编辑(MultiLineEdit)是以Ctrl+Enter实现换行的。如果设为true，则直接回车就实现换行.

true/false, 默认false

该函数是全局函数，一旦执行，进程内的多行编辑都将生效
取得多行编辑是否直接以回车换行
1/0
在当前鼠标位置直接弹出一个自定义菜单

菜单的XML/JSON/TXT串，其格式请参考Treelist的帮助文档“8.自定义菜单”.

对应id号，0表示未选择，空串表示参数有误
var s = "id=4001; text=男帽; icon=treelist/buttons.zip#301.ico; detail=夏季时装\r\n";<br> s += "id=4002; text=时髦头巾; icon=treelist/buttons.zip#302.ico; detail=优惠直销";<br> alert( AF.func("menu", s));
使控件呈现被遮罩的半透明效果
使控件呈现被遮罩的半透明效果，用于实现网页模式对话框，可参考Treelist的演示页

是否遮罩, true - 遮罩,控件被Disable并呈半透明的灰色; false - 解除遮罩

可选，灰度, 0-255，默认200, 数值越大越明亮

请参见树列表的演示页: 34.遮罩效果
清理某个Treelist/freeform的图片缓存
清理某个Treelist/freeform的图片缓存，以便在下次Build或Load时能及时刷新图片

Treelist或Freeform的句柄

句柄是通过GetHandle( )函数获取的
将串存入本地缓存
将串存入本地缓存，缓存的内容在<font color=red>全局有效、且和页面无关(即所有页面均能访问到)</font>

ID, 可以是任意串

内容串，如果是空串，则表示从缓存中移除该ID的内容

可选，格式为Persist=[?];TimeOut=[?D/H/M/S], 其中Persist用于指定保存到何处，格式如下：<br> 1.Persist = <b>Memory</b>, 默认，表示将内容缓存于内存中，当浏览器进程关闭后内容将遗失.<br> 2.Persist = <b>File</b>, 将内容保存在本地文件(在BC目录下的 cache.data 文件).<br> TimeOut表示如果超过一段时间无访问，将自动删除该缓存，格式如下：<br> TimeOut = <b>?D/?H/?M/?S</b> - 时间间隔，n天/n小时/n分钟/n秒(D/H/M/S分别表示天数、小时、分钟、秒).

AF.func("SaveCache", "My.Key1 \r\n MyContent1"); //保存到内存<br> AF.func("SaveCache", "My.Key1 \r\n MyContent1 \r\n Persist=File"); //保存到文件，永久有效<br> AF.func("SaveCache", "My.Key1 \r\n MyContent1 \r\n TimeOut=3M"); //保存到内存，有效期为3分钟<br> AF.func("SaveCache", "My.Key1"); //清除ID为 "My.Key1" 的缓存<br>
请参见树列表的演示页:30.查询条件(二)
读取缓存内容

ID, 注：ID是大小写敏感的

内容串
请参见树列表的演示页:30.查询条件(二)
取得所有缓存内容的ID号
ID串，以逗号分隔
本地缓存目录实用程序

格式为 Dir=[?]; isCreateTempFile=[?]; Ext=[?]; KeepMB=[?]; DeleteEarlierFile=[?]，含义如下:<br> 　<b>Dir</b> - 本地用于缓存的目录名，如果为空，则表示 BC 目录下的 Temp 目录 (服务器版则指向后端的临时目录);<br> 　<b>isCreateTempFile</b> - true/false, true 表示在目录中创建一个唯一的文件, 并返回文件名;<br> 　　　<b>Ext</b> - 该文件的后缀, 默认是"tmp";<br> 　<b>DeleteEarlierFile</b> - 删除该目录下 n 小时(或分)前的文件, h/m分别表示时/分, 例如 DeleteEarlierFile=3h 表示删除3个小时前的文件; 如果为空，表示不执行该功能;<br> 　<b>KeepMB</b> - 数字，单位是兆比, 删除该目录下最早的文件, 使文件总尺寸不超过 n 兆比; 如果为空，表示不执行该功能;<br>

如果 isCreateTempFile 为true, 则返回全文件名
"@"开头的文件是不会被删除的，也不计入KeepMB的尺寸
取得当前语言
936 - 中文简体，1252 - 英文，950 - 中文繁体
切换语言

936 - 中文简体，1252 - 英文，950 - 中文繁体

请参见报表的演示页: 12.多语言(简繁英)
取得组件名
组件名，如treelist、freeform
某组件是否已经下载

组件bin包名，如BCV1、LuxForm

true/false
取得句柄的类型

句柄

句柄是通过GetHandle( )函数获取的
串，可能为treelist、list、freeform、worksheet、validation、dom或空串
取得网卡Mac地址
串(如："1c-6f-65-d6-b8-d1")
取得本机IP地址
串(如："192.168.1.1")
取得客户端的计算机名
串
取得本地已安装的所有打印机名
以逗号分隔的打印机名，其中的第一个是默认打印机
取得某打印机所支持的所有打印纸号

打印机名

以逗号分隔的打印纸号，各种打印纸号所对应的打印纸名称及尺寸请参见“附录4:打印纸对照表”
通过Post简单上传一个本地文件

Http的URL， 可以是绝对或相对URL, 如果是相对URL，是相对于页面URL的

本地全文件名

0 - 表示有错误; 否则返回服务器返回的串
发起的Request中, Http Body 将是该文件的二进制内容
文件下载

URL，支持Http、Ftp

可选，格式为 isOpenDialog=[true/false]; isEcho=[true/false]; toDir=[?]; toFile=[?]; toString=[?]; Ext=[?]; uid=[?]; pwd=[?], 含义为：<br> 　<b>isOpenDialog</b> - 是否打开选择本地文件或目录的对话框，有如下可选项, 默认是true:;<br> 　　　　<b>true(或file)</b> - 打开文件选择对话框;<br> 　　　　<b>dir</b> - 打开目录选择对话框;<br> 　　　　<b>false</b> - 不打开对话框;<br> 　　　　备注：如果选择“dir”，那么必须指定“toFile”文件名参数，文件名可以是不含路径的纯文件名;<br> 　<b>Ext</b> - 在对话框中允许选择的文件后缀，若有多个后缀则以逗号分隔，仅用于 isOpenDialog=true 时;<br> 　<b>toDir</b> - 指定本地目录(绝对路径)，如果路径不存在能自动创建，默认是空;<br> 　<b>toFile</b> - 指定本地文件(如果isOpenDialog=dir, 可以是不含路径的文件名，否则必须是绝对路径)，如果路径不存在能自动创建，默认是空，如果设定了toFile，通常就不需要设定toDir;<br> 　<b>uid</b> - 登录的用户名;<br> 　<b>pwd</b> - 用户口令;<br> 　<b>zip</b> - Expand / ExpandAndDelete / 空串。Expand表示如果下载的文件是用Zip压缩的，则完成下载后自动解压; ExpandAndDelete表示解压后删除zip文件; 为空表示不做解压处理。默认是空串;<br> 　<b>toString 或 isToString</b> - true/false，默认是false。当为 true 时，表示 http(或ftp) 返回的内容肯定是字符串，并将直接返回该串，而不再将内容保存到文件。此时不需要设定isOpenDialog、toDir、toFile等文件参数了。请参见下面的示例.<br> 　<b>isEcho</b> - 下载后是否浮现一个提示，失败则浮现错误信息，默认是true;<br> 　<b>mode</b> - synch/asynch, 同步/异步下载，默认是同步;<br> 　<b>isShowProgress</b> - true/false, 是否显示进度条，仅用于异步，默认是false;<br> 　<b>cover</b> - 当本地有同名文件时， overwrite/rename/nocover - 直接覆盖/文件自动改名/不覆盖, 仅用于isOpenDialog=false时, 默认是overwrite;<br> 　<b>offset</b> - 数字，单位为字节，本地文件开始写入的偏移，常用于断点续传;<br>

返回的是本地全文件名，如果是空串则表示失败、或者对话框中选择了“取消”;<br> 如果 isToString=true，则返回的是内容串;<br> 如果是zip解压的，则返回zip包中第一个文件在该目录的全文件名;<br> 如果 mode=asynch(异步下载)，返回的是一个纯数字的任务ID号，用于 Download 事件，如果是空串表示对话框中选择了“取消”。
//下载一个mp3文件，下载前会打开目的文件对话框<br> AF.func("download", "ftp://192.168.1.2:21/mymusic.mp3");<br> //下载到指定文件，但仍会打开目的文件对话框<br> AF.func("download", "http://localhost/hlp.htm \r\n toFile=d:\\my.htm; ext=htm,html,txt");<br> //直接取得文本串<br> var xml = AF.func("download", "http://localhost/text.xml \r\n toString=true");<br>
如果是异步下载，在下载结束时将触发 Download 事件，并且在下载过程中会以1秒左右的间隔不停地发送 Download 事件，报告当前的下载进度、网速，详细请参见组件的"Download"事件文档.
中断文件下载，仅用于异步下载

ID号，即 Download 函数的返回值

为 DeleteFile / KeepFile。DeleteFile - 删除已下载到本地的这个不完整的文件; KeepFile - 保留这个文件。默认是DeleteFile。

如果参数2为 DeleteFile , 则返回空串；如果参数2为 KeepFile，则返回本地文件名、文件总长度、已下载的文件长度，3者之间以回车符分隔
Post一个自定义消息
以Post方式发送一个消息，相当于在消息队列的末尾添加，在页面的OnEvent( )事件中将能收到一个名为 "UserEvent" 的消息。

格式为 p1=?;p2=?p3=?p4=?, 也允许忽略

例如：<br> function OnEvent(id, Event, p1, p2, p3, p4)<br> {<br> 　if(Event == 'LooseFocus') {<br> 　　if(p1=='0' && p2=='price')<br> 　　　AF.func('PostMessage', 'p1=kk');<br> 　}<br> 　else if(Event == "UserEvent" && p1=="kk") {<br> 　　AF.func("SelectCell", "0 \r\n price");<br> 　}<br> }
本地文件操作

操作串，可以为:<br> 　<b>isExists</b> - 文件是否存在, 返回1/0;<br> 　<b>GetByte</b> 或 <b>GetBytes</b> - 返回文件长度(单位: 字节);<br> 　<b>GetKB</b> - 返回文件长度(单位: KB);<br> 　<b>GetMB</b> - 返回文件长度(单位: MB);<br> 　<b>GetCTime</b> - 返回文件创建日期;<br> 　<b>GetMTime</b> - 返回文件最后修改日期;<br> 　<b>delete</b> - 删除文件， 返回1/0;<br> 　<b>GetFilenames / GetPathnames</b> - 取得某个子目录下的某些文件名/含路径的全文件名;<br>

如果参数1是GetFilenames / GetPathnames, 本参数是路径的通配符，比如 "d:\docs\*.jpg" ;<br> 否则, 应该是全文件名<br>

根据参数1而定， 如果参数1是GetFilenames / GetPathnames, 返回的是以回车分隔的文件名/全文件名
//返回回车分隔的文件名<br> var s = AF.func("FileUtility", "GetPathnames \r\n d:\\docs\\*.jpg");
打开文件或目录选择对话框

操作串，可以为:<br> 　<b>isDir</b> - true/fale - 目录选择对话框 / 文件选择对话框，默认是 false;<br> 如果 isDir = true, 还可以有如下选项<br> 　<b>Title</b> - 自定义对话框的标题;<br> 　<b>Dir</b> - 初始选择、展开的目录;<br> 　<b>Root</b> - 目录树的根节点, 可以是 "Desktop" 或 "Driver", 默认是 "Desktop" ;<br> 如果 isDir = false, 则可以有如下选项:<br> 　<b>isOpen</b> - 用途， true/false - 用于打开/用于保存, 默认是true;<br> 　<b>FileType</b> - 能打开的文件类型(后缀)，多种类型之间以逗号分隔， 例如串 "jpg,bmp,*"， 默认是 "*";<br> 　<b>FileName</b> - 初始选择的文件名;<br>

全文件名
var s = AF.func("OpenFileDialog", "isDir=true; Title=请选择目录:");
取得某个字符编码所对应的文字

字符的ASC码，如果是中文，则为utf-16的宝马

例如：<br> var chr = AF.func("GetChar", "20013"); //返回“中”<br> var chr = AF.func("GetChar", "97"); //返回“a”<br>
取得当前屏幕截图

可选的串，格式为return=[?]; range=[?]; type=[?];precision=[?];isgray=[?];blackwhit=[?];threshold=[?], 其含义如下：<br> 　<b>return</b> - base64/filename, 返回 Base64大串/返回文件名，默认是Base64;<br> 　<b>range</b> - browser/screen/control, 仅截取浏览器界面/截取整个屏幕/仅截取当前控件部分，默认是browser;<br> 　<b>type</b> - jpg/gif/bmp/png/tif, 图片格式，默认是jpg;<br> 　<b>precision</b> - 0到100的数值，仅用于jpg, 含义为jpg的清晰度，数字越大越清晰，默认是75;<br> 　<b>isGray</b> - true/false, 灰度/彩色，默认是false;<br> 　<b>BlackWhite</b> - true/false, 黑白/彩色，默认是false;<br> 　<b>threshold</b> - 1到100之间, 仅用于黑白，数字越小图像越白，默认是70;<br>

根据参数，返回文件名或Base64串
var chr = AF.func("screenshot", "return=base64;isgray=true;precision=60");
使用本地操作系统的关联的应用程序, 打开本地的某个文件

全文件名

1/0 - 成功/失败
如下 5 种后缀的文件是无法打开的： exe、bat、com、msi、reg
AF.func("ShellExecute", "d:\\photo.jpg");