過去の桐井戸端BBS (桐ver.9)
25840 項目[日付]にカレンダーを使って入力したい 手塚 修 2004/04/12-11:01
カレンダーを使った日付入力のソフトを見させていただきました。
具体的には、多遊さん観験桐のbV5(mudagamiさん)、
きりぎりすさんの入力支援用ボタンの簡易電卓とカレンダー入力、
ゴミの日カレンダーです。
これが使えれば、最高だなと思いつつも、イベント処理が
理解できていないために利用できない状態です。

編集対象表を持つフォームの項目[日付]に、カレンダーフォーム上で
選択した日付を反映させるにはどのようにすれば良いのでしょうか?

例えばmudagamiさんのソフトの中のイベントで、
項目[&項目1]に選択値を反映させているのはどの部分なのでしょうか?
少し改良すれば項目[日付]に反映できますでしょうか?

当方のレベルとしては、項目[日付]をクリックし、カレンダーフォームを呼出し、
クリックした日付が項目[日付]に代入されるというのが理解できる状態です。
これはBonitoさんの”サブフォームからマウスで入力”を見て勉強した結果です。

よろしくお願いいたします。

25841 Re:項目[日付]にカレンダーを使って入力したい アックン(=^・^=) 2004/04/12-13:14
記事番号25840へのコメント
手塚 修さん、こんにちは。
>例えばmudagamiさんのソフトの中のイベントで、
>項目[&項目1]に選択値を反映させているのはどの部分なのでしょうか?

さっそくmudagamiさんの作品をダウンロードして、V9-2004に変換してから拝見しました。
mudagamiさんの努力に敬意をはらいつつ、私から簡単に説明します。
(本人がここを見ていらっしゃったら、書き込みしてくださると思います。)

実際にはタイマーイベントを使って、ダブルクリック操作を検出しているようですが、
そこまで詳しく見る時間もないので、とりあえず、日付の値をふたつのフォームの簡で
受け渡している仕組みを説明します。

1)カレンダー.wfmで日付を選ぶと、コマンドボタンCopyの機能を実行します。

  メソッド呼び出し @Copy.実行()
  (カレンダー.kev(318・328・376・386各行))

コマンドボタンCopyは、カレンダー.wfmのワークスペースに配置されています。

2)日付の値が、&STRに入ります。
  コマンドボタンCopyの機能名:コピー、機能パラメータリスト:&STR

日付の値がクリップボード経由で、&STRに代入されます。

3)カレンダー.wfmを閉じると、
  カレンダー呼出フォーム.wfmに &STRの値が渡されます。

ここの仕組みは、カレンダー呼出フォーム.wfmの方に設定されています。
カレンダー呼出フォーム.wfmの、日付が入力されるテキストボックスの右端に、
入力支援ボタン(入力支援ボタン_3)があります。
入力支援ボタンを定義画面でクリックして、入力支援ボタン(タブ)の「選択値リスト」に、
&STRを引き継ぐ設定があります。

   &STR,"カレンダー.wfm"

日付の値(&STR)のフォーム簡の受け渡しと、テキストボックスへの入力は、
ここで行われています。

>少し改良すれば項目[日付]に反映できますでしょうか?
すぐに応用できますよ。
手塚さんのフォームの、[日付]をソースとするテキストオブジェクトに、
入力支援ボタンを付ければいいです。

テキストオブジェクトの定義画面で、テキスト(タブ)>入力時の操作(ボタン)>入力支援ボタンにチェック入れます。
これで入力支援ボタンが付きます。

この入力支援ボタンを定義画面でクリックして、オブジェクトの定義画面を出してください。
内容は、mudagamiさんと同じで試してください。
選択値リスト: &STR,"カレンダー.wfm"
リストの種別: モーダルフォーム
(以下同様)

うまくいってもいかないでも、報告お待ちしております。
25842 Re:項目[日付]にカレンダーを使って入力したい 手塚 修 2004/04/12-16:39
記事番号25841へのコメント
アックン(=^・^=)さんありがとうございます。
教えていただいた通りにやってみました。

できた事。カレンダーフォーム上で日にちを選択し、終了ボタンをクリックすると、確かに項目[日付]に入力されます。

できていない事。日にちをダブルクッリクしても項目[日付]に入力されない。
ダブルクッリクをし更にダブルクリックをすると入力されるようです。
選択日が選ばれていない状態での入力もmudagamiさんのサンプルとは
すこし違いがあるみたいです。

サンプルと同じようにダブルクリックで入力できないでしょうか?

>日付の値(&STR)のフォーム簡の受け渡しと、テキストボックスへの入力は、ここ
>で行われています。
受け渡しの仕組みについては、今後勉強してみます。

