找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 2150|回复: 2

冰河洗剑系列E语言教程第13课

[复制链接]

0

主题

11

回帖

14

牛毛

初生牛犊

积分
14
QQ
发表于 2008-11-2 10:13:15 | 显示全部楼层 来自 河南省洛阳市
支持!呵呵!好好学习!

16

主题

116

回帖

185

牛毛

一级牛人

积分
185
发表于 2009-2-9 13:53:38 | 显示全部楼层 来自 广西钦州市
学习 支持 感谢 [s:135]

614

主题

3047

回帖

4905

牛毛

二级牛人

站长

积分
4995
 楼主| 发表于 2008-8-29 09:55:09 | 显示全部楼层 |阅读模式 来自 广东省广州市白云区
-------------------------------------------------------------------------
黑狼基地 菜鸟起飞的乐园www.nb5.cn
我们有狼的精神!有困难不怕,就怕遇不到困难
黑狼基地与朋友们携手共创美好明天!欢迎光临黑狼基地!
-------------------------------------------------------------------------
==============
易语言第十三课
==============

大家好,我是冰河洗剑QQ:443863348

以前我们讲了变量(容器)的含义,作用和它的数据类型 ,

今天接下来我们来讲解变量的声明,赋值
=============================================================================================================================
变量的声明和赋值

★、变量的声明(容器的建立)

为了使用变量,需要为变量指定一个名称和规定该变量所保存的数据类型,有时要确认是否为静态容器、是否数组容器,以便将变量事先通

知程序,这项工作称为声明变量,又称建立容器。易语言强制必须声明变量后才能使用变量(对象型变量除外)。如果没有经过声明就使用该

变量,比如:容器1=“100”(容器1还没有被建立),那么使用该容器的代码行就会无法确认, 并出现“编译错误”提示框:

“找不到指定的容器名称:容器1”

⑴、那么怎样建立容器呢? 分几种以下情况:

①、建立局部容器(又称子程序容器,即局部变量)。

第一种方法:在代码编辑区选中子程序,再选菜单“插入→局部容器”,就会在该子程序下出现一个空的容器表格,在“容器名”一栏填
你需要的任意名称,再填上数据类型,其余的“静态”、“数组”、“备注”等根据情况而定。

第二种方法:在代码编辑区选中子程序,按下 Ctrl + L 加入一个空容器,再添加容器内容。
=============================================================================================================================
②、建立程序集容器。

在代码编辑区选中程序集,然后按[Enter]键。
=============================================================================================================================
③、建立全局容器。 跟建立局部容器一样

选菜单“插入→新全局容器”,或点击“工作夹→程序子夹→全局容器”。
=============================================================================================================================
⑵、容器的命名规则。

我们既可以给变量起一个任意的名称,也可以在变量中存放任何想要存放的东西。但是如果用户在一个名为“电话”的变量中存放一个人的生日代码,显然是不明智的。

为了方便,变量名应该代表存放在其中的数据信息。比如说,变量名“电话”一般用来存放电话号码,变量名“生意”应该存放做生意的名称等。
=============================================================================================================================
★、容器的赋值

⑴、赋值的含义。

当声明了一个变量后,就必须对它进行赋值,因为声明变量时只是建立了一个空的容器,还要向里面添加东西。容器的赋值就象前面描述的
是用“=”号来实现的,变量名放在“=”号的左边,表达式(所赋予的具体数据值)放在右边,其目的是将表达式的结果(返回值)赋给左边的
变量。

赋值就是为了方便而把一些在程序中经常用到的数据放到一个或多个空的容器(变量)中的过程,这个过程就叫赋值。

或者可以这样理解:用代码来设置变量值(包括对象属性值),就称为“赋值”。 就像你原来读小学,现在读中学了,你这个人“学历”
的变量值就由“小学”被赋为“中学”了。
=============================================================================================================================
⑵、容器的初始赋值(初始化)。

在易语言中,所有类型变量在程序被启动运行前,所有非静态局部容器在其所处子程序被开始执行前,都将被自动分配空间并初始化,也即
是在声明变量的同时系统将自动赋给变量一个固定的相应的初始值。对于严格的程序设计来说,必须清楚所有类型变量的赋值状态,否则可能
会导致不可预料的结果。

对于不同数据类型的变量,易语言给出的初始值是不同的。其中,数值型容器被初始化为零,逻辑型容器被初始化为假,日期时间型容器被
初始化为 1899 年 12 月 30 日 0 时 0 分 0 秒,文本型容器被初始化为空文本(“”),字节集型容器被初始化为空字节集,子程序指针型
容器被初始化为空子程序指针。
=============================================================================================================================
⑶、赋值规则。

