找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 3311|回复: 9

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

[复制链接]

614

主题

3047

回帖

4905

牛毛

二级牛人

站长

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

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

今天我们继续讲容量的最后一节.变量的生命周期与作用范围.
=============================================================================================================================
变量的生命周期和作用范围  

台湾著名的VB专家王国荣先生说:“如果把程序比喻成人体,那么调用语句、赋值语句、条件语句、循环语句…等语句就好像人体的骨骼、

器官、肌肉…等组织,而数据则像流通于其中的血液,组织一旦成形就不会改变,但血液却会到处流窜,比较不好掌握…”。

下面我们就继续说明变量这个数据类型在程序中如何充当血液的作用的。 我们来举例吧

★、变量的生命周期

我们先来看下面一个例子,这个例子是点击按钮1在编辑框1里循环变换显示0 - 5这六个数字,下面的代码无法实现这个功能,我们一起来看看问题在哪里:

子程序:_按钮1_被单击
容器名:数字 类型:整数

编辑框1.内容 = 到文本(数字)
数字 = 数字 + 1
如果真(数字 > 6)           看起来好像没问题是吧!
数字 = 0
如果真结束                        不信自己试下,,,

以上子程式表面看来好象没有什么问题,但每点击“按钮1”编辑框1里的内容都是“0”,这是为什么?类似这样的问题是初学者几乎都会
遇到的。如果我们把“数字”这个容器修改为静态容器(选中该容器的静态属性),运行就会成功了:

怎样改为静态容器? 我们来看下点击静态下面的那个格就行了

子程序:_按钮1_被单击
容器名:数字 类型:整数<静态>   这个静态就是点了
编辑框1.内容 = 到文本(数字)
数字 = 数字 + 1
如果真(数字 > 6)
数字 = 0
如果真结束

代码我就不演示反正上面修改的方法在了 大家自己动手做下好了

在上面这个子程序中,每点击一次按钮1,“数字”的值都会被加一并被保留,于是每次输出到编辑框1的数字就会依次递增(0,1,2,3,
4,5),到5后再从0开始循环,如下:

数字 = 0
数字 = 1
数字 = 2
数字 = 3
数字 = 4
数字 = 5
        这关与静态与非静态来说了          看这句
为什么子程式一每点击一次按钮,数字都是0,而子程序二每点击一次按钮,数字都会按要求变化?其关键在于静态容器和非静态容器的生
命周期不同。 可能有点难懂我速度慢一点大家好好看             
=============================================================================================================================
我们来了解什么是静态容器和非静态容器

⑴、静态容器和非静态容器

所谓静态,就是静止存在,当所处子程序退出时,此类容器能够保留住现行内容以供下次继续使用。静态容器的最重要的特性是当子程序执
行到最后时,变量所占用的内存不会被释放,而变量值一直保留着,直到程序被退出。   大家记好了实在记不住可以相想刚才的例子

而非静态的容器就不能,下次进入子程序时它将被重新初始化(比如整数型变量的初始值是0),例程一中的语句 “数字 = 数字 + 1 ”
根本没有任何作用,这就是为什么非静态容器的内容在显示时始终为 0 的原因。非静态容器最重要的特性就是当子程序执行到最后时,变量所
占用的内存就会被释放,而变量的内容也跟着消失。   两种是不同的  大家要看详细点 没语音也没办法了

在子程序一中,“数字”的生命周期起于“编辑框1.内容 = 到文本(数字)”,结束于“如果真结束”。但是在子程序二中“数字”的生
命周期却是起于程序被载入,结束于程序被载出,子程序二中的“数字”的生命周期长于子程序一中的“数字”。

初学者可能弄不明白为什么要有静态容器和非静态容器之分,有多种理由,如:

①、静态容器占用的内存资源比非静态容器多,所以能用非静态容器时就尽量不用静态容器;

