数字故事脚本范例js执行

发布时间:2020-06-28 来源:脚本之家 点击:



Collection类的第二个主要的不足之处是不能创建列举函数作者:slightboy
看到好多同学权限判断都是用字符串然后或分割或截取

其实对于允许/不允许(true/false)这种的权限,用逻辑运算再恰当不过了

声明下:本文针对入门和为掌握的同学,如果已经懂了那可以无视了

可能意思表达的不是很清楚,敬请原谅.

逻辑运算符介绍:
And:逻辑与

0And0=0
0And1=0
1And0=0
1And1=1
Or:逻辑或

0Or0=0
0Or1=1
1Or0=1
1Or1=1
Xor:异或

0Xor0=0
0Xor1=1
1Xor0=1
1Xor1=0
Not:逻辑非

Not1=0
Not0=1


表达方式介绍:

1表示ture,0表示false

举二位为例

第一位表示Read的权限,第二位表示Write的权限,可以表示一下四种权限

00Read(false)Write(false)
01Read(true)Write(false)
10Read(false)Write(true)
11Read(true)Write(true)


运算方式介绍:

还是继续上面的例子

Read=01(1),Write=10(2)

00(0)AndRead=0
01(1)AndRead=Read
10(2)AndRead=0
11(3)AndRead=Read
00(0)AndWrite=0
01(1)AndWrite=0
10(2)AndWrite=Write
11(3)AndWrite=Write


下面给出示例代码:

权限定义类(要有枚举类型该多好啊...)

ClassPermissionType

PublicRead
PublicWrite
PublicDelete

PrivateSubClass_Initialize
Read=1
Write=2
Delete=4
EndSub

EndClass
权限类

ClassPermissionSetComponent

PrivateintValue

PublicPropertyGetRead()
Read=GetValue(Permission.Read)
EndProperty

PublicPropertyLetRead(arg)
CallSetValue(Permission.Read,arg)
EndProperty

PublicPropertyGetWrite()
Write=GetValue(Permission.Write)
EndProperty

PublicPropertyLetWrite(arg)
CallSetValue(Permission.Write,arg)
EndProperty

PublicPropertyGetDelete()
Delete=GetValue(Permission.Delete)
EndProperty

PublicPropertyLetDelete(arg)
CallSetValue(Permission.Delete,arg)
EndProperty

PublicPropertyGetValue()
Value=intValue
EndProperty


PublicPropertyLetValue(arg)
intValue=arg
EndProperty

PublicFunctionGetValue(intType)
GetValue=(ValueandintType)=intType

EndFunction

PublicSubSetValue(intType,boolValue)
IF(boolValue)Then
Value=ValueOrintType
Else
Value=ValueAnd(NotintType)
EndIF
EndSub

EndClass
运用示例代码:

DimPermission:SetPermission=newPermissionType

DimPermissionSet:SetPermissionSet=newPermissionSetComponent
PermissionSet.Value=0
w("Read:")
PermissionSet.Read=false
w(PermissionSet.Value&""&PermissionSet.Read)

PermissionSet.Read=true
w(PermissionSet.Value&""&PermissionSet.Read)

w("Write:")
PermissionSet.Write=false
w(PermissionSet.Value&""&PermissionSet.Write)

PermissionSet.Write=true
w(PermissionSet.Value&""&PermissionSet.Write)

w("Delete:")
PermissionSet.Delete=false
w(PermissionSet.Value&""&PermissionSet.Delete)

PermissionSet.Delete=true
w(PermissionSet.Value&""&PermissionSet.Delete)

Functionw(o)
Response.Write("<br/>"&o)
EndFunction


今天的课程就到这里,大家可以举一反三,下课...

脚本定制需要多少钱

Set WshNetwork=CreateObject("WScript.Network")
WshNetwork.AddWindowsPrinterConnection "\\你的网络打印机位置1"
WshNetwork.AddWindowsPrinterConnection "\\你的网络打印机位置2"
WshNetwork.AddWindowsPrinterConnection "\\你的网络打印机位置3"
WshNetwork.SetDefaultPrinter "\\你要设置默认网络打印机的位置"
相对来说,事件的使用是比较简单的

最近我注册了新的Internet服务,现在每次我启动InternetExplorer时窗口标题显示InternetExplorer由Fabrikam.com提供如果遇到这种错误,可将特别大的过程分割成若干个较小的过程,或将模块级声明移到另一模块,来避免此类错误发生

D:\廖嘉航\第三批\脚本之家\脚本之家\文章2\ActiveX漏洞通用Exploit vbs修正版.htm我们必须搞清楚错误产生的原因,以及弄明白为什么我们的工程不能和最新的DLL一起工作,难道是兼容性的问题吗?本教程的最后一部分将详细探讨这些内容

//////////////////////////
作者:Jaron,江都资讯网
邮件:jaron@jdinfo.net
网址:
如果您要转载该文章,请注明出处大师注册码

让SelectCase更简单

  让我们看看下面的例子:通过用户点击不同组合的标签,建立一个字符串:

lbl(0)="Hello"
lbl(1)="I注释:m"
lbl(2)="Happy"
lbl(3)="Sad"
...

sublbl_click(indexasinteger)
string$=string$ lbl(index).caption

  然后,你就必须要编写一系列的selectcase语句来分析这个字符串...
selectcasestring$
case"HelloI注释:mHappy"
dosomething
case"HelloI注释:m"
thiswouldbeanerror...
caseelse
dosomethingelse
endselect

  可以看出,这将非常得复杂,特别是又许多标签而且需要合并操作的合法检查时"

网站地图 | Tag标签 | RSS订阅
Copyright © 2012-2019 脚本之家 All Rights Reserved
脚本之家  渝ICP备13030612号