易语言开发手册

上传人:z**** 文档编号:115338165 上传时间:2022-07-01 格式:DOC 页数:13 大小:568.50KB
收藏 版权申诉 举报 下载
易语言开发手册_第1页
第1页 / 共13页
易语言开发手册_第2页
第2页 / 共13页
易语言开发手册_第3页
第3页 / 共13页
资源描述:

《易语言开发手册》由会员分享,可在线阅读,更多相关《易语言开发手册(13页珍藏版)》请在装配图网上搜索。

1、易语言开发手册作者:佚名 来源:本站整理 发布时间:2010-04-20 01:49:17易语言的命名约定在易语言应用程序的编写过程中,用户涉及到定义各类名称,女如子程序名、 变量名、数据类型名等等,这些名称的命名规则为:名称的首字母必须为全半角 字母或汉字,其它字符必须为全半角字母、全半角数字或者汉字。虽然名称中允 许半角字符“_”存在,但它被保留为系统专用,因此不要使用。与其它的编程语 言相比,易语言的命名规则有以下特点:无长度限制,用户可以尽情地使用长名称来进行名称描述;永远不会与易语言的关键字产生冲突。譬如:现已存在“如果”命令,但 用户仍然可以定义一个名称为“如果”的变量,两者之间不

2、会产生任何冲突。程序的启动方式每个易语言应用程序都可以在两种启动方式中选择一种,即:通过名称为“启动窗口”的窗口启动;通过名称为“启动子程序”的子程序启动。系统安装后默认为第一种启动方式,用户可以使用“程序”-“系统配置- 通常夹-程序启动方式”菜单功能进行更改。在第一种启动方式下,程序运行时系统将自动查找并载入名称为“启动窗 口”的窗口。在第二种启动方式下系统将自动执行名称为“ _启动子程序”的子程 序。如图:易语言的语言要素所有的易应用程序,都由下列语言要素或其中的一部分组成:一、数据类型数据类型分为系统基本数据类型、库定义数据类型、用户自定义数据类型三 类。系统基本数据类型列表及其说明如

3、下:1. 字节型。可容纳0到255之间的数值。2. 短整数型。可容纳-32,768到32,767之间的数值,尺寸为2 个字节。3. 整数型。可容纳-2,147,483,648 至U 2,147,483,647 之间的 数值,尺寸为4个字节。可容纳-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807之间的数值,尺寸为8个字节。可容纳3.4E +/- 38 (7位小数)之间的数值,尺寸为4个字节。可容纳1.7E +/- 308 (15位小数)之间的数值,尺寸为8个字 节。值只可能为“真”或“假”,尺寸为2个字节。“真”和“假”为系统预定 义常

4、量,其对应的英文常量名称为“true ”和“false ”。8. 日期时间型。用作记录日期及时间,尺寸为8个字节。9. 文本型。用作记录一段文本,文本由以字节0结束的一系列字符 组成。10. 字节集。用作记录一段字节型数据。字节集与字节数组之间 可以互相转换,在程序中允许使用字节数组的地方也可以使用字节 集,或者相反。字节数组的使用方法,譬如用中括号对(“”)加 索引数值引用字节成员,使用数组型数值数据进行赋值等等,都可 以被字节集所使用。两者之间唯一的不同是字节集可以变长,因此 可把字节集看作可变长的字节数组。11. 子程序指针。用作指向一个子程序,尺寸为4个字节。图:在以上的基本数据类型中

5、,字节型、短整数型、整数型、长整数型、小数型、 双精度小数型被统称为“数值型”,它们之间可以任意转换。不过编程需要注意转 换可能带来的精度丢失。譬如:将整数257转换为字节后的结果为1,这是因为值257超出了字节型数据的最大上限255,从而产生了溢出。另外,通用型数据类型仅在系统内部使用,它能够匹配所有的系统基本数据 类型、库定义数据类型、自定义数据类型。库定义数据类型:库定义数据类型由运行支持库提供,用户在程序中可以直接使用,就如同是 系统基本数据类型一样。自定义数据类型:用户可以随时在程序中自行定义新的数据类型。自定义数据类型时需要设置 数据类型的名称及其成员。数据类型成员各属性的设置方法

