ユーザー操作に合わせてロジックを作ろう!


イベントとは

ユーザーの操作には以下のようなものがあります。

  • 「文字や数値をキーボードで入力する」
  • 「マウスでクリックする」
  • 「マウスでドラッグする。あるいはドロップする。」
  • 「ショートカットキーを使う(CTR+AとかF1とか)」

Curlには上記のようなユーザー操作を処理する場合に「イベント」というものがあります。

{on … do}という記述が3つあります。これはイベント処理の部分です。「on」はマクロです。詳しくは「Curl IDE ドキュメント(開発環境CDEの中に入ってます)」の「on(マクロ)」を参照してください。「on」の後に続く部分には「Actionクラス」だけでなく「FocusOutクラス」「FocusInクラス」「KeyPressクラス」「DragOver」「Drop」といったクラスを指定することができます。今回のサンプルではCommandButtonをユーザーが押した、あるいはEnterキーを押したときの処理として、Actionクラスを使用しています。

コード18 CommandButtonクラスのイベント処理(layout.scurl)

上記サンプルでは条件分岐で使用するif文を使用して、popup-message(ポップアップダイアロ表示)でokが押された場合にRecordSetへTextFieldおよびSpinControlの値(value)をRecordDataとして追加しています。上記サンプルに更に必須入力データがあるかどうかなどの処理を加えればより業務システムとしての実装に近い形になるでしょう。