在Lua中检测脚本/文本的结尾

时间:2012-07-30 12:57:52

标签: lua

如果用户在richtext框/对象中停止输入,我如何检测lua,以便能够比较用户输入的当前文本以进一步实现?也就是说,在用户停止在richtext对象或框中键入文本之后,将比较刚刚键入的文本。但是,我已经设法执行进一步的实现部分,比如比较和要执行的操作,但我的问题是如何检测用户是否已停止在richtext框中键入以供其他实现执行。< / p>

我尝试了几种方法,但我仍然没有做对。

1 个答案:

答案 0 :(得分:2)

我猜你正在使用某种GUI库来获取richtext框。

您应该寻找的是一种查看键盘事件的方法。一些GUI工具包有它们。每次用户按下一个键(或键盘上有其他输入)时,OS都会触发程序可以访问的键盘事件。您可以使用它来判断用户是否输入了文本。如果事件之间有大的暂停,可能是2秒,您可以判断用户已停止输入并继续进行比较。

另一种方法是查看文本框的内容。基本上,看看文本框的内容。如果他们自上次你看之后发生了变化,那么你应该等一下再检查一下。如果它们没有更改,则假设用户已停止输入并运行比较。

请记住,有些人打字的速度非常慢,或者可能会在打字中途停下来思考。这意味着如果您经常检查,您可以欺骗自己,并且更改用户刚刚键入的文本可以看到它可能会吓到并混淆用户。 (当您阅读所有数据时,一些GUI工具包会从文本框中删除文本,这意味着用户只是看到他们的所有工作都消失了!)请小心。

老实说,你正在尝试做的一些细节会非常有帮助。正如Mike Corcoran指出的那样,这个脚本运行的地方可以真正改变你的选择,以及哪些选项最适合整个程序。例如,第三种解决方案是简单地要求用户按下按钮或以其他方式指示他们已完成键入。这在文本编辑器中不是一个好主意,但它可以在其他一些GUI中使用。