#32001/5/22 23:07:19
以前在MMC论坛里有的。
property pPasswordStr --password的字符类型
property pPassword --真实的password
property pPasswordTemp --用户输入的password
property pMySpr
on getPropertyDescriptionlist me
myproplist=[:]
addprop myproplist,#pPasswordStr,[#comment:"请选择口令符号的类型",#format:#string,#default:"*",#range:["*","$","@"]]
addprop myproplist,#pPassword,[#comment:"请输入口令",#format:#string,#default:""]
return myproplist
end
on beginSprite me
pMySpr=me.spriteNum
pPasswordTemp=""
member(sprite(pMyspr).member).editable=TRUE
end
on keyDown me
me.pdPassword()
end
on pdPassword me
if length(pPasswordTemp)>8 then --若超过密码长度
alert "密码长度超出,请重新输入!"
me.cleanPassword()
return ()
end if
case chartoNum(the key) of
13: --捕捉return键
if length(pPasswordTemp)=0 then
alert "密码长度不能为0"
return ()
else if pPasswordTemp=pPassword then
alert "密码正确!"
return ()
else
alert "密码不正确,请重新输入"
me.cleanPassword()
return ()
end if
8: --捕捉backspace
ychar=length(pPasswordTemp)-1
pPasswordTemp=pPasswordTemp.char[1..ychar]
--在此处加上消除*的语句
disp=member(sprite(pMyspr).member).text
delete disp.char[length(disp)]
member(sprite(pMyspr).member).text=disp
return ()
otherwise
pPasswordTemp=pPasswordTemp & the key
member(sprite(pMyspr).member).text=member(sprite(pMyspr).member).text & pPasswordStr --显示*
end case
end
on cleanPassword me
pPasswordTemp=""
member(sprite(pMyspr).member).text=""
end