「手続き定義開始 更新処理()」・・・の、中の
- >メソッド呼び出し @フォーム.変数変更()
>メソッド呼び出し @bdamy.実行()
>メソッド呼び出し @b月増.フォーカス設定()
この処理に、上記「damy」コマンドボタンを使用しています
ここの手続きの内容は、ゴミの日の設定された内容を変数へ読み込み、フォームの状態を、表示モードに戻る処理です。が、そのとき、表のテキストオブジェクトにフォーカスがあったのを、コマンドボタンへもどしておく処理です
かけば、簡単ですが・・・・・。では、なぜ、なにもしない「damy」ボタンを実行するのか?
類似コマンド(メソッド)では、残念ながら出来ないからです。<類似コマンド>「変数変更・更新モード設定・描画更新」等
いったん手続きから抜けだせば可能になりますので、たんなる逃げの処理です。(ただし、コマンドボタン機能の1行目が、「実行条件」でなければ、このような処理は必要はありません。単に、フォーカス設定だけで可能です)
- 印刷時の元号
現在の処理は、年数を判定し、条件により、「明治・大正・昭和・平成」の文字を出力しています。が、○○○○○の場合変更が必要になります。(このプログラムをそんなに長く使用するという意味でなく、計算式の考え方として)
そこで、書き出しは、常に西暦書き出しを行い、条件により元号表示するようプログラムを考える必要があります。
現在の内容は、
> if(&元号=0 .or &作業日付<d"1868/
9/ 8")
> 印字 #文字列(&作業年),",",#文字列(&作業月),",",
> else if(&作業日付<d"1912/
7/30")
> 印字 "明治 "+#文字列(#元号年(&作業日付)),",",#文字列(&作業月),",",
> else if(&作業日付<d"1926/12/25")
> 印字 "大正 "+#文字列(#元号年(&作業日付)),",",#文字列(&作業月),",",
> else if(&作業日付<d"1989/
1/ 8")
> 印字 "昭和 "+#文字列(#元号年(&作業日付)),",",#文字列(&作業月),",",
> else
> 印字 "平成 "+#文字列(#元号年(&作業日付)),",",#文字列(&作業月),",",
> end
変更後、
>印字 #文字列(&作業年),",",#文字列(&作業月),",",
この一行ですみます。または、表の項目の持ち方次第では
>印字 &作業日付),",",
これだけでも可能です。(もちろんレポートの変更も必要になります)
|