②、有时候变量内容需要保留,那么我们就要用到静态变量,但有时候在程序中变量的内容不需要保留,这时候如果使用静态变量同样也会出错。初学者要注意搞清什么时候要用静态容器,什么时候要用非静态容器,正如上面的例子一样。我们可以把上面例子作为静态容器应用的例程。

⑵、什么是程序集容器

在上面的循环显示数字的例程中,我们也可以用程序集容器来代替静态局部容器,如:

窗口程序集名:窗口程序集1

容器名:数字类型:整数

程序集容器的生命周期与静态容器相同,起于程序被载入时,灭于程序被退出时。

★、变量的作用范围

无论是初学者或是专业程序员,都需要在使用变量之前,了解变量的使用范围,这是非常重要的。

所谓变量的使用范围(作用域)是指变量所起作用的范围,即变量在代码区域的哪些部分是可用的,一旦超出了这个范围变量将不可用。易
语言根据变量作用的范围大小将变量分为全局容器、程序集容器和局部容器。这三种容器的建立方法请看前面的变量声明的内容。

我们接下来介绍这三种容器  都不同的  不要乱了脚步哈所以说这些基本的东西一定要记清楚

⑴、全局容器:在全局容器表内定义的容器被称为“全局容器”,可以被整个应用程序中的所有子程序使用。

⑵、程序集容器:在程序集容器表内定义的容器被称为“程序集容器”, 仅能够被此程序集中的所有子程序使用。

⑶、局部容器:在子程序容器表内定义的容器被称为“局部容器”,仅能够被此子程序所使用。

划分变量的使用范围之所以重要,是因为我们声明变量要根据变量的作用范围而定,比如只在某子程序中使用的变量,我们就要声明为局部
容器;在某窗口程序集中被两个或以上子程序应用的变量我们就声明为程序集容器;如果某变量在整个程序中都有应用,我们就声明为全局容
器。   看详细下  这些 .

有初学者可能会说,为什么要这么麻烦,既然全局容器在整个程序中都适用,不管三七二十一,把所有变量都声明为全局容器,这样每个子
程序都可以调用这些变量,不是更方便吗?

我们区分全局容器、程序集容器和局部容器也有多种原因,如:

①、是为了方便侦错。也就是说如果变量的定义太乱,那么当程序出错时,我们就很难查找出错之处,尤其对于大型程序来说,侦错的工作

就会非常困难。

②、由于三种变量所占用的系统内存不一样,就会对程序的运行造成不同的影响。同样的功能 当然内存占用越少越好了大家说是不

这些大家都要注意能用简单的地方就尽量简单太复杂反而自己弄混当然该复杂的地方就不能偷懒
=============================================================================================================================
好了  这节课就这样了 内容大家还是要复习下节那是操作课了大家最好复习一下前面的东西不懂的可以去论坛找我也可以去我的博客留言博客地址再我的帖子下面可以看到直接点下就过去了 

好了88


教程下载地址:点击下载

0

主题

11

回帖

14

牛毛

初生牛犊

积分
14
QQ
发表于 2008-11-2 10:14:10 | 显示全部楼层 来自 河南省洛阳市
学习! 希望楼主可以多做一些实例的教程!谢谢![s:162]

1

主题

22

回帖

30

牛毛

初生牛犊

积分
30
发表于 2008-11-2 13:23:29 | 显示全部楼层 来自 江苏省宿迁市
不是说15课的嘛 还有一课呢?--!

1

主题

34

回帖

46

牛毛

初生牛犊

积分
46
QQ
发表于 2008-11-12 21:34:33 | 显示全部楼层 来自 北京市
楼主, 我来报道学习拉

2

主题

3

回帖

7

牛毛

初生牛犊

积分
7
发表于 2008-12-25 00:34:49 | 显示全部楼层 来自 浙江省杭州市

因为一个软件,我们分手了

跟我一起相处五年的男友就因为一个软件,和我分手了。我从来没想过我们之间的结局会因为一个软件而终结,但事情就是这样真真实实的发生了。