赋值规则可以归结为“类型要一致”:①、赋值式两边的数据类型必须匹配;②、用于相加的多个变量,它们的类型也必须匹配;③、就象
上面所说,为了在赋值式中区别文本型数据和数值型数据,表示文本型数据的内容要用“”号括起来。这些前面说过了^_^

一般来说,容器内仅能被写入类型与容器本身数据类型一致的数据。譬如:将一个整数写入到整数型容器中,将一段文本写入到文本型容器
中等。比较特殊的是:任意数值类型的数据可以被写入到任意数值类型的容器中,系统将自动进行转换。譬如将一个短整数写入到整数型容器
中,将一个整数写入到小数型容器中等等,但是此时必须注意防止下面所提到的溢出问题。

打个比方,在炸炒米的机器里放入大米就是“赋值”。没有大米,整个过程就会是无米之炸,巧妇也难为啊。当大米炸好后得到米花,那可
就是“返回值”(处理结果)了。 在炸炒米机里可不能放入大白菜哦,这就是是所谓的类型匹配。如果不匹配,就会产生下面的错误表现:

①、容器溢出。比如下面的子程序:

我们也一边来操作来也一边来讲吧!!!需要按钮局部容器编辑框

子程序:_按钮1_被单击

局部容器:数值容器 数据类型:短整数型

数值容器 = 100

数值容器 = 数值容器 + 50000

编辑框1.内容 = 到文本 (数值容器)

我们代码直接复制进去 回车一下老的弄掉好了我们运行一下

我们知道,100+50000=50100,但是为什么执行上面的子程序后,编辑框的内容却是“-15436”呢?这就是我们上面中所说的溢出。因为,
“数值容器”的数据类型被我们定义为短整数型,所以系统仅为此容器分配了一个短整数的存储空间,据上面所述,短整数型数值的最大值为
32767,而结果值 50100大于了此数值,导致系统为容器1所分配的存储空间不能容纳该数值,部分数据被丢弃,从而得到了错误的结果。

代码我打包给大家实践一下
=============================================================================================================================
②、程序中断。若赋值式两边的数据类型不一致,就会使程序中断并出现错误提示信息,如:

子程序:_按钮1_被单击

局部容器:数值容器 数据类型:短整数型

编辑框1.内容 = 数值容器 错误(10044): 不能将“短整数型”数据转换到“文本型”数据。

这个我就不演示了反正是出错的没必要^_^

当运行上面的程序时,会中断运行并在状态夹的提示子夹中出现错误信息并用箭头指示出错的代码行:

“错误(20026): 现行容器或参数的数据类型与传递给它的数据的类型不一致”

这是因为“编辑框1.内容”(现行容器或现行变量)的数据类型是文本型,而“数值容器”却是短整数型,两者类型不一致,造成程序出错
并中断。若赋值式两边的数据类型不一致,就需要改变它们的类型使之匹配。对于对象的属性变量来说,由于系统给予它们固定不变的类型,
如果是给对象的属性赋值,就要使“=”号右边的类型与该属性的类型一致,如上例中“编辑框1.内容”是文本型,但“数值容器”是短整数型
,那么上面的赋值式要这样表达才是正确的:

编辑框1.内容 = 到文本 (数值容器)

注意,上面的语句不能表达为:编辑框1.内容 =“数值容器”,否则编辑框就只会出现“数值容器”这四个字。这个第1课就演示了

又如:数值型容器1=文本到数值(编辑框1.内容)

编辑框1.内容=时间到文本 (取现行时间())
=============================================================================================================================
赋值式右边相加的各个容器类型也要匹配,如:这个给大家实习吧!不然只看不做,,,会变傻的哦

开玩笑的,这个就给大家做吧!!!

子程序:_按钮1_被单击

局部容器:文本容器 数据类型:文本型

编辑框1.内容=到文本(取代码 (文本容器,)+到文本(标签1.左边)

好了,学习了上面的知识,你就不会再对“...类型不一致”之类的出错信息迷惑不解了。

学会了了解哪里出错就知道了哪里要修改代码虽然要回头去找浪费而时间总比你查看全部代码强吧^_^
=============================================================================================================================
好了 教程就到这里了 推荐大家多看几次内容比较多可能看一次不明白多看几次就好了

好了88


教程下载地址:点击下载
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-4-28 00:10 , Processed in 0.180310 second(s), 45 queries .

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表