书香雅阁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 482|回复: 0

【变量的权限类型】

[复制链接]

376

主题

399

帖子

158万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1581325
发表于 2023-2-28 20:34:35|字数:946 | 显示全部楼层 |阅读模式
LV10 站长

易语言变量有3种,全局变量,程序集变量,局部变量

局部变量就是只在子程序内部有效
程序集就是只在当前程序集有效(同一个窗口或程序集下的子程序可以共同调用)
全局变量就是在全局有效(多个窗口或程序集之间任意子程序可以共同调用)

程序集变量和全局变量在使用上差别不大,重点就是局部变量



局部变量最大的特点:
子程序被调用时当场创建,当场释放

比如我们写一个软件,统计按钮被单击的次数
错误写法:

  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
单击次数整数型  
单击次数 = 单击次数 + 1
调试输出 (单击次数)


这种写法,调试输出的值始终为1,根据前面课程的讲解,变量在“=”右边表示读取,所以单击次数+1=0+1(单击次数是整数型的变量,初始值为0),
子程序内部的变量是相互独立的,也就是说就算该子程序被同时调用多次,彼此之间也是不会影响的,理解这句话很重



正确写法:
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
单击次数整数型  

子程序名返回值类型公开备 注
_按钮1_被单击  
单击次数 = 单击次数 + 1
调试输出 (单击次数)


所以这种写法需要使用程序集变量或全局变量
总结:
当多个子程序需要共同对某个变量进行操作时,就需要使用程序集变量或全局变量

难点:

全局变量就是需要多个窗口调用同一变量时需要使用到,这种情况大家可能想不出来,那我们举个例子:
比如我们使用某个软件时,在大窗口点击删除卡密“aaa”,结果弹出一个小窗口,提示是否确定删除用户“aaa”,小窗口怎么知道我们要删除的用户是“aaa”,我们是在大窗口操作的呀,这说明他们使用了全局变量,我们选择的用户信息存储到一个全局变量中,所以我们在大窗口点击时,全局变量存储了这个用户信息,在小窗口中可以读取,出来这下理解了吗?

(点击返回课程目录https://shuxiangyage.net/forum.php?mod=viewthread&tid=1134
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|书香雅阁论坛 ( 湘ICP备17011672号-3 )

GMT+8, 2024-4-20 18:31 , Processed in 0.111104 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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