6、等同于变量设置设置方 法。引用库定义或自定义数据类型对象的成员:数据类型成员等同于对象的属性,必须通过具有该数据类型的对象来引用。 引用方法参见编程基础知识中的引用对象的属性及方法节。二、命令及操作符命令由运行支持库提供给用户在程序中使用,它们被分为很多类。有些命令 的最后一个参数可以被扩展,譬如“相加”,它的“加数”参数可以被无限制地扩展, 用作支持连续相加。这些命令在录入到程序中后在编辑窗口内其首部会显示出一 个右双箭头作为标志。命令中的某些参数也有可能可以被省略,即调用时可以不 提供参数数据。具体情况请参阅支持库手册。下面列出所有具有操作符的命令及其操作符运算优先级,值越小运算优先级 越

7、高。优先级高的命令在计算表达式时将被先执行,同优先级的命令按顺序执行:命令名称优先级中文操作符号英文操作符号负1-相乘2X*相除2/整除3求余数4%或 Mod相加5+相减5-不等于6v或!=等于6=或=小于6Vv大于6小于等于6 =近似等于6?=并且7且And 或 &或者8或Or或 |赋值9=三、将程序分割成较小的逻辑组件就可以简化程序设计任务,这些逻辑组件被称 为子程序。子程序可用于压缩重复任务或共享任务,例如,压缩频繁的计算处图:用子程序编程有两大好处:子程序可使程序划分成离散的逻辑组件,每个组件都比无子程序的 整个程序容易调试及理解; 一个应用程序中的子程序,往往不必修改或只需稍作改动,

8、便可以 成为另一个程序的子程序。每次调用子程序时,子程序中的所有语句都将被从第一条开始顺序执行,当 执行到子程序尾部或者遇到“返回”命令时即返回到调用此子程序语句的下一条 语句处。子程序可以接收参数数据和返回值。参数数据由调用子程序的语句传递过 来,子程序的返回值被返回到调用子程序的语句处。子程序如需要返回值,必须先在子程序定义表的“返回值类型”栏中定义欲返 回值的数据类型,然后在子程序中使用“返回”命令返回相应格式的数据。子程序如需要接收参数数据,必须先在子程序定义表中参数表部分定义与欲 接收数据数目相同的参数。调用子程序时所传递过来的数据将被顺序地填入对应 的参数中。如果所传递过来的数据与

9、对应位置处的参数数据类型不一致,在可以 互相转换时,系统将自动进行转换,否则会产生运行时错误。参数仅能在子程序 内部使用。定义子程序参数时需要定义以下几项主要属性:参数名。定义该参数在子程序中的使用名称。参数可以如同变量一样使用;类型。所定义的数据类型应该与欲接收数据的数据类型相同或者能 够互相转换;参考。设置系统为当前子程序参数传递数据时是否为传递指向数据 的指针。如果所传递过来的参数数据为数组、用户定义数据类型、 库定义数据类型、字节集型、文本型数据,则无论此属性是否为真, 都将传递指针。如果所传递过来数据的类型与相应位置处参数的数 据类型不一致但可以相互转换,譬如将“整数型”数据传递到“

10、小数 型”的参数中,则在数据被实际传递前,系统将首先自动将“整数型” 数据转换为“小数型”数据,然后再进行传递。因此在这种情况下, 即使本属性为真,系统也无法传递指向原参数数据的指针,只能传 递数据本身。如果系统将数据指针成功地传递过来,那么在子程序 中对此参数的内容的更改将会相应地反映到调用子程序时所提供 的参数数据上。可空。如果本属性为真,那么在调用本子程序时,调用方可以不为 此位置处的参数传递数据。主要用作支持具有默认值的参数,也可 以在为子程序添加了新参数后又不想去更改以前调用此子程序的 语句时使用。在子程序中可以使用“是否为空”命令来查询调用方是 否提供了参数数据。数组。设置当前子程