ありがとうございました。

ダブルクッリクの件 教えてください。

よろしくお願いいたします。

25843 Re:項目[日付]にカレンダーを使って入力したい アックン(=^・^=) 2004/04/12-17:13
記事番号25842へのコメント
手塚 修さん>
ぼくの方で今試したら、ダブルクリックできちんと動作しましたよ。
テスト用に新規に作成した表を、カレンダー呼出フォーム.wfmの編集対象表にして、
テキストボックスのソースをその表の[日付]項目にして試しました。

>ダブルクッリクをし更にダブルクリックをすると入力されるようです。
でしたら、ダブルクリックの間隔を調整してみてはどうでしょう。

カレンダー.wfmの操作画面で、「祝日設定」ボタンをクリックすると、新たに祝日設定
フォームが開きます。「マウスのダブルクリック間隔」欄の時間を調整して、試してみたらどうなるでしょう。

mudagamiさま作品の附属テキストから引用
  希望の"日"上でダブルクリックすると、その日を選択し直接閉じます。
  (ダブルクリックは擬似的なダブルクリックです。Windowsのコントロールパネルで
  設定した間隔ではありません。「祝日設定」のなでダブルクリックの間隔が設定できます。初期値は0.4秒にしています。)
(引用終わり)
25849 Re:項目[日付]にカレンダーを使って入力したい 手塚 修 2004/04/13-15:45
記事番号25843へのコメント
アックン(=^・^=)さん もうすこし教えてください。
>
>>ダブルクッリクをし更にダブルクリックをすると入力されるようです。
   これは、勘ちがいでした。
>テスト用に新規に作成した表を、カレンダー呼出フォーム.wfmの編集対象表にして、
>テキストボックスのソースをその表の[日付]項目にして試しました。
   確かにできました。
但し、当方が使用しているフォームには、すでにイベントが
設定されており、フォームのイベントタブにカレンダーkevを設定しないまま、元の
設定されたkevのままダブルクリックをしたため、入力されなかったみたいです。
これでも「終了」ボタンで入力されました。

当方が望むのは、既にイベントが作られているフォームに対してもカレンダーの
ダブルクリックで項目[日付]に入力させたい。
別なフォーム(これにも別なイベントがある)にたいしてもカレンダーの
ダブルクリックで入力したい。別なフォームが5種類ぐらいあります。
ライブラリーを使うのでしょうか?もしそうならば具体的には?

教えてください。よろしくお願いいたします。

25855 Re:項目[日付]にカレンダーを使って入力したい アックン(=^・^=) 2004/04/13-18:37
記事番号25849へのコメント
手塚 修さん>
>ライブラリーを使うのでしょうか?もしそうならば具体的には?

えっと、ライブラリは関係ありません。お望みのことはちゃんと実現できますから、続けてがんばりましょう。
以下、ちょっとくどくて長い投稿になりますが、ゆっくり理解してください。
理解の手助けになるように、サンプルをアップします。

使用するカレンダー本体は、http:/www2u.biglobe.ne.jp/~s_tanaka/index.htm の「勧験桐」No.75 mudagamiさん作を
ダウンロードしてください。同じフォルダに解凍後、サンプルフォームを起動してください。


ダブルクリック操作に関するイベントは、すべてカレンダー.wfmとカレンダー.kevが受け持っています。
手塚さんが作っている日付入力用のフォームのイベントファイル(kev)にイベントを書かなくても、ダブルクリックで日付入力できます。

以下、質問中に書かれている「フォーム」がどのフォームを指しているのかまぎらわしいので、
ちょっと確認しながら話を進めさせてください。

mudagamiさんの作品には、フォームが2個あり、それぞれにイベントファイルがあります。
(a)日付入力用:カレンダー呼出フォーム.wfm と カレンダー呼出フォーム.kev
(b)カレンダー:カレンダー.wfm と カレンダー.kev

手塚さんご自身の作にも、(a)の日付入力用に相当するフォームがありますね。
それは・・・・・・

>但し、当方が使用しているフォームには、すでにイベントが
このフォームと・・・・・・

>別なフォーム(これにも別なイベントがある)にたいしてもカレンダーの
>ダブルクリックで入力したい。別なフォームが5種類ぐらいあります。

このフォームですね。全部で6個ほどあるわけですね。
で、これらのフォームには、すでにイベント(kev)がそれぞれ設定されているわけですね。

次に(b)のカレンダー側のフォームのことで確認させてください。

カレンダー側のフォームには、mudagamiさん作のカレンダー.wfmとカレンダー.kevをそのまま使っていますか(?)。
それとも、ご自分で設計したカレンダーのフォームを使っていますか(?)。

