每当用户在PowerBuilder的DataWindow列中输入特定字符(美分符号,'',“和(括号))时,我都需要抛出一个消息框。
我试过了:
ls_text = dw_1.getitemstring(1,'column')
但不知道如何解析输入的文本(ls_text)并搜索上面提到的那些字符。
对此有任何帮助将不胜感激。
提前致谢
答案 0 :(得分:1)
请记住,上述功能是CASE SENSITIVE。 例如,如果您想在字符串中找到第一个“逗号”:
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
事件中,如果有必要,您可以拒绝该值!
我希望这有帮助!随意要求更多。
溴。的Gabor
答案 1 :(得分:0)
请勿将getItemString()
用于此目的。使用data
事件的itemChanged
参数。
如果DW字段包含字符串“之前”,并且您的用户键入“之后”,则getItemString()
事件中的itemChanged
将返回“之前”。 DW列不包含用户键入的数据,直到itemChanged
事件触发后(并且您没有返回非零返回码)