11、序参数是否为接收数组数据。如果本属性为真, 则调用方应该为本参数传递数组数据,否则只能传递非数组数据。四、Dll命令在易应用程序中可以直接调用系统外部动态连接库(即Dll库)中的命令。 在调用前,必须首先进行定义,定义Dll命令涉及到以下主要属性: Dll命令名。定义该Dll命令在易程序中的使用名称;返回值类型。定义Dll命令返回值的数据类型,只能为无、字节、 短整数、整数、逻辑及文本型; Dll库文件名。定义当前Dll命令所在动态连接库的文件名。如果不指定库文件名,系统将默认在Kernel32.dll、Gdi32.dll、 User32.dll、 Mpr.dll、 Advapi32.dll

12、等 Windows 系统的基本 应用程序界面函数(API)库中搜寻指定命令; Dll命令在Dll库中的对应命令名。定义当前Dll命令在其所在动态连接库中的名称,如果不指定,系统将默认等同于Dll命令名;定义Dll命令参数时的主要属性:1. 类型。Dll命令参数所定义的数据类型应该与实际的Dll库命令 一致。可以使用除了文本数组及字节集数组外的任何数据类型,包 括库自定义和用户自定义数据类型。2. 传址。某些实际Dll库命令的参数需要接收数据地址,设置本属 性为真可以确保将参数数据的地址传递过去。如果参数数据的类型 为数组、文本、字节集、用户定义数据类型、库定义数据类型,则 无论此属性是否为真,

13、都将传递数据地址。如果本属性为真且调用 Dll命令时所传递过来数据的类型与相应位置处所定义参数的数 据类型不一致但可以相互转换,则系统先分配一块临时内存空间, 然后进行转换并将转换后的数据存放到该空间,最后将此内存空间 的地址传递到实际的Dll库命令。参见例程sample.e中的相应 部分。3. 数组。意义同上。图:五、程序集程序集顾名思义即子程序的集合,用作将应用程序中的子程序分组归类。在 程序编辑过程中,每个程序集将在单独的编辑窗口内进行编辑。图:程序集名 程序集六、变量在易语言应用程序执行期间,可以使用赋值语句在变量内临时存储数据。变 量有名字(用来引用变量所包含内容的词)和数据类型(确

14、定变量能够存储数据 的种类)。变量有使用范围,在全局变量表内定义的变量被称为“全局变量”(图1),整 个应用程序中的所有子程序都可以使用;在程序集变量表内定义的变量被称为 “”(图2),仅能够被此程序集中的所有子程序使用;在子程序变量表内定义的变 量被称为“”(图3),仅能够被此子程序所使用。图1:图2:程序集名备注程序集变量名类型数组备注程序集娈量整数型图3:变量的初始化所有全局变量、程序集变量、局部静态变量在程序被启动运行前、所有非静 态局部变量在其所处子程序被开始执行前,都将被自动分配空间并初始化。其中, 数值型变量被初始化为零,逻辑型变量被初始化为假,日期时间型变量被初始化 为1899

15、年12月30日0时0分0秒,文本型变量被初始化为空文本 (“”),字节集型变量被初始化为空字节集,子程序指针型变量被初始化为空子 程序指针。特例:系统在对库定义数据类型的对象变量进行初始化时,将首先查询该数 据类型的各成员在库中是否指定了初始值。如果指定了初始值,则使用该值进行 初始化。譬如:“字体”为系统核心支持库中所提供的库定义数据类型,其“字体 大小”成员的初始值在库中被指定为9点(1点等于1 / 72英寸),“字体名 称”成员的初始值被指定为“宋体”。变量的赋值非数组变量可以通过赋予一个常数、常量、资源、对象或者变量来赋值。所 赋予过来数据的数据类型必须与被赋予变量的数据类型一致或者可

