PowerBuilder の Itemchanged イベントをハンドルする際の AcceptText の使用
PowerBuilder の itemchanged イベントハンドラ内で、acceptText は編集コントロールに入力されたユーザーのテキストを受け入れる関数です。構文は次のとおりです。
acceptText([コントロール])
controlはオプションのパラメータで、テキストを受け取るコントロールを示します。このパラメータを指定しない場合、acceptText 関数は、現在編集中のコントロールをデフォルトで使用します。
itemchanged イベントで acceptText メソッドを使用すれば、ユーザーが入力したテキストを取得して対応処理ができます。例えば、受信したテキストを検証したり、別の操作を行ったりするために変数に割り当てることができます。
サンプルコードで、ItemChanged イベントを処理する `acceptText` 関数の使用方法を示します。
integer li_control // 控件ID
string ls_text // 接受到的文本
// 获取当前正在编辑的控件ID
li_control = This.GetEditControl()
// 使用acceptText函数接受文本
ls_text = acceptText(li_control)
// 对接受到的文本进行处理,例如验证
if IsNull(ls_text) or ls_text = "" then
MessageBox("提示", "输入不能为空!")
else
// 执行其他操作
// ...
end if
上記のサンプルコードでは、まずGetEditControl関数を用いて現在編集されているコントロールのidを取得し、そのidをacceptText関数に引数として渡し、ユーザが入力したテキストを受け取ります。受け取ったテキストは変数ls_textに代入され、検証やその他の処理に利用できます。
acceptText関数はitemchangedイベント時のみ使用でき、文字列を返します。この値には受け取ったテキストが入っています。それ以外のイベントでこの関数が使用されるとコンパイルエラーが発生します。また、acceptText関数はTextEdit、DropDownDataWindowなどの編集用コントロールに対してのみ使用できます。StaticTextなどの非編集用コントロールには適していません。