我希望在LiveCode中创建一个隐藏用户输入的字段(例如使用项目符号或星号符号)
我知道您可以通过弹出对话框询问用户 -
ask password "enter your password"
有没有办法直接进入LiveCode字段?
答案 0 :(得分:4)
我最喜欢的方法是使用明文填充字段的自定义属性,在字段本身中填充带星号的char的char。作为一个简单的测试,创建一个字段,将其放入脚本中
on keydown var
set the hiddentext of me to the hiddentext of me & var
put "*" after me
end keydown
在按钮中,您可以:
on mouseUp
answer the hiddenText of field "yourField"
end mouseUp
现在这不处理删除键,但这很容易修复,我希望你明白这个想法。
答案 1 :(得分:4)
当你说“”问密码“”允许你创建一个允许用户输入密码的对话框时,你是正确的,而密码又被星号掩盖了。
上面的Craigs是解决这个问题的好方法,但也可以通过以下方法 -
如果您希望对输入字段应用相同的屏蔽,您应该可以通过首先将图像导入到用于屏蔽字段中字符的实时代码(例如项目符号)来完成此操作。然后,在字段的脚本中,您可以放置类似 -
的内容on textChanged
repeat with x = 1 to the number of chars of me
set the imageSource of char x of me to 12643
end repeat
end textChanged
其中imageSource是导入图像的ID
这里发生的是每次字段内容发生变化时都会调用textChange消息。然后我们循环遍历字段的字符并将每个字符的imageSource设置为导入的蒙版图像。“
答案 2 :(得分:2)
就这样。 Neil的方法具有能够直接访问字段文本的优点,因为它基本上是完整的,只是变成了“覆盖”字符。换句话说,你仍然可以简单地说:
answer field "yourField"
或
delete word 2 of fld "yourField"
而不是我稍远一些:
answer the hiddentext of fld "yourField"
并且,如上所述修改文本需要几行代码。
注意强> 一旦你有一个漂亮的子弹形图像,imageSource方法就更好了。更容易管理...