16、以互相转换。 可以将一个对象赋予给变量后再使用该变量间接引用此对象。譬如:假设存在一 个数据类型为“标签”,名为“变量1 ”的变量,使用“变量1 =窗口 1.标签1”语句 可以将“窗口 1 ”上的“标签1 ”窗口组件对象参考到“变量1 ”上,以后在程序中就可 以直接使用“变量1.标题”来引用“窗口 1 ”上“标签1”组件的标题属性。数组变量可以通过赋予一个常数集或者另外一个数组变量来赋值。定义变量时的主要属性1. 变量名。定义该变量在程序中的使用名称;2. 类型。定义该变量所能储存数据的数据类型;3. 静态。本属性仅在定义局部变量时需要被设置。如果局部变量在 定义时此属性被设置为假,那么运行应

17、用程序时,此变量在其所在 子程序开始被执行前自动分配存储空间并初始化,在所在子程序执 行完毕后自动释放所分配的存储空间。也就是说,变量的存储空间 仅在其所在子程序执行过程中存在;如果此属性被设置为真,那么 此变量与全局、程序集变量一样,被分配给在程序运行期间永久存 在的存储空间并仅在应用程序启动运行前被初始化一次。4. 数组。设置当前变量是否为数组变量及数组各维的上限值(即成 员数目)。如为多维数组,定义时各上限值之间用逗号分隔。引用 变量数组中某成员的方法为使用被中括号括住的从1开始的索 引数值,如:“1”(单维数组),“21”(多维数组)。所有多 维数组均可以使用单维数组格式引用其成员。譬

18、如:数组定义为“2, 3”的多维数组,其成员“22”可以被单维数组格式“”所引用。七、常数常数为可以直接在程序中使用的数据,具有以下几种类型:数值型常数。如:1、100 ;逻辑型常数。如:真、假;日期时间型常数。日期时间常数的内容必须用中括号括住,并且应 按以下格式之一提供,年份后的时间部分可以被省略:1、1982年4月23日12时30分25秒2、1982/4/23/12/30/253、1982/4/23/12:30:254、1982-4-23-12-30-255、1982-4-23-12:30:256、文本常数。文本常数的内容为一段文本,必须使用全角或半角双引 号括住如“文本”、“文本”等等

19、;子程序指针常数。子程序指针常数为指向程序中某一子程序代码地 址的指针数值,表达方式为符号“&”再加上子程序名称。如:“&子 程序1”、“&_启动子程序”等等;常数集。常数集用作提供其它各类常数或常量的数组形式。表达方式为使用 大花括号括住一系列相同类型且通过逗号分隔的各类常数或常量。 如“ 1, 2, 3 ”、“abc”, “bed” ”、“ 1982年4月23 日,2000年1 月 1 日 12时”、“ &子程序1, &_启动子程序”、“ #红色,#黑色”、“ #图片1, #声音1 ”等等。常数集 也可以为空,表达方式为“ ”,此时它将被认为包含有0个数值型常数,可以用作重 新初始化一个数

20、值数组或者将某字节集清空,譬如:“数值数组1 = ”、“字节集1 = ”等等。八、常量常量用作存储在整个应用程序执行过程中保持不变的数据,其类型可以为数 值、文本、逻辑值和日期时间。易语言核心支持库中已经提供了许多常量,但用 户也可以在程序中自行定义。常量的引用表达方式为符号“# ”再加上常量名称。 如:“#pi”常量等同于数值“31415926535”、“#换行符”常量等同于文本 回 车+ 换行等等。九、资源资源用作存储用户需要在程序中所使用的图片、声音等等字节数据,其数据 类型为字节集型。引用表达方式等同于常量图:注:资源表图:+金窗口程序集1+ Q全局变量號自定爻数据类型 mi命令-窗口