我跟男友认识五年了,他长相很一般,家里也没什么钱。大学我们就认识了,还相处过一年的时间,我的第一次也献给了他,当时还天真的要和他结婚过一辈子。

后来他退学,离开了校园,说是因为家里的原因不得不退学去外面找份工作供弟弟上学,女人最容易被感情冲昏头脑,我曾经一度要闹着退学跟他一起,一起工作。家里死活都是不同意,妈妈还放出话要和他小子在一起就等她死,同学也劝我仔细想想,是啊我的自身条件也不差父母都在国企有稳定工作,我168,长相也还算对得起观众,找什么男人不好,非要找一个缀学的穷光蛋。

我又在学校待了1年,我们分开后他没有给我打过一次电话,我忍不住拨通了他的号码,那熟悉的一串数字却传来了对方已停机的叫声,好长一段时间我情绪很是失落,他怎么这么没有良心,后来我交了好几个男朋友,想要自己忘记,多到自己都数不过来了。当然还有一些Z爱的事情,也只有那个时候心情才会完全放松。大学就这样堕落的结束了。

毕业后他给我打电话说,他和几个朋友对钱在A城刚了一个小贸易公司,我是学网络营销的,想让我去帮帮忙。我一口就答应了,毕竟我还是最放不下他的。

见面那天他说现在资金紧缺就不请我在外面吃饭了,他在家做给我吃,顺便介绍一下公司的情况。我到了他家,他一把抱住我说他还是爱我的,这一年他每天都在想我,却不敢给我打电话,觉得自己配不上我。他一直在算着我毕业的时间,毕业尝试着拨通我的号码,没想到竟然接通了。我一下子就哭了,这些年我的号码一直舍不得换,也不很少关机,就算没钱也要借钱把电话欠费交了。我们那天聊得很少,大部分时间都是看着对方什么也没有说。然后我们脱掉对方的衣服,做了那个事情,我很顺从,感觉这好像是理所应当的一样。但这次他那家伙变得更长、更粗、更有力量了。

第二天我去他公司看了看,真的很小的一个公司,整个公司只有三张桌子几个电话,其他什么都没有。我了解到他公司的困境后,虽然我也只是刚毕业没有工作经验,但还是坚信我一定能帮到他的。我利用学校里学的,竭尽所能的工作着,公司网络营销的全部都是我来做的。我为他公司制作了网站,在论坛发帖子、把供应信息发送到供求等网站。没想到的是网络竟让成了他公司客户的主要来源。

一年后,他的业务慢慢好了起来,但还不至于说赚到大钱,而我每天的工作依然是发发帖子、发布一些信息、在维护维护公司的网站。他曾经开玩笑的跟我说:原来营销这么简单啊,每天上网发发信息就可以了,人人都会。

后来公司有招聘了两个员工,和我的工作一样,就是在网上发布信息。他整天忙着在外面拜访客户、请客户吃饭,我整天呆在公司。一天也只有早上半个小时也晚上能够在一起,他晚上回家很晚经常在十点以后,回家后倒床就睡,有时候甚至整夜都不回家,问他在干什么,他就说陪客户玩了一晚上。我问他有没有跟客户去找小姐,他说工作需要有时候为了做成生意要请客户去那地方消费,但自己绝对不碰小姐的。

虽然我相信他,但是事实就是这样,我们之间的距离越来越远,我有时候晚上想他了给他打电话,他总是匆忙说两句就挂电话,说是正在和客户谈生意不方便。

生意越做越大,员工也越来越多,公司也搬迁换更大的地方了。我每天的工作还是发帖、发信息,重复、乏味,让人心烦。

后来我无意中发现一个叫“推广小助手”的群发软件可以自动在网上发帖、发布供应信息,心想这下好了,有了这个论坛群发软件,再也不用做哪些让人头疼的发帖工作了。我把软件拿给他看,他很快就决定购买一套,说是送给我的礼物。