以上が確認したい点です。さて、私としては次のようにしてほしいのです。

mudagamiさん作の(b)のカレンダー.wfmとカレンダー.kevをそのまま使ってください。
(他にも、祝日.tbl,祝日.wfm,祝日.varが必要です。)

(a)のカレンダー呼出フォーム.wfmとカレンダー呼出フォーム.kevは使いません。

手塚さんの日付入力用のフォーム(上記5,6個のフォームのことですね)に、カレンダー.kevを設定するのではありませんよ。
(書かれていることから推測するに、この点を誤解されているように思うのですが・・・・。)

カレンダー.wfmには、イベント(カレンダー.kev)が必要ですが、
手塚さんの日付入力用の各フォームには、イベントファイルがなくても、ちゃんと動作します。
(このことは、サンプルをご覧になると、すぐにおわかりになると思います。サンプルには
KEVファイルがありませんから。)

カレンダー呼出フォーム.kevの中身は、テキストボックスのソースの変数を宣言しているのと、
F12キー操作によってカレンダー.wfmを開くキーダウンイベントのふたつだけです。
もし手塚さんが、F12キー操作を必要とするなら、

カレンダー呼出フォーム.kevの中の・・・・・・
  手続き定義開始 フォーム::キーダウン
    :
  手続き定義終了
の数行だけを、手塚さんの日付入力用の各フォームの各イベントファイル(すでにあるkev)に、
コピー貼りつけしてください。
(このとき、フォーム定義画面のイベント(タブ)の「キーダウン」にチェックを入れて、
キーダウンイベントをONにするのを忘れないでください。)

と、ここまでおよそ理解できましたか(?)。
次は、他に必要な設定です。

日付入力用の各フォームの日付入力したいテキストボックスに、入力支援ボタンオブジェクトを設定してください。
(やり方は前回書いたとおりです。)

この入力支援ボタンは、カレンダー.wfmから日付の値が入っている変数&STRの値を受け取って、
項目に入力するという一連の動作を受け持っています。
(カレンダー.wfmの方は、日付の値を変数&STRに格納するまでの動作をイベントでやってます。)

では、うまくいってもいかなくても、またご報告くださいね。ぼちぼちいきましょう。


25856 Re:項目[日付]にカレンダーを使って入力したい たゆー 2004/04/13-22:24
記事番号25855へのコメント
手塚さん、アックンこんばんは

途中割り込み申し訳ございません。
>カレンダーを使った日付入力のソフトを見させていただきました。
>具体的には、多遊さん観験桐のbV5(mudagamiさん)、
>きりぎりすさんの入力支援用ボタンの簡易電卓とカレンダー入力、
>ゴミの日カレンダーです。
どうも、ご参照・ご利用ありがとうございます

ここの井戸端BBSで。「自分のHPでいろいろ説明している」みたいな宣伝を行うのは本当はしないつもりでしたが。
今回は、きりぎりすさん、mudagamiさん、Bonitoさんの作品をごらんになってと言うことでしたので出てきました。
申し訳ございません

もうすでにアックンがかかれてる通り」
答えは、<25841>の

>2)日付の値が、&STRに入ります。
>  コマンドボタンCopyの機能名:コピー、機能パラメータリスト:&STR
>
>3)カレンダー.wfmを閉じると、
>  カレンダー呼出フォーム.wfmに &STRの値が渡されます。

これとほとんど同じですが、「122の返済プログラム」でにたような処理を使用しています。(原型はキリギリスさん紹介です)

入力支援ボタンで「&STR,"カレンダー.wfm"」を呼び出し
カレンダー.kevで、日付を取得後、「b更新」ボタンで、&STRへ代入してます

この返済サンプルでは2カ所から同じ方法で日付入力を行ってます
もしよろしかったら参考にしてください

アックン説明ありがとうございます


25859 Re:項目[日付]にカレンダーを使って入力したい 手塚 修 2004/04/14-11:16
記事番号25855へのコメント
アックン(=^・^=)さん 申し訳ありません。

>理解の手助けになるように、サンプルをアップします。(93.lzh)
  見方がわかりません。どこを探すのでしょうか?
>手塚さんご自身の作にも、(a)の日付入力用に相当するフォームがありますね。
>これらのフォームには、すでにイベント(kev)がそれぞれ設定されているわけですね。
>カレンダー側のフォームには、mudagamiさん作のカレンダー.wfmとカレンダー.kevをそのま
>ま使っていますか(?)
>mudagamiさん作の(b)のカレンダー.wfmとカレンダー.kevをそのまま使ってください。
>(他にも、祝日.tbl,祝日.wfm,祝日.varが必要です。)
>(a)のカレンダー呼出フォーム.wfmとカレンダー呼出フォーム.kevは使いません。
  その通りにしています。