21、 动窗口 常量表-幹资源表图片或閣片组.声音.十、窗口、窗口组件及窗口程序集窗口为应用程序的界面,窗口组件为窗口的组成成员。每个窗口拥有一个专 用程序集,名为窗口程序集。此窗口上所有的事件处理子程序都必须放在此程序 集中。窗口程序集中的子程序引用所属窗口上的窗口组件属性或方法时可以省略 窗口对象。譬如:假设程序中存在名为“窗口 1”的窗口,该窗口上绘制有一个名 为“标签1”的标签窗口组件。在其它程序集中的子程序欲引用“窗口 1啲“标题” 属性需要使用“窗口 1标题”,引用“标签1 ”的“标题”属性需要使用“窗口 1.标签 1标题”。而在该窗口的窗口程序集中的子程序可以直接使用“标题”、“标签1

22、标 题”来进行相同的引用。系统核心支持库中定义的“窗口”窗口组件数据类型的所有方法能够被其它 所有非功能类窗口组件数据类型所共享,就好象这些方法是其本身所具有的一 样。在一个程序集中可以就象引用窗口对象的属性或方法一样来引用另外一个 窗口程序集中的程序集变量和子程序。譬如:假设存在名为“窗口 1”的窗口,其 窗口程序集中存在名为“变量1啲程序集变量,名为“子程序1”的子程序,在其它 程序集中可以使用“窗口 1变量1”及“窗口 1.子程序1”来引用此程序集变量和子程序。窗口组件的属性除了被标明为“只读”的外,其它属性在运行时皆既支持读也 支持写。窗口的载入程序内所设计的所有窗口,运行时在使用前都

23、必须先载入。除开“启动窗口 ” 由系统在启动程序时自动载入外,其它窗口都必须使用“载入”命令载入。有关查 阅“载入”命令详细信息的方法,请参见支持库手册。在窗口被载入后,所有 对此窗口及其所有组件的对象属性的修改,在窗口被关闭后都将自动被复原到设 计状态。但是如果在窗口被载入前修改了窗口或其组件的固定属性,则此属性值将永久 存在而不会被复原,就好象是在设计窗口时所设置的一样。窗口组件的固定事件所谓窗口组件固定事件,即由系统而非窗口组件本身提供支持的窗口组件事 件。其列表如下:1、鼠标左键被按下:当在窗口组件上按下鼠标左键时产生本事件。图:2、鼠标左键被放开:当在窗口组件上放开被按下的鼠标左键时

24、产生本事件。 图:3、被双击:当在窗口组件上双击鼠标左键时产生本事件。 图:子程序名返回值类型公开备注启动窗口一被孜击逻辑型参数名类型参考可空数组备注横向位置整数型纵向位置整数型功能键状态整数型4、鼠标右键被按下:当在窗口组件上按下鼠标右键时产生本事件。 图:子程序名返回值类型公开备注启动窗口一鼠标右键被按下逻辑型参数名类型参考可空数组备注描向位置整数型纵向位置整数型功能键状态整数型5、鼠标右键被放开:当在窗口组件上放开被按下的鼠标右键时产生本事件。 图:子程序名返回值类型公开备注启动窗口一鼠标右键被放开逻辑型参数名类型参考可空数组备注描向位置整数型纵向位置整数型功能键状态整数型6、鼠标位置被

25、移动:当在窗口组件上移动鼠标时产生本事件。 图:子程序名返回值类型公开备注启动窗口一鼠标位置被移动逻辑型类型参考可空备注横向位置整数型纵向位置整数型功能键状态整数型事件(1 - 6)的事件参数为:1、横向位置:指示鼠标在当前所处窗口组件中的横坐标;2、纵向位置:指示鼠标在当前所处窗口组件中的纵坐标;3、功能键状态:用于查看各功能键是否被同时按下。可以为以下常量值或其和:1、#Ctrl键状态;2、#Shift键状态;4、#Alt键状态。要判断是否同时按 下了某个功能键,在此参数值与想要得知功能键的状态常量值之间使用“位与” 命令进行比较。如果所得的结果不为零,表示同时按下了此功能键。7、按下某键

