支持库名称及版本:特殊功能支持库 (3.1#0版)
所支持语言:中文(大陆)
本支持库提供部分相对特殊的命令,供易语言高级用户使用。
本库为一般支持库,需要易系统3.8版本的支持,需要系统核心支持库3.0版本的支持,提供了16种命令。
操作系统需求: Windows、Linux
支持库文件名: D:\易语言\5.95\lib\spec.fne
----- 支持库的作者信息 -----
作者姓名:大连大有吴涛易语言软件开发有限公司
邮政编码:116001
通信地址:辽宁省大连市中山区人民路55号亚太国际金融中心
电话号码:+86(0411)39895831
QQ号码:+86(0411)39895834
电子信箱:service@dywt.com.cn
主页地址:http://www.eyuyan.com
其它信息:祝您一帆风顺,心想事成!
--- 命令类别: 其他 ---
调用格式: 〈整数型〉 取变量地址 (通用型变量/变量数组 欲获取其地址的变量) - 特殊功能支持库->其他
英文名称:GetVarAddress
返回指定变量的内存地址(在内联汇编代码中可以在执行本命令后立即检查EAX寄存器获得),如欲修改该地址处内容(尤其是文本型、字节集型或复合数据类型变量),请谨慎操作,否则很可能造成内存垃圾或程序崩溃。本命令为高级命令。
参数<1>的名称为“欲获取其地址的变量”,类型为“通用型(all)”,提供参数数据时只能提供变量及变量数组。
操作系统需求: Windows、Linux
调用格式: 〈整数型〉 取子程序地址 (子程序指针 欲获取其地址的子程序) - 特殊功能支持库->其他
英文名称:GetSubAddress
返回指定子程序的内存代码地址(在内联汇编代码中可以在执行本命令后立即检查EAX寄存器获得)。本命令为高级命令。
参数<1>的名称为“欲获取其地址的子程序”,类型为“子程序指针(SubPtr)”。
操作系统需求: Windows、Linux
调用格式: 〈整数型〉 取变量数据地址 (通用型变量/变量数组 变量) - 特殊功能支持库->其他
英文名称:GetVarDataAddr
取指定变量中数据的内存地址。返回值为0表示没有取到变量地址。对文本型或字节集型变量而言,如果其长度为0,将返回0;对数组变量而言,如果其成员数为0,也将返回0。对于文本型或字节集型变量,返回值为文本数据或字节集数据的地址。其它情况下,本命令与“取变量地址”具有相同的返回值。注意:一旦变量超出其作用域范围,或文本型/字节集型变量被重新赋值,或数组变量被重新赋值,先前取到的变量地址将变成无效地址,再对该地址进行读写操作很有可能导致程序崩溃。本命令为高级命令。
参数<1>的名称为“变量”,类型为“通用型(all)”,提供参数数据时只能提供变量及变量数组。
操作系统需求: Windows、Linux
调用格式: 〈整数型〉 申请内存 (整数型 欲申请的内存字节数,[逻辑型 是否清零]) - 特殊功能支持库->其他
英文名称:AllocMem
向易语言运行时系统申请指定大小的内存区域。执行成功返回申请到的内存首地址,失败返回0。由本命令申请的内存必须通过“释放内存”命令释放。本命令为高级命令。
参数<1>的名称为“欲申请的内存字节数”,类型为“整数型(int)”。
参数<2>的名称为“是否清零”,类型为“逻辑型(bool)”,可以被省略。如果本参数为“真”,则将申请到的内存区域全部以0填充。如果省略本参数,默认为“假”。
操作系统需求: Windows、Linux
调用格式: 〈无返回值〉 释放内存 (整数型 欲释放的内存地址) - 特殊功能支持库->其他
英文名称:FreeMem
释放由“申请内存”所获取的内存区域。内存区域被释放后,不允许再进行读写操作。本命令为高级命令。
参数<1>的名称为“欲释放的内存地址”,类型为“整数型(int)”。本参数应当是“申请内存”命令的返回值。
操作系统需求: Windows、Linux
--- 命令类别: 程序调试 ---
调用格式: 〈无返回值〉 调试输出 ([通用型数组/非数组 欲输出值],... ) - 特殊功能支持库->程序调试
英文名称:Trace
本命令仅在易程序的调试版本中被执行,在发布版本中将被直接跳过。
类似于易语言核心库中的“输出调试文本()”命令,向输出面板输出一行调试文本。本命令可接受任意多个通用型(任意基本类型)参数及数组。与“输出调试文本()”不同,本命令的所有参数数据仅输出为一行文本(各参数之间以“ | ”间隔)——既保持了数据相关性,又有效利用了输出面板的横向宽度。另外,本命令对各种数据的输出格式都颇为友好:如字节集被输出为形如“字节集:n{101,121,117,121,97,110,...}”,其中n为字节集长度,{}之间为字节集数据;如数组被输出为形如“数组:m,n{...}”,其中“m,n”表示该数组为m行n列,{}之间为数组数据。本命令为初级命令。命令参数表中最后一个参数可以被重复添加。
参数<1>的名称为“欲输出值”,类型为“通用型(all)”,可以被省略,提供参数数据时可以同时提供数组或非数组数据。对于非“文本型”参数,将自动转换为文本。本参数可接受任意基本类型,但不接受数组以及自定义数据类型。
操作系统需求: Windows、Linux
调用格式: 〈无返回值〉 验证 ([通用型数组/非数组 欲检查值],... ) - 特殊功能支持库->程序调试
英文名称:Verify
类似于易语言核心库中的“检查()”命令,本命令在调试版中验证参数值(或其计算结果)是否为“零值”,如果是“零值”则易程序的执行将被暂停且警示(相当于设置了条件断点)。与“检查()”命令不同的是,本命令在运行版中仅仅忽略“检查”这个步骤,但不会放弃执行参数语句(这在参数为命令/方法调用或子语句的情况下尤为重要);此外,本命令可以检查任意基本类型的参数,且可以同时检查多个参数。如果提供了多个参数,所有的参数都会被验证,但只要出现一个“零值”,程序就会被暂停且警示。“零值”定义:字节型/短整数型/整数型/长整数型值等于0,小数型/双精度小数型绝对值小于0.00001,逻辑型值为“假”,文本型/字节集型数据长度等于0,数组成员数等于0,日期时间值为“1899/12/30 00:00:00”,子程序指针的执行地址为0。注:目前暂不支持“子语句类型”的参数。本命令为初级命令。命令参数表中最后一个参数可以被重复添加。
参数<1>的名称为“欲检查值”,类型为“通用型(all)”,可以被省略,提供参数数据时可以同时提供数组或非数组数据。可以为普通数值、变量、命令/方法调用、子语句等。如果本参数为命令/方法调用或子语句,总是会被执行,即使在非调试版本中。
操作系统需求: Windows、Linux
--- 命令类别: 附加 ---
调用格式: 〈逻辑型〉 调用子程序 (通用型 子程序指针或子程序地址,[通用型 保留参数],[通用型变量 返回值],[通用型 参数],... ) - 特殊功能支持库->附加
英文名称:CallFunction
以stdcall方式(即WINAPI或Pascal)调用指定的子程序(子程序指针,或子程序地址)并取回被调用子程序的返回值,支持任意多个参数,参数支持除字节集之外的其它所有基本数据类型。调用子程序之前,您需要明确地知道它的参数类型和参数个数,以及返回值类型。本命令返回“真”仅表示调用过程中没有出异常情况,并不表示被调用的子程序执行成功。本命令为高级命令。命令参数表中最后一个参数可以被重复添加。
参数<1>的名称为“子程序指针或子程序地址”,类型为“通用型(all)”。提示:在子程序名称前加“&”即可得到该子程序的“子程序指针”,如“&子程序1”就是“子程序1”的子程序指针;子程序地址可通过本库中的“取子程序地址()”命令获取,“到整数(&子程序1)”返回的也是子程序1的执行地址,也可通过Windows系统API函数“GetProcAddress()”获取,或由外部程序传入。
参数<2>的名称为“保留参数”,类型为“通用型(all)”,可以被省略。
参数<3>的名称为“返回值”,类型为“通用型(all)”,可以被省略,提供参数数据时只能提供变量。本参数用于接收子程序被调用后的返回值;如果该子程序没有返回值或不需要接收返回值,请省略本参数。提供本参数时,请务必提供准确的数据类型,否则所得结果可能不正确。
参数<4>的名称为“参数”,类型为“通用型(all)”,可以被省略。本参数值将作为参数传入被调用子程序。如果相应子程序没有参数,请省略本参数;如果相应子程序有多个参数,请重复提供本参数。请务必提供准确的参数类型和参数个数,否则后果不可预知。
操作系统需求: Windows、Linux
调用格式: 〈逻辑型〉 推迟调用子程序 (整数型 推迟时间,通用型 子程序指针或子程序地址,[通用型 保留参数],[通用型变量 返回值],[通用型 参数],... ) - 特殊功能支持库->附加
英文名称:DelayCallFunction
本命令被执行时,在内部启动一个计时器(精度约为100毫秒),然后立刻返回(以便易语言继续执行后面的程序代码),当计时时间到时才调用参数所指定的子程序。如上所述,本命令不会阻塞易语言程序的运行。本命令的第四个参数“返回值”目前不予使用。请注意保证子程序调用时参数依然有效。被推迟调用的子程序是在另外的线程中调用的,请注意保证线程安全。本命令为高级命令。命令参数表中最后一个参数可以被重复添加。
参数<1>的名称为“推迟时间”,类型为“整数型(int)”。单位为毫秒。如果本参数小于或等于0,则子程序将被立刻调用。本参数最大可设置为 2147483647(0x7fffffff) 毫秒(约 596 小时)。
参数<2>的名称为“子程序指针或子程序地址”,类型为“通用型(all)”。提示:在子程序名称前加“&”即可得到该子程序的“子程序指针”,如“&子程序1”就是“子程序1”的子程序指针;子程序地址可通过本库中的“取子程序地址()”命令获取,“到整数(&子程序1)”返回的也是子程序1的执行地址,也可通过Windows系统API函数“GetProcAddress()”获取,或由外部程序传入。
参数<3>的名称为“保留参数”,类型为“通用型(all)”,可以被省略。
参数<4>的名称为“返回值”,类型为“通用型(all)”,可以被省略,提供参数数据时只能提供变量。本参数用于接收子程序被调用后的返回值;如果该子程序没有返回值或不需要接收返回值,请省略本参数。提供本参数时,请务必提供准确的数据类型,否则所得结果可能不正确。
参数<5>的名称为“参数”,类型为“通用型(all)”,可以被省略。本参数值将作为参数传入被调用子程序。如果相应子程序没有参数,请省略本参数;如果相应子程序有多个参数,请重复提供本参数。请务必提供准确的参数类型和参数个数,否则后果不可预知。
操作系统需求: Windows
调用格式: 〈整数型〉 调用易系统功能 (整数型 功能号,[整数型 参数一],[整数型 参数二]) - 特殊功能支持库->附加
英文名称:ESysFunction
具体的功能号及其所对应的参数值和返回值,请参考易语言支持库开发手册。本命令为高级命令。
参数<1>的名称为“功能号”,类型为“整数型(int)”。可以为易语言支持库开发手册中定义的以“NES_”,“NRS_”,“NAS_”开头的常量之一。
参数<2>的名称为“参数一”,类型为“整数型(int)”,可以被省略。如果本参数被省略,默认为0。
参数<3>的名称为“参数二”,类型为“整数型(int)”,可以被省略。如果本参数被省略,默认为0。
操作系统需求: Windows、Linux
调用格式: 〈文本型〉 取文本 (通用型数组/非数组 原始文本,[通用型数组/非数组 参数],... ) - 特殊功能支持库->附加
英文名称:GetText
本命令有多项功能:将任意基本数据类型的参数或数组参数转换为文本;文本中包含引号("、“、”)和换行符等情况下的简捷处理方案;提供类似于C/C++语言中sprintf()的格式化文本功能。
示例:取文本 (“据说,~%s~诞生于%d年秋。”, “易语言”, 2000)
等效于:“据说,” + #左引号 + “易语言” + #右引号 + “诞生于” + 到文本 (2000) + “年秋。”
都将生成文本:“据说,“易语言”诞生于2000年秋。”
但很明显,前者比后者简捷明了很多,且输入代码时更加方便直观。后者因为 #引号、#左引号、#右引号 等常量以及加号(“+”)的使用,导致代码分散且混乱,不易输入和阅读。本命令为高级命令。命令参数表中最后一个参数可以被重复添加。
参数<1>的名称为“原始文本”,类型为“通用型(all)”,提供参数数据时可以同时提供数组或非数组数据。此文本中可包含“半角双引号替换符(初始值为"`")”“全角左引号替换符(初始值为"~")”“全角右引号替换符(初始值为"~")”“文本替换符”。其中“文本替换符”由前缀文本(初始值为"%")和紧接着的下一个半角字符(可为"s","d","f","t","T","n","N"等)组成。当命令执行后,此文本中的这些特殊文本将被替换为相应的文本(如`被替换为",~被分别替换为“和”,%s,%d,%f被替换为参数文本,%t被替换为半角双引号包围的参数文本,%T被替换为全角双引号包围的参数文本),%n被替换为换行符(即易语言中的“#换行符”常量),%N被替换为两个换行符(相当于两个连续的%n)。如果此参数的类型不是“文本型”,则首先将其转换为文本型,再进行如上处理。本命令的返回值,就是经过以上文本替换操作后的结果文本。上述提到的各种替换符或其前缀,可通过“取文本_属性设置”命令自行定义。注意:当“文本替换符”为%n或%N时,它不占用后面的参数值。
参数<2>的名称为“参数”,类型为“通用型(all)”,可以被省略,提供参数数据时可以同时提供数组或非数组数据。此参数值用于替换上一参数中的“文本替换符”,并与之依序一一对应。即,此处的第一个参数用于替换第一个“文本替换符”,第二个参数用于替换第二个“文本替换符”,如此类推,但特殊情况下除外(如%n和%N就不占用此参数)。特别地,如果本参数为数组,则将数组中的每一个成员作为一个逻辑单位与“文本替换符”进行逐一匹配和替换。如果本参数不是文本型,则首先将其(或其成员)转换为文本,然后进行替换操作。
操作系统需求: Windows、Linux
调用格式: 〈逻辑型〉 取文本_属性设置 ([文本型 半角双引号替换符],[文本型 全角左引号替换符],[文本型 全角右引号替换符],[文本型 文本替换符前缀]) - 特殊功能支持库->附加
英文名称:GetText_Set
本命令用于设置“取文本”命令所使用的各项属性值。对于这些属性,系统都有默认的初始值(详见本命令的参数说明),故一般情况下无需调用此命令。所有文本属性值均不允许超过10个字符(或5个汉字),否则将导致设置失败且返回“假”。通过本命令所设置的属性值将一直有效,直至程序结束或下一次调用本命令修改了此修改值。本命令为高级命令。
参数<1>的名称为“半角双引号替换符”,类型为“文本型(text)”,可以被省略。当调用“取文本”命令时,此处指定的参数值将被替换为半角双引号(")。如果本参数被省略,则保持原有替换符不变。系统初始化的半角双引号替换符是“`”(此键位于ESC键下方)。
参数<2>的名称为“全角左引号替换符”,类型为“文本型(text)”,可以被省略。当调用“取文本”命令时,此处指定的参数值将被替换为全角左引号(“)。如果本参数被省略,则保持原有替换符不变。系统初始化的全角左引号替换符是“~”(此键位于ESC键下方,输入时需同时按下Shift)。注意,此参数值不可等同于第一个参数“半角双引号替换符”。
参数<3>的名称为“全角右引号替换符”,类型为“文本型(text)”,可以被省略。当调用“取文本”命令时,此处指定的参数值将被替换为全角右引号(”)。如果本参数被省略,则保持原有替换符不变。系统初始化的全角右引号替换符是“~”(此键位于ESC键下方,输入时需同时按下Shift)。注意,此参数值可以等同于第二个参数“全角左引号替换符”,但不可等同于第一个参数“半角双引号替换符”。
参数<4>的名称为“文本替换符前缀”,类型为“文本型(text)”,可以被省略。当调用“取文本”命令时,完整的文本替换符(由前缀+特定字符组成)将被替换为相应位置处的参数文本(或特定文本)。如果本参数被省略,则保持原有替换符前缀不变。系统初始化的文本替换符前缀是“%”。
操作系统需求: Windows、Linux
调用格式: 〈无返回值〉 取文本_属性读取 ([文本型变量 半角双引号替换符],[文本型变量 全角左引号替换符],[文本型变量 全角右引号替换符],[文本型变量 文本替换符前缀]) - 特殊功能支持库->附加
英文名称:GetText_Get
本命令用于获取“取文本”命令所使用的各项属性设置,结果将存入相应的参数变量中。本命令为高级命令。
参数<1>的名称为“半角双引号替换符”,类型为“文本型(text)”,可以被省略,提供参数数据时只能提供变量。
参数<2>的名称为“全角左引号替换符”,类型为“文本型(text)”,可以被省略,提供参数数据时只能提供变量。
参数<3>的名称为“全角右引号替换符”,类型为“文本型(text)”,可以被省略,提供参数数据时只能提供变量。
参数<4>的名称为“文本替换符前缀”,类型为“文本型(text)”,可以被省略,提供参数数据时只能提供变量。
操作系统需求: Windows、Linux
调用格式: 〈逻辑型〉 推迟调用子程序_高精度计时 (整数型 推迟时间,通用型 子程序指针或子程序地址,[通用型 保留参数],[通用型变量 返回值],[通用型 参数],... ) - 特殊功能支持库->附加
英文名称:DelayCallFunction_precisely
本命令被执行时,在内部启动一个计时器(精度小于1毫秒),然后立刻返回(以便易语言继续执行后面的程序代码),当计时时间到时才调用参数所指定的子程序。如上所述,本命令不会阻塞易语言程序的运行。本命令的第四个参数“返回值”目前不予使用。请注意保证子程序调用时参数依然有效。被推迟调用的子程序是在另外的线程中调用的,请注意保证线程安全。相对于“推迟调用子程序”,本命令只是计时精确度更高(同时更耗费CPU),其他功能相同。本命令为高级命令。命令参数表中最后一个参数可以被重复添加。
参数<1>的名称为“推迟时间”,类型为“整数型(int)”。单位为毫秒。如果本参数小于或等于0,则子程序将被立刻调用。本参数最大可设置为 2147483647(0x7fffffff) 毫秒(约 596 小时)。
参数<2>的名称为“子程序指针或子程序地址”,类型为“通用型(all)”。提示:在子程序名称前加“&”即可得到该子程序的“子程序指针”,如“&子程序1”就是“子程序1”的子程序指针;子程序地址可通过本库中的“取子程序地址()”命令获取,“到整数(&子程序1)”返回的也是子程序1的执行地址,也可通过Windows系统API函数“GetProcAddress()”获取,或由外部程序传入。
参数<3>的名称为“保留参数”,类型为“通用型(all)”,可以被省略。
参数<4>的名称为“返回值”,类型为“通用型(all)”,可以被省略,提供参数数据时只能提供变量。本参数用于接收子程序被调用后的返回值;如果该子程序没有返回值或不需要接收返回值,请省略本参数。提供本参数时,请务必提供准确的数据类型,否则所得结果可能不正确。
参数<5>的名称为“参数”,类型为“通用型(all)”,可以被省略。本参数值将作为参数传入被调用子程序。如果相应子程序没有参数,请省略本参数;如果相应子程序有多个参数,请重复提供本参数。请务必提供准确的参数类型和参数个数,否则后果不可预知。
操作系统需求: Windows
--- 命令类别: 系统处理 ---
调用格式: 〈无返回值〉 延迟 (整数型 等待时间) - 特殊功能支持库->系统处理
英文名称:Delay
延迟一段时间,然后继续执行后面的程序代码。与易语言核心支持库中的“延时()”命令不同的是,本命令在等待期间允许用户进行其它操作(如点击按钮等)。本命令为初级命令。
参数<1>的名称为“等待时间”,类型为“整数型(int)”。单位为毫秒。提示:1000毫秒等于1秒。
操作系统需求: Windows