谁知道这就是我们分手的导火索,我越来越清闲,每天打开那个软件就什么也不用管了,而且发送的数量远远比之前手工发送的多太多了。没天能发送几万个帖子。那段时间他生意好的不得了。我整天上班还可以看看新闻、看看电影什么的。

几个月后,公司再次搬迁,搬到了一个非常豪华的办公楼,面积也很大,他终于有了自己的办公室,而我则和其他员工一样坐在大厅里,我和他之间的共同语言越来越少。

和他在一起这么久了,我也到了结婚的年龄,但他重来不跟我谈结婚的事情,我又一次小心翼翼的问他说我们结婚吧,他却笑道,这么早啊,他还小,还要闯事业,他的意思是30岁以后再结婚。但我等不了了,等他30岁我不就高龄产妇了,他根本就不考虑我的感受。

都说男人一有钱了就会学坏,他还是那样天天回家很晚,甚至连续几天不回家。我一个人在家,忍不住去想他是不是在外面有人了,为什么不考虑一下我的感受。

我偷偷拿到他的手机,发现里面和一个叫青青的女孩的短信都很恶心,短信里还说他现在女朋友(也就是说我)整天闲着没事,吃白饭,老是缠着他,很烦,那女孩叫他老公别烦我和你在一起很开心。我一下子就傻了,头都大了,怎么也不相信自己的眼睛。

整整一个星期我心痛如刀割一样,脑子里不断回响着“整天闲着没事,吃白饭,老是缠着他”这句话。有时候躲在公司的卫生间里偷偷的哭。晚上睡不好觉。

他冷冷的问我怎么了,这几天脸色这么难看,我也只好说昨天失眠没睡好。他要离开我了怎么办,难道就是因为那个推广小助手的破软件,让他觉得我已经不重要了吗?

我决心一定要向他问明白,我问他手机里的短信到底是怎么回事,他却火了,说我没事儿翻他手机干什么。知道什么叫隐私吗。我又问他那个叫青青的女孩是谁,他一巴掌打在我脸上,后面的事情我真的写不下去了,我的心在滴血,他把我赶出家门…………

最终我们还是分手了,虽然我极力想要去挽留,我们之间的关系就像是一缕青烟,当你本能的伸手想要去抓住,挥动手臂带来的气流却把这缕纤细的烟雾完全冲散。

我什么都没做错,为什么会这样,他永远都不知道我在他手机上看到了什么内容,而那些内容又多么伤人。就是那个推广小助手软件惹的祸,要不他也不会说我整天闲着没事儿,吃白饭,那个软件的网址http://www.tgxzs.com 有没有黑客能把它给黑掉,不要让他再害人了。

2

主题

18

回帖

26

牛毛

初生牛犊

积分
26
发表于 2008-12-27 19:59:17 | 显示全部楼层 来自 辽宁省锦州市
顶贴是个好孩子 [s:165]

3

主题

198

回帖

2435

牛毛

二级牛人

积分
2435
发表于 2012-6-7 21:33:35 | 显示全部楼层 来自 重庆市
楼主, 我来报道向你学习

1

主题

645

回帖

74

牛毛

初生牛犊

积分
74
发表于 2012-6-7 22:12:54 | 显示全部楼层 来自 安徽省芜湖市
此帖必火!

36

主题

271

回帖

108

牛毛

一级牛人

积分
108
发表于 2012-6-10 19:55:37 | 显示全部楼层 来自 安徽省马鞍山市
让人学习,让人进步

10

主题

772

回帖

127

牛毛

一级牛人

积分
127
发表于 2012-9-11 10:56:07 | 显示全部楼层 来自 广东省汕头市
其实我不是看很懂在表达什么?,,,,,,,,,,,企业需学电子商务
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

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

GMT+8, 2025-4-25 03:33 , Processed in 0.204959 second(s), 77 queries .

Powered by Discuz! X3.5

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