26、:当用户按下某键时产生本事件。被按下某键的组件必须拥有焦点。 图:8、放开某键:当用户放开所按下的键时产生本事件。被放开某键的组件必须拥 有焦点。图:子程序名返回值类型公开备注启动窗口與开某键逻辑型参数名类型薑考可空数组备注键代码整数型功能键状态整数型事件(7 - 8)的事件参数为:1、键代码:为键常量值,如:“#F1键”、“#回车键”等等。具体所有的键常 量见系统核心支持库的库常量表;2、功能键状态。其意义同上。对于事件(1 - 8),对应的事件处理子程序皆可以返回一个逻辑值。如果返 回假,则取消本事件,不再将此事件传递到所属窗口组件上去;如果不返回值或 返回真,则将此事件继续传递到所属窗口

27、组件上去。9、获得焦点:当窗口组件获得输入焦点时产生本事件。所谓“输入焦点”,即当前用户按键操作所对应的目标对象。譬如:用户正在 编辑框中输入文本,那么此编辑框就具有输入焦点,因为它将获得目前用户所进 行的所有按键操作。所谓“获得”或者“失去”输入焦点,即当前用户按键操作所对 应的目标对象发生转移。譬如:现在用户正在编辑框1中输入文本,突然使用鼠 标或其它方法切换到了编辑框2上去继续输入。那么此时,编辑框1就“失去”了 输入焦点,编辑框2就“得到”了输入焦点,因为在此以后用户所进行的所有按键 操作都将被改为编辑框2所获得。图:10、失去焦点:当窗口组件失去输入焦点时产生本事件。图:子程序名返回

28、值类型公开备注启动窗口凭去焦点11、字符输入:当用户按下和松开一个字符键时产生此事件。图:子程序名返回值类型公开备注启动窗口一字符输入整数型参数名类型参考可空数组备注字符代码整数型字符键包括任何可打印的键盘字符及回车(En ter)和退格(Backspace) 键。在对应的事件处理子程序中,将事件处理完毕后可返回一个字符代码,用于 替换将继续传递到所属窗口组件上字符键事件中的字符代码;如果返回0,则 取消此事件,不再将此事件传递到所属窗口组件上去;如果事件处理完毕后没有 返回值,则将本字符键事件继续原样传递到所属窗口组件上去。本事件的事件参数为:1、字符代码:表明所按下的字符键所对应的字符代码

29、,可以使用“字符”命令 取出所对应的具体字符。窗口组件的固定属性所谓窗口组件固定属性,即由系统而非窗口组件本身提供支持的窗口组件属 性。在窗口组件属性表中,被显示在以粗线条隔开的第二组属性中。固定属性与 普通属性在程序中的使用区别为:固定属性在窗口组件被创建之前也能被程序所 使用,而普通属性则不能。其列表如下:1、左边、顶边、宽度、高度:指定窗口组件的位置及尺寸。如果窗口组件为“窗 口”,其位置值相对于屏幕的左上角,如果为窗口内组件,其位置值相对于其所 在窗口或者父组件的左上角。2、标记:指定跟随于窗口组件的一段文本,用于在程序中取得或设置与该窗口 组件相关联的数据。3、可视:指定窗口组件是否具有可视外形。4、禁止:指定窗口组件是否可以被操作者操作。5、鼠标指针:指定鼠标移动到窗口组件上时鼠标的外形。6、可停留焦点:设置当用户使用TAB或光标键在窗口上各组件之间移动输入 焦点时是否允许在本组件上停留。7、停留顺序:本属性必须在上一属性被置为真时才有效。用作设置用户使用 TAB或光标键在窗口上各组件之间移动焦点时的顺序。当窗口被载入后,输入 焦点将被交给具有最小停留顺序值的组件。图:

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!