一 : SecureCRT使用进阶篇
SecureCRT使用进阶篇
高睿 4536
1. SCREEN动作,等待字符串
crt.Screen.WaitForString "confirm:"
2. SCREEN动作,发送字符串
crt.Screen.Send "yes" & VbCr ——发送yes 并回车
crt.Screen.Send VbCr ——发送回车 Chr(13)
crt.Screen.Send “ ” ——发送空格 Chr(32)
crt.screen.sendkeys("^c") ——发送Ctrl+C
3. 等待
crt.sleep 200
4. 定义变量
Dim LocalIp
Dim com9600 Dim MyString, myArray, screen1
5. 变量赋值
com9600 = "串口" + ComNo +"-9600"
LocalIp = crt.Dialog.Prompt("请输入设备IP地址", "设备IP", "192.168.80.", False)
6. 弹出信息框 www.61k.com (MESSAGE [, TITLE [, BUTTONS]]) www.61k.com "恭喜你,文件创建成功"
securecrt使用 SecureCRT使用进阶篇
www.61k.com _
"恭喜你,版本升级完成" & vbcrlf & vbcrlf & _ "bootrom 升级完成,版本号为:" + BootRomVer & vbcrlf & vbcrlf & _
"mainrom1、mainrom2 升级完成,版本号为: " + SystemVer & vbcrlf & vbcrlf & _ "system1 system2 升级完成,版本号为: " + SystemVer & vbcrlf & vbcrlf & _
"正在为您重启系统……"
& _表示下一行的连接。[www.61k.com)
& vbcrlf表示回车。
7. 弹出对话窗口,获取参数值,赋给变量
LocalIp = crt.Dialog.Prompt("请输入Local IP,使用默认可
不
填
IP", "Local IP", "199.0.0.244", False)
8. 创建新的连接
www.61k.com ("/s mysession") 连接已创建的session
www.61k.com ("/telnet myhost 23") 创建一个telnet连接session
www.61k.com ("/SSH2 /PASSWORD password name@myhost") 创建一个ssh连接session
www.61k.com ("/Serial COM2 /BAUD 9600")创建一个console连接session
securecrt使用 SecureCRT使用进阶篇
9. 在新的TAB标签页创建连接 Set tab = www.61k.com ("/s mysession") 在新tab创建已有连接session Set tab = www.61k.com ("/telnet myhost 23") 在新tab创建一个telnet连接session
Set tab = www.61k.com ("/SSH2 /PASSWORD password name@myhost") 在新tab创建一个ssh连接session
Set objTab = www.61k.com ("/Serial COM2 /BAUD 9600")在新tab创建一个console连接session
10. 获得执行脚本所在TAB标签对象
Set objTab = www.61k.com
11. 获得当前窗口标签TAB,OBJTAB为标签对象
Set objTab = www.61k.com
12. 更改TAB标签名称,OBJTAB为标签对象
objTab.Caption = "tabname"
13. 获得第N个标签TAB,OBJTAB为标签对象
Set objTab = www.61k.com (n)
14. 切换TAB,OBJTAB为标签对象
objTab.Activate
15. 断开当前SESSION的连接
crt.session.Disconnect
16. 获取屏幕打印GET(不带格式)、GET2(带格式-回车RN) getscreen = www.61k.com (5,1,10,41)
www.61k.com getscreen
securecrt使用 SecureCRT使用进阶篇
getscreen = www.61k.com (5,1,10,41)
www.61k.com getscreen
17. 获取当前行、列位置(通过当前位置定位) crt.screen.CurrentColumn (列位置)
crt.screen.CurrentRow (行位置)
www.61k.com (总行数) screenrow=crt.screen.CurrentRow
crt.Screen.Send "help" & VbCr
crt.Sleep 2000
getscreen = www.61k.com (screenrow-3,1,screenrow-1,41)
18. 匹配结果
szOutput = www.61k.com ("error", "warning", "#", 10) Select Case crt.Screen.MatchIndex
securecrt使用 SecureCRT使用进阶篇
Case 0
MsgBox "Timed out!"
Case 1
MsgBox "Found 'error'"
Case 2
MsgBox "Found 'warning'"
Case 3
MsgBox "Found '#'"
End Select
19. 检查结果,比较操作
20. VBS CHR码值对应列表
Chr(0) 为0的字符
Chr(1)
Chr(2)
Chr(3)
Chr(4)
Chr(5)
Chr(6)
Chr(7) 响铃
Chr(8) 回格
Chr(9) tab(水平制表符)
Chr(10) 换行
Chr(11) tab(垂直制表符)
Chr(12) 换页
Chr(13) 回车chr(13) &chr(10) 回车和换行的组合 Chr(14)
Chr(15)
Chr(16)
Chr(17)
Chr(18)
Chr(19)
Chr(20)
Chr(21)
Chr(22)
Chr(23)
Chr(24)
securecrt使用 SecureCRT使用进阶篇
Chr(25)
Chr(26) 结束End
Chr(27) 脱离Pausebreak Chr(28)
Chr(29)
Chr(30)
Chr(31)
Chr(32) 空格SPACE Chr(33) !
Chr(34) "
Chr(35) #
Chr(36) $
Chr(37) %
Chr(38) &
Chr(39) '
Chr(40) (
Chr(41) )
Chr(42) *
Chr(43) +
Chr(44) ,
Chr(45) -
Chr(46) .
Chr(47) /
Chr(48) 0
Chr(49) 1
Chr(50) 2
Chr(51) 3
Chr(52) 4
Chr(53) 5
Chr(54) 6
Chr(55) 7
Chr(56) 8
Chr(57) 9
Chr(58) :
Chr(59) ;
Chr(60) <
Chr(61) =
Chr(62) >
Chr(63) ?
Chr(64) @
Chr(65) A
Chr(66) B
Chr(67) C
Chr(68) D
securecrt使用 SecureCRT使用进阶篇
Chr(69) E Chr(70) F Chr(71) G Chr(72) H Chr(73) I Chr(74) J Chr(75) K Chr(76) L Chr(77) M Chr(78) N Chr(79) O Chr(80) P Chr(81) Q Chr(82) R Chr(83) S Chr(84) T Chr(85) U Chr(86) V Chr(87) W Chr(88) X Chr(89) Y Chr(90) Z Chr(91) [ Chr(92) Chr(92) Chr(93) ] Chr(94) ^ Chr(95) _ Chr(96) ` Chr(97) a Chr(98) b Chr(99) c Chr(100) d Chr(101) e Chr(102) f Chr(103) g Chr(104) h Chr(105) i Chr(106) j Chr(107) k Chr(108) l Chr(109) m Chr(110) n Chr(111) o
securecrt使用 SecureCRT使用进阶篇
Chr(112) p Chr(113) q Chr(114) r Chr(115) s Chr(116) t Chr(117) u Chr(118) v Chr(119) w Chr(120) x Chr(121) y Chr(122) z Chr(123) { Chr(124) | Chr(125) } Chr(126) ~ Chr(127) Chr(128) Chr(129) Chr(130) Chr(131) Chr(132)
二 : 让你学会使用安卓 解读安卓的使用误区与功能
今年十月底,Google的开发者网站显示Android的全球市场占有率已经达到了84%,也就是说,你身边使用智能手机的人群当中,大部分人的手机使用的都是Android操作系统。这部分人群中,真正会用Android系统,了解Android系统的人又有多少呢?笔者自己也不敢说对 Android系统有着完全足够的了解,因为它实在非常庞大,但对比较实用的功能还是有一定认识的。读了这篇文章,或许会对你平日使用Android的习 惯有所改善。
不使用的软件一定要退出吗?
Android 系统刚刚面世的时候,应用市场上的内存管理软件琳琅满目,大多数人处于一种不是正在杀进程就是即将杀进程的状态,笔者当时也一样,2010年时的 Motorola Milestone只有256MB RAM,运行大程序时后台内存就会非常吃紧,如果不强制清除一些没有用的进程,桌面和软件会非常卡顿。
这就让很多认产生这样的认知,Android软件如果使用后一定要关闭,关闭不了的话就要通过内存管理或者设置中的应用管理去强制关闭。但事实果真如此?其实并不是。
Android软件的内存管理机制和Linux有所区别,后者是在进程停止后就立即结束,而Android则采取挂起状态,目的是让用户再次启动进程时 获得较快的访问速度。挂起的进程会保留在内存中,但一般不会运行,除非是需要推送的服务,是以极小的内存占用空间保持激活状态。
有人会问,如果挂起的程序太多了,内存不够用了怎么办?这时Android的内存管理便会采用Last Recently Used(最近使用过的程序)的垃圾回收机制通过排序进程来结束最不经常使用的那一个。同时这个机制会动态判断目前的剩余内存空间和程序使用频率,做到最 佳的结束进程选择。
那么遇到手机卡顿怎么办呢?最佳的办法,重启手机。引起卡顿的原因主要是内存不足,导致每次开启程序都会重 新载入进程。造成这种情况的原因是后台运行的程序过多,并且争抢保持运行的内存资源。这种状况往往出现在一些质量较次的程序中,即使你没有使用过它也会偷 偷载入到进程中,如果它实在干扰了你的正常使用,那就卸载了它吧。
一定要用第三方软件管理手机流量吗?
Android智能手机用户往往很在意流量的问题,在一寸流量一寸金的时代,很多用户都选择安装各种流量管理软件或者手机助手来帮助监控流量变化,其实大可不必。
在Android 4.0系统之后,默认加入了流量使用情况监视功能,它可以监视系统中所有程序的前后台流量使用情况,并可以通过设置上限进行流量超出提醒。
当然,不放心的人还可以设置移动数据流量上限,当超出后直接关闭移动数据,放置造成不必要的费用损失。
Android 5.0系统对这个功能进行了一定增强,可以单独选择应用程序进行后台流量限制,方法是点击设置——流量使用情况——应用名称——限制应用流量后台。这样就能防止使用移动网络时,应用在后台偷跑流量了。
一定要Root后才可以删除应用吗?
定 制机或非原生系统的手机时常有预装软件的情况出现,而不需要这些软件的用户也要忍受它们开机自动启动,甚至消耗宝贵的流量数据的行为。在Android 4.0之前,不想要这些软件碍眼的话只能通过Root系统然后再将其删除,但Root系统又会对系统安全性造成影响,让用户产生了两难的抉择。
而Android 4.0以后的系统中默认加入了停用这些软件的功能,它可以在设置菜单中的应用详细信息页面找到,通过点击停用按钮,这些应用就不会出现在你的程序列表中,同时也不会再后台运行了。
停用并不等同于卸载,因为它并不会删除整个应用程序,只是不让它显示和启动而已,当你想要重新打开这个应用,可以随时从设置菜单中启用它。当然,一些特殊应用不支持停用,这种情况你只能通过Root才能将其删除了。
除了停用一些不常用的应用外,Android系统也可以控制通知的显示与否,在应用信息左下角有“显示通知”这个复选框,勾上后,一些恼人的广告或者热点推送就都不见了,怎么样,是不是很清爽?
Android系统不安全?
这个问题需要从多方面进行讨论。只从系统的角度而言,Android、iOS和Windows Phone的安全性其实不相上下。那为什么Android系统会给人带来不安全的假象呢?这主要有以下几个原因:
1)应用分发渠道
相对于苹果而言,未越狱的设备,只有一种途径来安装ios应用程序,那就是iTunes。而目前的第三方应用助手,也仅仅是对其免费下载的付费应用进行虚拟授权,让iTunes以为其运行在已付费使用者的设备上,而不对其进行付费判断。这样一来,所有的iOS未越狱使用者,他们的应用来源只有iTunes,这样也就相对安全。
而对于Android而言,这种情况则相对复杂。因为PlayStore覆盖范围不完善,应用开发者可以通过其他平台来分发应用,这也就造成了第三方应用商店泛滥,监管不健全,为恶意软件的传播埋下了隐患。
2)碎片化
上图为截止到2014年8月的Android不同版本市场份额
碎片化为Android带来的影响是巨大的,这也为各种恶意软件带来了很多可乘之机。因为早期的Android版本并不能够通过Google Play来进行软件的安全性筛查,而后续的新版Android中,比如4.X以上的版本,可以通过Google Play Service中的安全控制,自动侦测系统中的不安全项目,从而尽早发现潜在威胁。
3)第三方软件漏洞
第三方软件频频爆出隐私漏洞以及恶意代码执行漏洞,这些漏洞风险不能完全依靠Google对代码的审查,也需要软件开发商在开发应用时更加严谨的态度。虽然Android 5.0中增加了支持系统补丁的功能,但也无法避免出现漏洞后在修补前造成的安全隐患。
4)不良的使用习惯
使用习惯导致的安全问题,不仅威胁到Android系统,其他系统也会因此导致很严重的安全问题,譬如随意点击短信中的链接,在未加密的网页中随意输入个人信息,以及随意打开浏览器下载好的APK安装包等等。
以上几种都是造成系统安全问题的原因,想要避免被恶意软件侵害,不仅要加强自身对隐私的保护意识,同时还需要厂商严加监管应用的制作以及分发。而Android系统本身的安全性,Google还是做得比较到位的。
Android一定要Root?
在Android系统是否Root这个问题上,用户都有自己不同的观点,我来谈谈我自己的看法。
首先,我个人是不推荐Root的,但并不代表我不曾Root设备。在早期Android设备上,Root确实可以获得特殊的功能,譬如运用内核控制器来 更改CPU主频、唤醒频率从而改善续航时间;通过获取系统管理权限对应用、界面做一些个性化的修改;通过更改Hosts来访问墙外的世界等等,这些都是 Root的好处。
为什么不推荐呢?主要还是从安全和稳定性方面去考虑。从安全性角度讲,一 旦用户获取了Root权限,就代表系统将大门面向所有人敞开。所有恶意软件可以控制“超级权限管理器”来对系统内部组件进行修改、控制,而这一切都可以在 你不知不觉的环境下进行,你的隐私将不再是隐私。
而稳定性方面,Root设备或多或少都会影响系统稳定性,当然我不排除这会增加系统稳定性的可能,但是考虑到日后系统升级时要保证系统完整性,Root就会对后续升级带来不必要的麻烦。
其次,目前我平时用到的功能,随着Android系统不断的完善,都可以在非Root的条件下达成,相对于普通用户而言,Root的必要性确实不如以前Android不完善时高了,而对于开发者和喜欢折腾的用户来讲,Root还是比较有意义的。
总结
Android 系统作为一个复杂的操作系统,某些功能确实隐藏得比较深,并且系统没有给用户足够的指引去操作这些功能,这恰恰成为了市面上各种手机助手出现的原因。但事 实上这些手机助手除了帮助用户通过简单的手段达成目的外,不一定能真正起到优化系统的作用。更有甚者会在后台扫描用户数据,盗用个人信息。而当你熟悉了这些系统自身提供的功能,就能对自己的手机了如指掌,使用起来更加放心。
三 : vim学习进阶 better、faster、stronger使用说明
1、first stage
a:在光标处插入
x:删除光标所在字符
hjkl:代替光标键
2、second stage
o:在当期行后插入新行 O:在当前行前插入新行
cw:替换从光标所在位置到单词结尾的字符
0:到行头 $:到行尾
^:到行头第一个非空白字符 g_:到行尾第一个非blank字符位置
:e path/to/file 打开一个文件 :saveas path/to/file 另存为 :bn :bp同时打开多个文件时,切换下一个或下一个文件
ZZ: 退出并保存
3:stronger
. 重复上一个命令
gu:变小写 gU变大写
w:到单词头 e:到单词尾
%:匹配括号移动*和#匹配光标所在按此,移动光标到下一个或上一个匹配单词
4:faster
<start position>command<end position>
v模式:ctrl+v快操作 ctrl+d向下移动
选中后,J将选中行拼接成一行 =自动缩进
四 : 你真的会用安卓?使用误区与功能解读
今年十月底,Google的开发者网站显示Android的全球市场占有率已经达到了84%,也就是说,你身边使用智能手机的人群当中,大部分人的 手机使用的都是Android操作系统。这部分人群中,真正会用Android系统,了解Android系统的人又有多少呢?笔者自己也不敢说对 Android系统有着完全足够的了解,因为它实在非常庞大,但对比较实用的功能还是有一定认识的。读了这篇文章,或许会对你平日使用Android的习 惯有所改善。
不使用的软件一定要退出吗?
Android 系统刚刚面世的时候,应用市场上的内存管理软件琳琅满目,大多数人处于一种不是正在杀进程就是即将杀进程的状态,笔者当时也一样,2010年时的 Motorola Milestone只有256MB RAM,运行大程序时后台内存就会非常吃紧,如果不强制清除一些没有用的进程,桌面和软件会非常卡顿。
这就让很多认产生这样的认知,Android软件如果使用后一定要关闭,关闭不了的话就要通过内存管理或者设置中的应用管理去强制关闭。但事实果真如此?其实并不是。
Android软件的内存管理机制和Linux有所区别,后者是在进程停止后就立即结束,而Android则采取挂起状态,目的是让用户再次启动进程时 获得较快的访问速度。挂起的进程会保留在内存中,但一般不会运行,除非是需要推送的服务,是以极小的内存占用空间保持激活状态。
有人会问,如果挂起的程序太多了,内存不够用了怎么办?这时Android的内存管理便会采用Last Recently Used(最近使用过的程序)的垃圾回收机制通过排序进程来结束最不经常使用的那一个。同时这个机制会动态判断目前的剩余内存空间和程序使用频率,做到最 佳的结束进程选择。
那么遇到手机卡顿怎么办呢?最佳的办法,重启手机。引起卡顿的原因主要是内存不足,导致每次开启程序都会重 新载入进程。造成这种情况的原因是后台运行的程序过多,并且争抢保持运行的内存资源。这种状况往往出现在一些质量较次的程序中,即使你没有使用过它也会偷 偷载入到进程中,如果它实在干扰了你的正常使用,那就卸载了它吧。
一定要用第三方软件管理手机流量吗?
Android智能手机用户往往很在意流量的问题,在一寸流量一寸金的时代,很多用户都选择安装各种流量管理软件或者手机助手来帮助监控流量变化,其实大可不必。
在Android 4.0系统之后,默认加入了流量使用情况监视功能,它可以监视系统中所有程序的前后台流量使用情况,并可以通过设置上限进行流量超出提醒。
当然,不放心的人还可以设置移动数据流量上限,当超出后直接关闭移动数据,放置造成不必要的费用损失。
Android 5.0系统对这个功能进行了一定增强,可以单独选择应用程序进行后台流量限制,方法是点击设置——流量使用情况——应用名称——限制应用流量后台。这样就能防止使用移动网络时,应用在后台偷跑流量了。
一定要Root后才可以删除应用吗?
定 制机或非原生系统的手机时常有预装软件的情况出现,而不需要这些软件的用户也要忍受它们开机自动启动,甚至消耗宝贵的流量数据的行为。在Android 4.0之前,不想要这些软件碍眼的话只能通过Root系统然后再将其删除,但Root系统又会对系统安全性造成影响,让用户产生了两难的抉择。
而Android 4.0以后的系统中默认加入了停用这些软件的功能,它可以在设置菜单中的应用详细信息页面找到,通过点击停用按钮,这些应用就不会出现在你的程序列表中,同时也不会再后台运行了。
停用并不等同于卸载,因为它并不会删除整个应用程序,只是不让它显示和启动而已,当你想要重新打开这个应用,可以随时从设置菜单中启用它。当然,一些特殊应用不支持停用,这种情况你只能通过Root才能将其删除了。
除了停用一些不常用的应用外,Android系统也可以控制通知的显示与否,在应用信息左下角有“显示通知”这个复选框,勾上后,一些恼人的广告或者热点推送就都不见了,怎么样,是不是很清爽?
Android系统不安全?
这个问题需要从多方面进行讨论。只从系统的角度而言,Android、iOS和Windows Phone的安全性其实不相上下。那为什么Android系统会给人带来不安全的假象呢?这主要有以下几个原因:
1)应用分发渠道
相对于苹果而言,未越狱的设备,只有一种途径来安装ios应用程序,那就是iTunes。而目前的第三方应用助手,也仅仅是对其免费下载的付费应用进行虚拟授权,让iTunes以为其运行在已付费使用者的设备上,而不对其进行付费判断。这样一来,所有的iOS未越狱使用者,他们的应用来源只有iTunes,这样也就相对安全。
而对于Android而言,这种情况则相对复杂。因为PlayStore覆盖范围不完善,应用开发者可以通过其他平台来分发应用,这也就造成了第三方应用商店泛滥,监管不健全,为恶意软件的传播埋下了隐患。
2)碎片化
上图为截止到2014年8月的Android不同版本市场份额
碎片化为Android带来的影响是巨大的,这也为各种恶意软件带来了很多可乘之机。因为早期的Android版本并不能够通过Google Play来进行软件的安全性筛查,而后续的新版Android中,比如4.X以上的版本,可以通过Google Play Service中的安全控制,自动侦测系统中的不安全项目,从而尽早发现潜在威胁。
3)第三方软件漏洞
第三方软件频频爆出隐私漏洞以及恶意代码执行漏洞,这些漏洞风险不能完全依靠Google对代码的审查,也需要软件开发商在开发应用时更加严谨的态度。虽然Android 5.0中增加了支持系统补丁的功能,但也无法避免出现漏洞后在修补前造成的安全隐患。
4)不良的使用习惯
使用习惯导致的安全问题,不仅威胁到Android系统,其他系统也会因此导致很严重的安全问题,譬如随意点击短信中的链接,在未加密的网页中随意输入个人信息,以及随意打开浏览器下载好的APK安装包等等。
以上几种都是造成系统安全问题的原因,想要避免被恶意软件侵害,不仅要加强自身对隐私的保护意识,同时还需要厂商严加监管应用的制作以及分发。而Android系统本身的安全性,Google还是做得比较到位的。
Android一定要Root?
在Android系统是否Root这个问题上,用户都有自己不同的观点,我来谈谈我自己的看法。
首先,我个人是不推荐Root的,但并不代表我不曾Root设备。在早期Android设备上,Root确实可以获得特殊的功能,譬如运用内核控制器来 更改CPU主频、唤醒频率从而改善续航时间;通过获取系统管理权限对应用、界面做一些个性化的修改;通过更改Hosts来访问墙外的世界等等,这些都是 Root的好处。
为什么不推荐呢?主要还是从安全和稳定性方面去考虑。从安全性角度讲,一 旦用户获取了Root权限,就代表系统将大门面向所有人敞开。所有恶意软件可以控制“超级权限管理器”来对系统内部组件进行修改、控制,而这一切都可以在 你不知不觉的环境下进行,你的隐私将不再是隐私。
而稳定性方面,Root设备或多或少都会影响系统稳定性,当然我不排除这会增加系统稳定性的可能,但是考虑到日后系统升级时要保证系统完整性,Root就会对后续升级带来不必要的麻烦。
其次,目前我平时用到的功能,随着Android系统不断的完善,都可以在非Root的条件下达成,相对于普通用户而言,Root的必要性确实不如以前Android不完善时高了,而对于开发者和喜欢折腾的用户来讲,Root还是比较有意义的。
总结
Android 系统作为一个复杂的操作系统,某些功能确实隐藏得比较深,并且系统没有给用户足够的指引去操作这些功能,这恰恰成为了市面上各种手机助手出现的原因。但事 实上这些手机助手除了帮助用户通过简单的手段达成目的外,不一定能真正起到优化系统的作用。更有甚者会在后台扫描用户数据,盗用个人信息。而当你熟悉了这 些系统自身提供的功能,就能对自己的手机了如指掌,使用起来更加放心。
五 : AxureRP教程:变量使用进阶
变量是AxureRP当中交互设计的精华所在,很多交互功能都需要用到变量,以达到更为丰富的展示效果,才使AxureRP能够实现大部分现有WEB产品上的交互逻辑。但变量也相对来说较难掌握,一般都需要对AxureRP有较为深入的使用了解之后,才能逐渐的掌握变量的使用,很多朋友使用AxureRP就是简单的堆砌一个静态的页面出来,那是根本用不到像变量这样的高级功能的,只有复杂的动态交互才会涉及到,因为还需要对各交互进行类似条件判断的控制,对交互的逻辑高要求了,自然就会用到高级的功能。
关于变量的使用,前面已经有写过三篇教程,从不同的方面和使用场景做了说明,分别是《AxureRP教程—使用变量》,《AxureRP教程—变量运算》,《AxureRP教程—变量和函数详解》。但还是有很多朋友反馈变量这部分比较难以理解,其实如果学过编程的话,使用起来会顺手很多,所以大学里的计算机基础要扎实啊。这里就再总结一下,从应用的角度来概述一下AxureRP中变量的功能。
首先还是要再说明一下变量的种类,从AxureRP 6.0版本开始,增加了局部变量的功能,因此就有全局变量和局部变量两种,这个分类很像程序里面的变量设置,所以熟悉编程的朋友应该很好理解其中的区别:
全局变量Global Variable:默认显示名称OnLoadVariable,作用范围为一个页面内,即站点地图面板中一个节点(不包含子节点)内有效,所以这个全局也不是指整个原型文件内的所有页面通用,还是有一定的局限性的。全局变量可以直接赋值,这个值可以是常量,从下图所支持的赋值方法当中可以看出。
Value:直接附一个常量,数值、字符串都可以;
Value of variable:获取另外一个变量的值;
Length of variable value:获取另外一个变量的值的长度;
Selected option of:获取列表框组件、下拉列表框组件里面选中的值;
Is checked of:获取单选框组件、复选框组件的值;
Text on widget:获取单行输入框组件、多行输入框组件的值;
Length of widget value:获取单行输入框组件、多行输入框组件、列表框组件、下拉列表框组件的值的长度;
Text on focused widget:获取当前光标所在组件的值,这个没有用过,不知道效果咋样。
局部变量Local Variable:默认显示名称LVAR1,LVAR2…,作用范围为一个case里面的一个事务,一个事件里面有多个case,一个case里面有多个事务,可见局部变量的作用范围非常小。例如在case里面要设置一个条件的话,如果用到了局部变量,这个变量只在这个条件语句里面生效。且局部变量只能依附于已有组件的使用,不能直接赋值,这个从下图的局部变量所支持的赋值功能中可以看出。从这点来看,全局变量比局部变量要多三个赋值方法。
其次是从使用方式来看,在应用的时候,局部变量的作用范围决定了其只能充当事务里面的赋值载体,因此更多的是在函数当中用到,充当函数的运算变量,因此不会在外部页面级的逻辑中看到,详细的可以看《AxureRP教程—变量和函数详解》。应用最多的还是全局变量,个人总结了一下,大概有以下三种常见的应用场景。
做赋值的载体
形象点说就是发挥中间人的作用,因为全局变量支持了多达8种赋值方法,其中有5种是获取组件值的,因此其可以作为组件间值的传递的媒介,比如要将一个文本块(text panel)组件的值传给另个文本块组件,直接传递是不能实现的,需要用到全局变量的text on widget赋值方法,先将其中一个文本块的值赋给变量,再将变量的值附给另一个文本块;再比如要获取某个列表框所选择的值时,也可以通过这种方式来。总之,当需要实现组件和组件之间值的传递时,可以用全局变量来做中间人,因为AxureRP暂不支持组件间直接相互传递值。
做参数的载体
全局变量支持直接赋值,也支持获取别的全局变量的值,我们可以利用这一特性让变量作为参数来实现某些功能。比如同一个按钮要实现跳转到不同页面的时候,就需要两个变量来配合实现,一个变量充当参数,记录在原型演示过程当中产生的值的变化,另个一个变量来获取这个值,从而决定归属。如参数是1时跳转到什么页面,参数是2时跳转到什么页面,参数是3是跳转到什么页面,这里的关键是要记录下参数值的变化,最常见的情景是每点一次按钮,参数值要加1或者减1,或者页面LOAD的时候要给一个初始值。
做条件判断的载体
全局变量的赋值方式很多,当获取到值进行直接使用时,就是用来做条件判断了,上述两种都是获取到值之后的间接使用。比如常见的根据输入密码的长度来判断密码复杂度的功能,就是用变量获取到组件值的长度,然后根据这个长度来直接进行判断。上述参数部分的第二个变量充当的也是条件判断的载体。
上面描述的这三种应用场景都是最常见的,变量的应用可以非常丰富多样,关键还是看设计者如果去使用,用的好就是神来之笔,用的不好反而会使设计复杂化。我们要遵循快速原型设计,尽量降低原型的复杂度,能不用变量这么复杂的功能就不用,当然有时候为了追求演示效果,个人认为可以高要求一下。
文章来源:itfarmer.com.cn
本文标题:vivado使用误区与进阶-SecureCRT使用进阶篇61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1