79常数、常量、资源用作在程序中提供恒定不变的数据,程序中任何可以使用变量提供数据的地方都可以使用它们。本章将做详细介绍。在前面所讲到的实例中,经常用到赋值给控件的某个属性或赋值给某个变量,例如:标签1.标题=“我爱易语言!”,“我爱易语言!”就是一个文本常数,当然也可以声明一个文本变量赋值给它,常数可以赋值给属性、变量等。下面我们来认识一下常数的概念。第4章常数、常量与资源本章学习内容:4.1常数的概念及分类4.6声音资源的使用4.2认识常量4.7字节集的概念4.3如何使用常量4.8其他资源的调用。4.4认识“易语言”资源表4.9课后练习4.5图片与图标组资源的使用804.1常数的概念及分类常数赋值给变量。建立变量时注意要与常数数据类型一一对应。常数赋值给控件属性。如果属性类型不支持赋值的常量,可以通过转换命令改变。常数为可以直接在程序中使用的数据,可以分为以下几种类型:(1)数值型常数。如:1,16,120,0.15等。(2)逻辑型常数。如:真、假。(3)日期时间型常数。日期时间常数的内容必须用中括号括住,并且应按以下格式之一提供,在书写时年份后的时间部分可以被省略:[1982年4月23日12时30分25秒];[1982/4/23/12/30/25];[1982/4/23/12:30:25];[1982-4-23-12-30-25];[1982-4-23-12:30:25]。(4)文本常数。文本常数的内容为一段文本,必须使用全角或半角双引号括住。如:中文编程不是梦!、“王老师您好!”等等。(5)子程序指针常数。子程序指针常数为代表程序中某一子程序的指针数值,表达方式为符号“&”再加上子程序名称。如:“&子程序1”、“&_启动子程序”等等。81调用常数集的方法很简单,变量名+中括号括住常数对应的位置号,如:标签1.标题=文本常数集[1]注意:调用常量集里面的成员时,不要超出常量集的成员数,否者编译时会出现提示错误!比如:常量集里面只有4个成员,如果读取第5个成员,显然是错误的。注意:注意常数集里面成员的数据类型必须相同。否者系统会提示出错。(6)常数集。常数集用作提供各类常数或常量的数组形式。表达方式为使用花括号括住一系列相同类型且通过逗号分隔的各类常数或常量。如:“{1,2,3}”、“{abc,bcd}”、“{[1982年4月23日],[2000年1月1日12时]}”、“{&子程序1,&_启动子程序}”、“{#红色,#黑色}”、“{#图片1,#声音1}”等等。常数集也可以为空,表达方式为“{}”,此时它将被认为包含有0个数值型常数,可以用作重新初始化一个数值数组或者将某字节集清空,例如:“数值数组1={}”、“字节集1={}”等等。824.2认识常量常量用作存储在整个应用程序执行过程中保持不变的数据,其类型可以为数值、文本、逻辑值和日期时间。易语言中已经提供了许多常量,但用户也可以在程序中自行定义。常量的引用表达方式为符号“#”再加上常量名称。如:“#pi”常量等同于数值“3.1415926535”、“#换行符”常量等同于文本回车+换行等等;可以使用以下两种方法之一加入新的空常量。第1种方法:使用主菜单命令“插入”→“新常量”菜单功能。第2种方法:跳转到常量数据表,如果尚未被打开,请在程序面板中双击“常量表...”项,然后使用回车或者Ins键即可加入。834.3如何使用常量空常量加入后,可以直接修改其常量名称、常量值、备注等各属性栏。在修改常量值时以Alt+Enter键结束输入可以强行将当前输入的所有文本作为文本类型常量内容保存,此方法可用作输入带有双引号的文本常量内容。上面例子中已经建立一个“易语言”常量名,其常量值是“全中文全可视易语言”,下面来练习如何使用这个常量。常量的引用表达方式为符号“#”再加上常量名称84资源资表用来记录在程序中所需要使用的各种资源数据,该数据被直接加入到程序中。可以使用以下两种方法之一加入新的空图片资源:4.4认识“易语言”资源表资源用作存储用户需要在程序中使用的图片、声音等数据,其数据类型为字节集型,可以被看作为字节集型常量,其引用方式等同于常量。第1种方法:使用主菜单命令“插入”→“新资源”→“图片或图片组…”菜单功能。85第2种方法:跳转到图片资源表,如果尚未被打开,请在程序面板中双击“资源表”→“图片或图片组…”项,然后使用回车或者Ins键即可加入。在“图片或图片组…”上单击右键也可以弹出“插入新图片或图片组资源…”加入。默认文件名为“图片1”,内容为“无”。单击鼠标,弹出“图片或图片组资源属性”面版。点击“导入新图片”按钮。86选择适合的图片,易语言支持的多种图片格式。这里显示图片的相关信息。图片预览窗口。如果不满意,可以重新选择导入。点击“加入/修改到程序并关闭对话框”按钮加入图片资源到程序中。图片资源导入后,“内容”里面显示的是图片尺寸,单位是字节,把名称更改为“车”。到这里一副图片资源已经导入到程序里面了。874.5图片与图标组资源的使用已经知道了怎样把一幅图片加入到程序的资源里面了,那么如何调用它呢?下面练习制作一个简单窗口底图更改的程序。①新建一个易程序。在窗口中添加一个“按钮”组件。②双击“按钮”组件进入代码编辑窗口,进入“_按钮1_被单击”事件子程序的代码录入界面。输入以下程序代码:_启动窗口.底图=#车884.6声音资源的使用按F5键后试运行。点击按钮,可以观察到窗口的底图变成资源表里面的图像了。通过上述步骤,大家可以看到,卡车的图形并没有显示完全。可进行以下操作:激活“_启动窗口”,进入属性面板,将“_启动窗口”的“底图方式”属性改为“2.图片居中”。下图为改后试运行的效果。上节学习了如何加入图片资源,下面再练习加入声音资源。同样也有两种方法加入新的声音资源。89第1种方法:依次点击菜单“插入”→“新资源”→“声音”,添加空声音资源。第2种方法:跳转到声音资源表,如果尚未被打开,请在程序面板中双击“资源表”→“声音...”项,然后使用回车或者Ins键即可加入。或使用鼠标右键点击,依次点击“插入”→“新资源”→“声音”菜单添加空声音资源。90字节集用作记录一段字节型数据。字节集与字节数组非常相似,它们之间可以互相转换。在程序中允许使用字节数组的地方也可以使用字节集,或者相反。字节数组的使用方法,譬如用中括号对(“[]”)加索引数值引用字节成员,使用数组型数值数据进行赋值等等,都可以被字节集所使用。两者之间唯一的不同是字节集可以变长,因此可把字节集看作可变长的字节数组。另外,与文本数据一样,多个字节集之间也可以使用相加命令连接为一个字节集。4.7字节集的概念加入声音与图片的过程基本上是一样的,这里不在详细举例,它们都属于字节集数据类型。下面来了解一下字节集的概念。在“声音资源属性”窗口上点击“导入新声音”按钮,选择要导入的声音资源。91既然资源是字节集格式,能否把一个文本文件当成一个资源调用呢?答案是可以的,下面通过一个程序练习调用文本文件资源。4.8其他资源的调用前面所述的是标准的图片资源与声音资源,而本节将介绍资源的其他用法,实际上这些用法在编程中使用还比较多。①启动Windows系统附件中提供的记事本程序,输入一段文字,然后保存文件,作为本例导入的资源。92②启动易语言程序,在窗口上添加一个编辑框和一个按钮组件。③更改编辑框属性面板上“是否允许多行”为真,这样文本就可以支持多行文本。④依次点击“插入”→“新资源”→“图片或图片组”菜单,添加一个空图片资源。还记得前面说过的插入新图片资源的第二种方法吗?对就是通过“资源表”添加。93⑤在选择新图片资源时,更改打开文件类型为“所有文件”,这样就可以显示所有格式文件,选择刚才保存的文本文件名。⑥资源导入后,更改文件名为“文本资源”。⑦切换到“__启动窗口”窗口面板。944.9课后练习⑧双击按钮组件,进入“_按钮1_被单击”子程序。输入:编辑框1.内容=取字节集数据(#文本资源,#文本型)编辑框里面显示的是文本数据,所以用命令把字节集转换为文本。程序制作完毕,按“F5”运行,点击按钮,看看文本资源里的文本是不是显示到编辑框里面了。(1)判断下面程序代码的正确性,如果错误,请给出正确的表达方式。①标签1.标题=100②编辑框1.内容=“易语言”③字节集变量={0,“中国”,158}95(2)把“我考试得了100分”分别设为3个常量,分别为:“我考试得了”、“100”、“分”,利用“信息框()”命令显示出来。(3)输入或修改当前常量的值时,此值可以为数值、文本、逻辑值或日期时间。提示:以___________________结束输入可以强行将当前输入的所有文本作为文本类型常量内容保存,此方法可用作输入带有双引号的文本常量内容。96(4)练习把Windows系统自带的“扫雷”游戏程序(winmine.exe),导入到“声音…”资源表里,然后写出文件。