【问题标题】:Delete a character from string realbasic从字符串 realbasic 中删除一个字符
【发布时间】:2013-08-21 18:06:29
【问题描述】:
我在 RealBasic 中创建了一个虚拟键盘。
当我按下字母时,我将数字附加到文本字段中,一切正常,但是,当我从虚拟键盘按下“删除”按钮时,如何从当前光标位置删除该文本字段中的字符?
要将字母或数字附加到我使用的文本字段:
TextField1.Text = TextField1.text + me.Caption //to append caption
TextField1.SelStart = Len(TextField1.text) // to move cursor at the end of string
【问题讨论】:
标签:
string
realbasic
xojo
【解决方案1】:
如果您只打算删除最后输入的字符,则 Paul 的解决方案有效。
但要注意:如果让用户同时左右移动光标,当然要删除光标所在位置的文字。而如果你还允许用户选择文本,那就更复杂了。
我建议您的虚拟键盘只是将键入的键发送到系统,就好像用户按下了键一样。这样,TextEdit 字段将为您完成所有工作。
但是,要实现这一点,您需要为每个要支持的操作系统平台定制解决方案。
让我知道您计划支持哪些平台,我会看看能找到什么。我有一些适用于 OSX 的代码,但还没有适用于 Windows 的代码。
【解决方案2】:
按照托马斯所说的去做:
dim n as String = TextField1.Text
n = newText.left(TextField1.selStart) + n.right(n.len - textField1.selStart - 1)
textField1.text = n
【解决方案3】:
去掉最后一个字符:
TextField1.Text = TextField1.Text.Left(TextField1.Len-1)