【发布时间】:2014-08-05 22:10:56
【问题描述】:
每当用户在 PowerBuilder 的 DataWindow 列中输入特定字符(分号、''、"" 和(括号))时,我都需要抛出一个消息框。
我试过了:
ls_text = dw_1.getitemstring(1, 'column')
但不知道如何解析输入的文本(ls_text)并搜索上面提到的那些字符。
对此的任何帮助将不胜感激。
提前致谢
【问题讨论】:
标签: powerbuilder
每当用户在 PowerBuilder 的 DataWindow 列中输入特定字符(分号、''、"" 和(括号))时,我都需要抛出一个消息框。
我试过了:
ls_text = dw_1.getitemstring(1, 'column')
但不知道如何解析输入的文本(ls_text)并搜索上面提到的那些字符。
对此的任何帮助将不胜感激。
提前致谢
【问题讨论】:
标签: powerbuilder
幸运的是,有很多选择可以做到这一点。要在另一个字符串中查找特定字符串,您可以使用以下函数:
请记住,上述函数区分大小写。 例如,如果您想在字符串中查找第一个“逗号”:
integer li_ret
li_ret = Pos("Luke, I am your father :)", ",") // li_ret will be 5
If( li_ret > 0 )then
Messagebox("Warning", "I'm Darth Vader!")
end if
如果您需要更多,并且想搜索“正则表达式”,您可以使用:
Match()你也有很多可能性来做这个检查:
ItemChanged事件EditChanged事件在ItemChanged 事件中,如有必要,您可以拒绝该值!
希望对您有所帮助!欢迎询问更多。
兄弟。加博尔
【讨论】:
请勿将getItemString() 用于此目的。对itemChanged 事件使用data 参数。
如果 DW 字段包含字符串“before”,并且您的用户键入“after”,则itemChanged 事件中的getItemString() 将返回“before”。 DW 列不包含用户在itemChanged 事件触发之后输入的数据(并且您没有返回非零返回码)
【讨论】: