1 数据类型
(1)易语言数据类型
(2)数据类型应用
数据类型可以用来描述不同变量的类型或组件属性的类型。
a 定义变量的数据类型
在声明一个变量时要定义其具体的数据类型,只需要在新建的变量的类型栏上单击空格键,选择下拉列表中欲要定义的数据类型即可
例:对变量名位“日期时间”的变量定义其数据类型。
Ctrl+L创建局部变量;Ctrl+G创建全局变量;光标在程序窗口按Enter创建程序集变量;或者点击菜单栏的插入,插入你想要添加的变量。
在变量名“日期时间”后的“类型”处,单击空格键,就会弹出数据类型下拉列表,在列表中选择要定义的类型即可。
也可以用首拼或英文在其位置直接输入,时间日期型即输入rqsjx或用英文输入date。
b 定义子程序返回值数据类型
子程序如果具有返回值,我们也要相应的定义返回值的数据类型。在“返回值类型”处输入或选择相应的数据类型即可,方法同给变量定义数据类型。
c 数据类型的转换
在实际程序代码编写中很多时候需要进行数据类型的比较和转换。同数据类型之间的数据可以之间比较,但不同数据类型需要线转换为相同数据类型然后进行比较。
在易语言中比较常用的数据类型间转换的命令有以下几种。
a)“到数值()”命令:用来将一个通用型数据转换到双精度小数型。
b)“到小数()”命令:用来将一个通用型数据转换到小数型。
c)“到整数()”命令:用来将一个通用型数据转换到整数型。
d)“到文本()”命令:用来将一个通用型数据转换到文本型。
e)“到字节集()”命令:用来将一个通用型数据转换到字节集型。
f)“到时间()”命令:用来将一个通用型数据转换到日期时间型。
【例】单击窗口比较编辑框中的内容是否大于3.14
在窗口中添加一个编辑框,一个按钮组件,双击按钮组件进入代码编辑输入如下代码:
信息框(编辑框1.内容>3.14, 0,)
运行程序会报错10044 。
这是由于编辑框中的内容是一个文本型数据,3.14是小数型数据,文本型与小数型是不同的数据类型,所以首先要将编辑框中的内容转换成小数型数据后再进行比较。修改代码如下。
信息框(到小数(编辑框1.内容)>3.14,0,)
F5运行程序输入一个数进行测试,结果如下。
【例】单击按钮,比较编辑框中的内容与所选日期的大小
在窗口中添加一个编辑框组件,一个日期框组件和一个按钮组件,将编辑框内容改为:
“2009年10月14日”或其他日期,双击按钮组件进入代码编辑输入如下代码。
信息框(到时问(编辑框1.内容)>日期框1.今天,0, )
由于编辑框1内的数据为文本型,所以要与日期框1.今天(日期时间型)比较的时候,就要先使用“到时间0”命令将文本“2009年10月14日”转换为日期时间型,然后再比较。如果不进行“到时间0命令”的转化直接比较,
信息框(编辑框1.内容>日期框1.今天,0, )
在输出面板中会提示错误(10044)。
程序运行后,改变日期框的日期,点击按钮后如下图所示。
d 特殊数据类型
特殊数据类型是指除易语言基本数据类型之外的其他数据类型。包括通用型数据类型、库定义数据类型、自定义数据类型、内部组件数据类型。
通用型数据类型:通用型数据类型仅在系统内部使用,它能够匹配所有的系统基本数据类型、库定义数据类型、自定义数据类型。
库定义数据类型:库定义数据类型由易语言支持库提供,用户在程序中可以直接使用,如同系统基本数据类型。
自定义数据类型:用户可以随时在程序中自行定义新的数据类型。但自定义数据类型时需要设置数据类型的名称及其成员,其中数据类型成员各属性的设置方法等同于变量设置方法。
内部组件数据类型:在易语言中,每一种内部组件都可以作为一种数据类型来使用。
a)自定义数据类型:是比较常用的数据类型,下面通过一个实例来讲解如何定义一个自定义数据类型。
例如:要定义一个数据类型“学员信息”,并将某学员的信息做个记录。方法如下。
第一步:新建一个易语言程序
第二步:点击查看—自定义数据类型表
第三步:在新打开的窗口中右击—新型数据类型
第四步:数据类型名改为 学生信息
第五步:成员名下面回车添加四行数据
第六步:在启动窗口添加一个按钮
第七步:双击按钮,新建一个变量“学员1”(Ctrl+L),数据类型设置位“学员信息”,并设置学员1的相关信息
第八步:F5运行程序,点击按钮这个学员信息就生成了。
b)内部组件数据类型:在易语言中每种内部组件也可以作为一种数据类型来使用,这些数据类型具有组件的特征,如属性、命令等。
【例】新建一个标签组件,一个按钮组件;双击按钮组件进入代码编辑,新建一个“变量1“(Ctrl+L),代码如下
c)动态添加组件:利用内部组件作为数据类型的特点,易语言中可以动态添加组件。要用到一个“赋值窗口组件()”命令。
<逻辑性>复制窗口组件(通用型 欲被复制的窗口组件,通用型变量 存放新创建组件的变量)
注意:被复制的组件必须是窗口中已经存在的组件
【例】在窗口中添加一个按钮,然后动态添加其他按钮,实现每单击按钮一次,就生成一个新的按钮。代码已经效果如下。
2 变量
(1)变量的分类
a.作用范围区分
从变量的作用范围来区分,可以将变量分为“局部变量”“程序集变量”和“全局变量”
局部变量
只能在其所在的子程序中才能被调用的变量,其他子程序都无法调用。因为只有子程序被调用的时候,其变量才占用系统的内存,当子程序执行结束后,其变量所占内存空间将被系统收回,因此局部变量也是非常节省系统内存的。
程序集变量
一般情况下仅在本程序集中被调用。若在其他窗口程序集中调用,则需要在变量名前加程序集所对应的“窗口名称”前缀。如:
信息框(_启动窗口、变量_程序集变量,0,)
程序集变量所在的程序集中的所有子程序,都可以自由访问程序集变量,因此多个子程序都需要访问的数据,可以使用程序集变量来存储。
全局变量
在程序运行后,所有程序集内子程序都可以使用的变量。全局变量也是覆盖范围最大的变量。这种变量在程序运行后即占用内存空间,在程序运行结束后才从内存中清除,所以会长时间占用系统资源,因此全局变量建议根据程序的实际情况使用。
b.属性区分
变量还可以从变量的属性来区分,分为“静态变量”和“数组变量”
静态变量
静止存在的局部变量。当所处子程序退出时,静态局部变量能够保留住现行内容以供下次继续使用;但非静态的变量就不能,下次进入子程序时它将被重新初始化。局部变量如果不设置“静态”属性,子程序执行完毕后,将清空该子程序中的所有非静态局部变量;局部变量如果设置了“静态”属性,在子程序执行完毕后也不会被清空,当子程序再次被调用时,静态变量的值仍保持上次被调用时的状态。静态变量在子程序第一次被调用时分配内存:在程序结束时销毁。
数组变量
即可以存放一组数据的变量。数组变量中的每个成员都拥有独立的存储单元,可以单独调用和赋值。数组变量可以看做是多个非数组的变量组成的。数组变量又分为“单维数组变量”和“多维数组变量”。单维数组变量,成员的表示形式为:
数组变量名[数组成员下标]
如:变量[3],表示该数组中的第3个成员。
注意:数组下标是从1开始的,所以不存在“变量[0]”这个数组成员。
多维数组变量可以理解成一个特殊的单维数组,它的成员也可以看成是多个单维数组。多维数组成员的表示形式为:
多维数组变量名[数组成员下标]Ⅱ[数组成员下标]
如:变量[1][2],意思是一个二维变量中的第二个成员。
(2)定义变量
a.定义局部变量
可以在需要定义变量的子程序处,使用 “Ctrl+L”新建“局部变量”,或者在“插入”菜单中选择“局部变量”来插入一个局部变量。
b.定义程序集变量
将光标停留在代码编辑区“窗口程序集”中任意位置,单击“Enter”键,生产一个新行,在变量名处输入变量的名称,并选择乡音的数据类型即可。
c.定义全局变量
定义全局变量可以用Ctrl+G,新建一个“全局变量”。还可以在易语言的“插入”菜单中选择“全局变量”来插入全局变量。
d.定义静态变量
静态变量的定义方法是,首先和前面定义局部变量的方法相似,定义一个局部变量,然后将光标停留在“静态”处,单击鼠标左键,可以定义或取消静态属性。当静态属性上出现“√”后,即表示这个定义的变量是静态变量,当再次点击将“√”去掉,即表示取消对本变量的静态属性。
e.定义数组变量
数组变量的定义和静态变量的定义一样,只是在数组框里面输入你要定义的成员数量即可。
变量1是一个数组变量有四个成员
变量2是一个二维数组变量有44=16个成员
变量3是一个三维数组变量有44*4=64个成员变量
注意:在程序开发中很多情况是事先不清楚数组的成员数的,因此在定义数组时可以定义数组的成员下标数为0,然后在程序内部动态的改变数组的成员数,具体可以使用“重定义数组”命令。
在易语言中提供了非常丰富的对数组操作的命令,如图2-21所示。这些可以在支持库的帮助中查询到。
通过这些命令可以非常方便地管理和使用数组变量。数组变量的操作类命令非常重要, 在程序代码中引用了没有定义的变量,则该行代码不会通过编译。单击F5键运行程序,则状态夹输出面板中会有相应的错误提示。
(3)变量的初始值
变量在没有赋值钱,系统会为其赋予一个初始值。每一种数据的变量初始值都会有所不同。
【例】新建一个易语言程序,新增一个编辑框和一个按钮组件。将编辑框的“是否允许多行”属性设为真。双击按钮组件,在按钮1下新建十个变量,代码及其运行结果如下。
注意:其中文本型和字节型变量初始值是空值,“到文本()”后不显示。
(4)变量的赋值方法
给变量赋值可以使用“赋值”命令或者“连续赋值()”命令。
a.“赋值”命令的原型为:
<无返回值>赋值(通用型变量/变量数组 被赋值的变量或变量数组,通用型数组/非数组 用作赋予的值或资源)
本命令运算符号为“=”。将指定的常数、常数集、常量、资源、对象或者变量赋予到指定的变量或变量数组中去。赋值运算符在所有运算符中优先级最低,是一条语句中最后被执行的命令。
如给以下各种变量的赋值,都是正确的赋值方式。
在给变量赋值的时候要注意赋给变量相应数据类型的数据,否则会出现错误。
如给字节型变量赋值为文本型的“我爱易语言”,则会提示错误。
错误(10044):不能将“文本型”数据转换到“字节型”数据。
b.“连续赋值”命令的原型为
<无返回值>连续赋值(通用型数组/非数组用作赋予的值或资源,通用型变量/变量数组被赋值的变量或变量数组,…)
本命令将指定的常数、常数集、常量、资源、对象或者变量赋予一系列变量或变量数组中去。本命令的被赋值变量可以是一个或多个。如:
执行后,变量1和变量2的值均被改变为5.
给变量赋值的时候要注意变量的数据类型,只要其符合数据类型的赋值规则即可。
注意:任意数值类型的数据可以被写入到其他任意数值类型的变量中,系统将自动进行转换如将一个整数写入到短整数型变量中要注意不要超出变量的取值范围;将小数型变量写入到整数型变量时,会丢失小数点后的内容等,因此使用时需要注意,最好转换类型是一一对应。
在给一组相同类型的组件的属性赋予相同的值时,使用连续赋值命令非常方便,代码在以后的阅读中也易于理解,常用来给一组组件赋初始化的值。
(5)数组变量的赋值
给数组变量赋值,可以有多种方法,大家可以根据需要选择合适的赋值方法。
a.使用“=”赋值
【例】给一个数组2个成员赋值,每个成员都为10. 代码如下
数组[1] = 10
数组[2] = 10
【例】给一个二维数组成员赋值,每个成员都为10. 代码如下
数组[1][1] = 10
数组[1][2] = 10
数组[2][1] = 10
数组[2][2] = 10
使用“=”赋值也可以一次性给多个数组变量赋值,方法是使用一对大括号将要赋予的值括起来,每个值都用“,”号隔开,被隔开的值赋予数组中的对应位置的成员。
【例】给一维数组2个成员赋值,每个成员都为10。代码如下。
数组={10,10}
使用这种方法给成员很多的数组赋值尤为方便。
【例】给一个有10个成员的一维数组赋值,代码如下。
变量={1,2,3,4,5,6,7,8,9,10}
b.使用“连续赋值()”命令
【例】给数组的三个成员赋值,可以使用如下方法
连续赋值(10, 数组[1],数组[2],数组[3])
执行后数组的三个值都变为10
c.直接用命令的返回值给数组赋值:
有些命令的返回值就是一个数组,所以可以直接使用该返回值给数组赋值。赋值的时候首先要注意,根据命令返回数组的数据类型来给数组定义数据类型;也要注意数组的成员数是可变的,并且命令返回的数组成员数也不固定,所以可以定义接收返回值的数组成员数为0,当该数组接收了命令的返回值后,会自动定义成员数。
【例】“分割文本()”命令的返回值,就是一个文本型的数组,在程序中可以表示为:
代码运行后,文本数组就有了3个成员,代表年月日,每个成员的值就是返回来的子文本。即文本数组[11的值为“2009”,文本数组[2]的值为“11”,文本数组[3]的值为“12”。
数组是一个特殊的变量,它能一次声明很多相同类型的变量。当用户在程序设计过程中需要很多同种数据类型的变量时,定义一个数组就可以轻松解决这个难题,并且在使用时便于变量的管理,代码的阅读理解。
3 常量
常量是一个固定的值,可用于定义在程序内多个位置使用的值,并且此值在正常情况下不会更改。使用常量而不直接使用常量值能让代码更加便于理解,此外,如果确实需要更改通过常量定义的值,则只需在一个位置(常量声明处)更改该值,而不需在不同位置都更改该值。
常量只能在程序设计时定义,在程序执行过程中是不能修改其值。常量的类型可以为数值型、文本型、逻辑型、日期时间型和长文本型。常量定义的格式是由常量名与常量值所组成。
定义常量,可以双击工作夹中程序面板中的常量表一项,在设计区会出现常量数据表,鼠标点击常量数据表表头任意地方回车即可出现空白常量行,也可在设计区通过鼠标右键选择“新常量”(Ctrl+N)方式建立。
在当前行分别输入常量名称,常量值,备注信息(可省略),即可定义常量。
(1)定义长文常量
易语言从4.03版本开始,新增了对长文本常量的支持。可以在设计区通过鼠标右击选择“新增文本常量”方式建立。
修改常量的名称为需要设定的常量名,然后单击“<文本长度:0>”处,弹出“请输入文本”对话框,在这里可以输入或导入需要的文本。
长文本方便、直观,不但能保存换行的效果,而且方便实现多行文本的常量保存。点击确定后还可以看到该常量的文本长度。
长文本常量和其他常量的调用方式相同,只是存储容量更大,最大支持约3万字节。
(2)常量的调用方式
常量在代码里使用方式为:#常量名。如:在程序启动后要显示系统的标题。很多时候可以将标题定义为常量,便于程序的修改和访问。
定义一个名称为“标题”的常量,设置常量值为“我们一起学习易语言”
双击启动窗口进入代码编辑界面,光标处输入以下代码:
_启动窗口.标题=#标题
单击F5键运行程序,可以看到窗口的标题为“我们一起学习易语言”。
(3)支持库常量
除了以上介绍的用户自定义的常量外,易语言的核心支持库、扩展支持库也定义了许多常量,这些常量可以直接用“#常量名”调用。
可以在易语言的支持库面板对各支持库中的定义的常量进行查询。展开一个支持库,看看该支持库是否提供了“常量”,如果在被展开项目中找到了“常量”选项,点击“常量”,就可以展开该支持库中的常量列表。点击一个常量后,单击Fl,可以在底部的提示框中看到有关该常量的帮助信息,并可以查到该常量的值,如下图所示。
每次安装了新的支持库,也可以使用该方法来查看新支持库中引用了哪些常量,以方便程序的编写。系统核心支持库提供的常量是使用频率最高的常量,应该重点掌握。
a.颜色常量的调用
易语言提供了33个颜色常量,这些常量可以在系统核心支持库的常量部分查到。
有颜色属性的组件,在颜色属性上都有一个颜色选择器,用来直接改变颜色。在颜色选择器上可直接选择的颜色,其值都可以作为常量,在调用的时候只需要输入“#颜色名”即可。
【例】双击启动窗口进入代码编辑界面,光标处输入以下代码:
_启动窗口.底色=#绿色
单击F5运行程序,显示一个底色为绿色的窗口。
也可用“取颜色值()”命令来改变颜色,括号里的是RGB值
_启动窗口.底色 = 取颜色值(255, 192, 203)
单击F5运行程序,显示一个底色为粉红色的窗口
b.“#换行符”的调用
如果想让编辑框显示一段文本并自动换行,就需要使用换行符,否则文本会一直排下去。
注意:显示多行的基本条件是将编辑框的“是否允许多行”属性设为真。可以直接在修改编辑框的属性里修改,或者直接在代码中添加
编辑框1.是否允许多行 = 真
c.“#引号”“左引号”和“右引号”
为了不和代码汇总表示文本数据的引号相冲突,程序代码中将文本的引号作为一个文本常量。如让编辑框显示出一个引号,要使用“#引号”常量,但要显示汉语标点中的引号,就要使用常量“左引号”或“右引号”。
d.键代码常量的调用
易语言中,将键盘上常用按键的键代码都作为了核心支持库定义的常量,在系统核心支持库的常量位置处可以找到,如下图所示。
在程序中使用时只需输入“#”+要调用的键名,如键盘上F8的键代码,在代码中用常量表示为:#+F8键。
【例】在向编辑框中输入内容的时候,想简单地屏蔽掉某个键,就可以在编辑框的“按下某键”事件子程序中输入以下代码。
单击F5运行后,在编辑框中使用键盘将无法输入“E”
e.用常量填写参数
常量除了直接调用之外,还可以作为命令的参数。很多命令的参数可以直接使用常量,这样使程序看起来更为直观。
比如“寻找文件()”命令。它可以寻找某个目录下的文件或目录。命令原型为:
文本型 寻找文件(欲寻找的文件或目录名称)
它的第二个参数是:“欲寻找文件的属性”,表示要寻找何种类型的文件:1(#只读文件):2(#隐藏文件);4(#系统文件);16(#子目录):32(#存档文件)。通过将这些常量值加起来可以一次设置多个文件属性。如果省略本参数,默认为搜寻除子目录外的所有文件。
在寻找目录时可以直接输入:
寻找结果 = 寻找文件(,16)
也可以输入:
寻找结果 = 寻找文件(,#子目录)
比较而言,后一种方法更直观且便于理解。
易语言核心支持库之外的支持库提供的常量称为扩展支持库常量。扩展支持库中提供的常量的使用方法与核心支持库中的常量的使用方法相同。
在易语言编辑环境的“菜单”→“工具”→“支持库配置”项下添加了新的支持库后,在易语言的支持库面板就会出现相应的帮助信息。在使用时可以查询支持库的常量。
比如添加了mysql支持库之后,可以看到该支持库的常量,如下图所示。
如果使用mysql支持库的“到MYSQL文本()”命令。该命令的作用是从易语言中的数据类型转换到可以被MYSQL识别的文本,转换成功返回MYSQL可以识别的文本,失败返回空文本。命令原型为:
<文本型>到MYSQL文本(易语言类型数据,时间类型)
它的第二个参数“时间类型”是要转换到mysql的时间与日期的类型常量,如#MYSQL日期型,#MYSQL时间型,#MYSQL日期时间型,#MYSQL年份型。
在编写代码时可以直接输入:
到MYSQL文本(取现行时间(), 10)
也可以输入:
到MYSQL文本(取现行时间(),#MYSQL日期型)
比较而言,后一种方法更直观,便于理解。
(4)枚举常量
枚举常量是一种非常方便的常量类型,它本身就是一个常量的集合,将多个常量以成员的形式,存放在一个常量中,使用的格式为:
#枚举常量名、成员名
枚举常量只是一种常量的表现形式,是由易语言支持库定义的常量集合,调用方法和普通常量相同,用户只能调用,不能自定义。
易语言中有很多支持库中使用了枚举常量,如核心支持库中定义的“变体类型”。“变体类型”提供变体型中所能够容纳数据类型的枚举值,见下表。
上表中,列出了“变体类型”常量的所有成员名及成员的常量值,在程序中,如果想调用 “变体类型”常量中的“日期型”成员,该成员的常量值为4,程序中调用该成员就等于调用了4这个整数,例如用信息框显示出该成员使用代码:
信息框(#变体类型.日期型,0.)
运行后,信息框将显示4。
注意:在核心支持库中还定义了“变体型”。“变体型”和“变体类型”不同,“变体型”是一种数据类型,可以将一个变量的类型定义成“变体型”。“变体型”的变量,可以加入成员和改变成员的值;而“变体类型”是一个枚举常量,其值只可以调用而不可以改变。
再如办公组件支持库中定义的“对象种类”,“对象种类”同样提供了一组枚举值,见下表。
使用“#枚举常量名。成员名”的形式调用。如:
可以看出枚举常量和其他常量的用法都是一样的,只不过一般常量用“#常量名”, 而枚举常量所用的是“#枚举常量名.成员名”的形式
4 资源表
在编程的时候,常会使用图片和声音文件,在程序发布的时候需要将使用到的图片、声音文件一起提供,软件才能正常使用,因此极为不方便。但在易语言中提供资源表,这使得程序的开发与使用更方便、快捷,如下图所示。
这里可以存放程序开发中用到的图片、声音等二进制数据资源。这样可以方便地调用这些资源,由于这些文件保存在程序内部,因此相对来说保护这些原文件不被修改和复制。值得注意的是添加后的资源都是字节集型的数据。
(1)添加图片或图片组资源
添加图片或图片组资源的方法和新建常量的方式基本类似。双击工作夹中程序面板的资源表中的“图片或图片组.”选项,即可切换到添加图片资源的界面,单击“Enter”键或鼠标右键选择“新图片或图片组资源”(Ctrl+N),即可建立,如下图所示。
在新建的“图片1”资源对应的内容上单击鼠标左键或单击键盘中的任意字符键,会弹出一个“图片或图片组资源属性”对话框,如图2-38所示。可以点击对话框中的“导入新图片”按钮或“图片组…”按钮来给新的资源加入图片或图片组。
加入需要的图片后,点击“加入/修改到程序并关闭对话框(A)”按钮,保存添加、修改的内容,即可完成整个图片资源的添加、修改过程。
(2)添加声音资源
添加声音资源与添加图片或图片资源组的操作基本类似,双击资源表中的“声音”选项,切换到添加声音资源的界面,直接单击“Enter”键或鼠标右键选择“新声音资源”(Ctrl+N),即可建立。
在新建的“声音1”资源对应的内容上单击鼠标左键或单击键盘中的任意字符键,会弹出一个“声音资源属性”对话框。点击对话框中的“导入新声音(l)”按钮来加入新的声音资源,也可以点击“演播现行声音”按钮直接试听播放效果,声音资源只支持“*.MID”和“*.WAV”格式的声音文件,如下图所示。
加入了声音资源后要点击“加入/修改到程序并关闭对话框(A)”按钮,来保存修改的内容。资源内容中的数值,表示了资源所占用的字节数。
(3)资源的调用
添加后的资源都是字节集型的数据,在程序中调用资源的方法和常量的调用方法相同,用“#”+“资源名”。如:
图片框_资源、图片=#图片资源
下面通过一个例程来了解如何使用资源。
【例】调用资源表中的资源给程序的窗口设置底图和背景音乐。
第一步:新建一个易程序,然后按前面介绍的方法新加入一个图片资源和一个声音资源,修改图片或图片组名称为“图片”;修改声音名称为“背景音乐”,并分别加入图片和背景音乐。
第二步:双击启动窗口,在“启动窗口_创建完毕”事件子程序中输入如下代码:
第三步:单击F5运行程序,可以看到窗口底图变成了添加的图片资源,同时会听到资源表中的背景音乐。
(4)资源表中的资源导出
存放在资源表中的资源也可以导出来。在“图片或图片组资源属性”对话框和“声音资源属性”对话框中都有“输出到文件(T)”按钮,点击该按钮会弹出一个文件对话框,在文件名处输入欲导出的文件名和扩展名。其中文件的文件名可以任意随意定义,但是定义文件的扩展名一定要和原文件的扩展名相同,否则保存后的文件有可能无法正常打开。也可以使用“写到文件0”命令导出资源,但需要注意文件的扩展名是否与源文件相同。
如:导出资源表中的图片资源“背景图片”到“D:Ntupian.bmp”。代码如下:
写到文件(“D:\tupian.bmp”,#背景图片)
单击F5键运行后,将资源表中的图片资源“背景图片”写到D盘根目录中的“tupian.bmp”文件中。
(5)资源表中导入可执行文件
资源表中不仅可以导入图片和声音文件,还可以导入任意文件,程序不会判断该资源是不是一个图片或声音。如:导入一个文本文件:一个word文件或者一个“.exe”格式的可执行文件等。
【例】导入windows中自带的记事本程序,在程序运行时导出并运行。
以图片资源表为例:在图片资源表中加入一个新资源,然后点击弹出的“图片或图片组资源属性”对话框中的“导入新图片”按钮,然后将弹出的通用对话框文件类型改为所有文件(,),找到欲导入资源表的windows记事本“notepad.exe”文件,如下图所示。
然后点击“打开”按钮,将该可执行文件导入到资源表,导入之后点击“加入/修改到程序并关闭对话框”按钮,保存。
用“写到文件(”命令写出,并用“运行(”命令运行。代码如下:
写到文件(“D:1\记事本.exe”,#记事本)
运行(“D:\记事本.exe”,假,)
单击F5键运行程序,会将资源表中的记事本程序写出到D盘的根目录下面,并运行。