2

每当用户在 PowerBuilder 的 DataWindow 列中输入特定字符(分号、''、"" 和(括号))时,我都需要抛出一个消息框。

我试过了 :

ls_text = dw_1.getitemstring(1, 'column')

但不知道如何解析输入的文本(ls_text)并搜索上面提到的那些字符。

对此的任何帮助将不胜感激。

提前致谢

4

2 回答 2

1

幸运的是,有很多选择可以做到这一点。要在另一个字符串中查找特定字符串,您可以使用以下函数:

请记住,上述功能区分大小写。例如,如果您想在字符串中查找第一个“逗号”:

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事件
  • Datawindow 的验证表达式和验证消息

ItemChanged如果有必要,您可以拒绝该值!

我希望这有帮助!随时要求更多。

兄弟。加博尔

于 2013-04-27T06:23:01.337 回答
0

请勿getItemString()用于此目的。使用事件的data参数itemChanged

如果 DW 字段包含字符串“before”,并且您的用户键入“after”,getItemString()itemChanged事件中将返回“before”。DW 列不包含用户在itemChanged事件触发之后键入的数据(并且您没有返回非零返回码)

于 2013-04-27T19:38:21.547 回答