無料ブログはココログ

« アラームマネージャとCalendar | トップページ | プリファレンス »

2013年8月24日 (土)

ピッカーダイアログによる日時の入力

Datepicker5gattaitrimed

 ダイアログを経由して日付や時刻を入力するクラスとして DatePicker, TimePicker というクラスがあり、これをMindから使えるようにした。Javaの側の使い方が単純なので、Mindへの実装も他の機能に比べて容易だった。
 Mindの文法は以下のようになる。

        <日時構造体>をつかい 日付入力ダイアログを開く → ・

        <日時構造体>をつかい <0/1>で 時刻入力ダイアログを開く → ・
                                       ↑
            1=24時間制 : 定数「十二時間制」「二十四時間制」が使える

 日時構造体はダイアログが開いたとき初期表示する日付または時刻を指示するのに使われる。
 Javaでは年、月、日などを個別値で渡しているのだが、Mindでは日時構造体を1つ渡すようにした。多くの場合、セットで使うと思われる「日時を得る」との整合を考えたものである。
 これに関連するが、このダイアログを開く前におこなうであろう現在の日時取得にJavaのCalendar機能は使う必要がない。もちろんCalendar版の処理単語「システム日時をカレンダーで得る」にて取得しても良いのだが、Mind標準の「日時を得る」のほうがJava呼び出しが無い分だけ軽く動作する。
 なお時刻の入力ではJava側仕様と同様に時間制をパラメータとして与える仕様としているが、これは積まずにたとえば「十二時間制で時刻入力ダイアログを開く」という別の処理単語を設置することでパラメータを無くしてしまうことも考えた。今後の検討課題とする。

 以下は利用例である。

        ボタンクリック処理は    本定義  (ボタン情報 → ・)
                        ~略~
                        _日時情報は  構造体 日時型
                ~略~
                _日時情報をつかい 日時を得て
                _日時情報をつかい 日付入力ダイアログを開く

 ダイアログが開くと処理単語「・・ダイアログを開く」は直ちにリターンするがこの時点ではまだ値は入力されていない。一方、ダイアログ内の「設定」ボタンを押すと、イベントが発生し、以下の処理単語がコールバックされるようになっている。このあたりはJava側の仕組みと同じである。

        日付設定時処理とは 本定義 (年、月、日 → ・)

        時刻設定時処理とは 本定義 (時、分 → ・)





参考URL: 「日本語プログラミング言語Mind」 (スクリプツ・ラボ)

« アラームマネージャとCalendar | トップページ | プリファレンス »

Android」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/100109/58054995

この記事へのトラックバック一覧です: ピッカーダイアログによる日時の入力:

« アラームマネージャとCalendar | トップページ | プリファレンス »