>(書かれていることから推測するに、この点を誤解されているように思うのですが・・・・。)
>もし手塚さんが、F12キー操作を必要とするなら、
  F12キー操作は不要です。よけいに分らなくなってしまいます。但し、在っても
邪魔にはなりません。 
>と、ここまでおよそ理解できましたか(?)。
  理解しようとしているのですが、どうでしょうか?
 
>日付入力用の各フォームの日付入力したいテキストボックスに、入力支援ボタンオブジェク
>トを設定してください。(やり方は前回書いたとおりです。)
  その通りにしています。
>では、うまくいってもいかなくても、またご報告くださいね。ぼちぼちいきましょう。
  うまくいきません。項目[日付]です。項目[&日付]ではないのですが、
これに関係ありませんでしょうか?

面倒をおかけしますがよろしくお願いいたします。


25860 Re:項目[日付]にカレンダーを使って入力したい アックン(=^・^=) 2004/04/14-12:38
記事番号25859へのコメント
手塚 修さん>
93.lzhのダウンロードページは、当掲示板の[ツリー表示] [番号順表示] [タイトル&コメント] 各ページの下の方、
[補完BBS(文章のみではうまく伝わらないときのために)]をクリックしてください。
私もはじめて補完BBSにアクセスするとき、どこにリンクがあるのか迷ったことがあるので、
いつも書くようにしているのですが、今回は書き忘れました。すみません。

lzhファイルの解凍はできますね?

>  理解しようとしているのですが、どうでしょうか?
それでいいと思います。(^^)

>  うまくいきません。項目[日付]です。項目[&日付]ではないのですが、
>これに関係ありませんでしょうか?
ソースは項目名[日付]でいいです。変数名&日付ではありません。
現状の手塚さんの日付入力用フォームでは、カレンダー.wfmを閉じると日付が入力されているでしょうから、
項目名[日付]のままでいいわけです。

もしうまくいかないようでしたら、手塚さんのファイルを補完BBSにアップしてみますか?
アップロードするファイルは、日付入力用のwfm,tblの2個だけでいいです。kevはたちまちは不要です。
表のデータはすべて削除し、表整理しておいてください。サンプルデータが1行あればいいです。
25862 Re:項目[日付]にカレンダーを使って入力したい アックン(=^・^=) 2004/04/14-12:41
記事番号25860へのコメント
手塚 修さん> すみません。もしアップするときは、kevも付けてください。

25865 Re:項目[日付]にカレンダーを使って入力したい 手塚 修 2004/04/14-14:27
記事番号25860へのコメント
アックン(=^・^=)さん 本当に申し訳ありません。
>lzhファイルの解凍はできますね?
  できました。確かにできます。
>もしうまくいかないようでしたら、手塚さんのファイルを補完BBSにアップしてみますか?
  送らせてください。本当に送られるのかどうかも心配ですが試させてください。
いろんな方の作られた物を利用させております。


25868 Re:項目[日付]にカレンダーを使って入力したい アックン(=^・^=) 2004/04/14-14:48
記事番号25865へのコメント
手塚 修さん> 了解です。アップお待ちしております。
25882 Re:項目[日付]にカレンダーを使って入力したい 手塚 修 2004/04/15-08:54
記事番号25868へのコメント
アックン(=^・^=)さん
  送りました。結果 届いているみたいです。

  よろしくお願いいたします。

25883 Re:項目[日付]にカレンダーを使って入力したい アックン(=^・^=) 2004/04/15-09:49
記事番号25882へのコメント
手塚 修さん> アップロードお疲れさまでした。
手塚さんがアップロードした"カレンダー.kev"は、mudagamiさんのオリジナルとはファイルサイズが異なっているので、
コピーし直したら、ダブルクリックでうまくいきましたよ。(^^)v
25886 Re:項目[日付]にカレンダーを使って入力したい 手塚 修 2004/04/15-10:32
記事番号25883へのコメント
アックン(=^・^=)さん お世話になりました。

>手塚さんがアップロードした"カレンダー.kev"は、mudagamiさんのオリジナル
>とはファイルサイズが異なっているので、コピーし直したら、ダブルクリック
>でうまくいきましたよ。(^^)v

コピーし直しましたらできました。ファイルサイズの件は何処かいじった為でしょうか。

とにかくできました。

他のフォームでの利用も可能になりました。

ありがとうございました。

戻る