過去の桐井戸端BBS (桐ver.8)
16550 「初期値を反転選択状態にしたいのですが」で教えてください katsuyoshi 2002/07/10-17:38
過去の桐井戸端BBS#3428の「初期値を反転選択状態にしたいのですが」
の質問に”悲しげ”さんが答えられた内容を参考にKEVを作成しましたがうまく動きません。
(もともとイベントの使い方や作成方法すらわかっていないもので)

申し訳ありませんが初心者にもわかるようにもう少し詳しく教えてください。
当方ではこんなことをやりたいと思っていますので最初からの手順も含めてお願いします。

フォームの日付(テキストオブジェクト)データ型は”文字列”です。
表の項目属性の入力タブ挿入初期値式に”#DATE”を設定しました。
フォームを開くと日付のオブジェクトには現在の日付が表示されますがその日付を
過去日や未来日に修正する場合全文字をマウスで選択反転して新しい日付を入力しています。

過去ログを参考に挑戦しましたが基礎が無いもので無理でした。
今あきらめるとイベントが一生理解できなくなるように思えて今回皆さんのお世話になりながらがんばりたいと思います。
よろしく教えてください。
16552 Re:初期値を反転選択状態にしたいのですが 悲しげ 2002/07/10-20:08
記事番号16550へのコメント
どもっ、katsuyoshiさん

むしろ↓の方がいいと思います。
http://www.fuku3.com/~habata/kbbs/kakov8/13067.htm

16555 Re:初期値を反転選択状態にしたいのですが katsuyoshi 2002/07/11-02:30
記事番号16552へのコメント
悲しげさんありがとうございます。
実は既に見ていました。
悲しげさんやpokoponさん他のみなさんのやりとりを
自分なりに理解しようと努力をしてみたのですが如何せんイベントは全初めてであり無知であります。
見れば見るほどチンプンカンプン????(?_?)(^_^;)
できれば最初から教えていただければと思い投稿しました。
一括処理も良く解らず履歴の応用でやっている程度の
無知な私になにとぞご慈悲をお願いします。(=_=)
16557 Re:初期値を反転選択状態にしたいのですが 今村 誠 2002/07/11-12:12
記事番号16550へのコメント
katsuyoshiさんこんにちは、

>過去ログを参考に挑戦しましたが基礎が無いもので無理でした。
>今あきらめるとイベントが一生理解できなくなるように思えて今回皆さんのお世話
>になりながらがんばりたいと思います。
>よろしく教えてください。

まず桐に付属のサンプルを自分自身で書いてみられてから、
判らないところをご質問されてはいかがでしょうか。
桐を標準でインストールして
ヘルプ→トピックの検索→一括処理&イベント処理
「一括処理と履歴、イベント処理の説明については、HELP フォルダの中に、
HTML ファイルとして、収めてあります。
WWW ブラウザをお持ちの方は、このボタンをクリックしてください。」
となりボタンを押すと下段に

【イベント処理】
はじめに
使ってみましょう
内容を確認しましょう
定義してみましょう
属性の参照
引数を使用する
他の表を操作する
一般手続きを定義する
ファミリを使用する
所属するファミリを指定する
ファミリを削除する
ファミリのイベントを定義する

ここをマスターされた後にもう一度悲しげさん指摘の所をお読みになられてはいかがでしょうか。
16559 Re:初期値を反転選択状態にしたいのですが ONnoji 2002/07/11-13:44
記事番号16550へのコメント
katsuyoshiさん、こんにちは。

フォームでデータを編集しているとき、
移動先のテキストボックスで、カーソル(キャレット)を出す替わりに、
あらかじめ文字列を範囲選択した状態にしたいこということだと理解しましたが???
簡単な方法をご紹介します。

なお、すでにKEVをお作りになっているのですから、
フォームの[タイマー1]イベントと
該当するテキストオブジェクトの[入力前]イベントと
[一般手続き]を作成することは可能ですね。
それとコマンドボタンも作成できますよね。

という前提がありますが…以下を参考にしてください。

■材料

<イベント>
・イベントハンドラ名:フォーム::タイマー1( )
 ※1回しか実行しないように仕掛けをするのがコツ!

・テキストボックスの入力前イベントハンドラ

<一般手続き>
・手続き名:prcSelectAll( )
 ※フォーム::タイマー1( )をキックする

<コマンドボタン>
・オブジェクト名:cmdすべて選択
  機能名
[1]すべて選択  ※編集グループから選びます。
[2]なし
[3]なし
[4]なし
 ※このコマンドボタンはフォーム上に置いても、フォームの外に置いてもOKです。

■利用方法

[入力前]イベントハンドラで prcSelectAll( ) を呼びます。

以下は利用例です。

※なお、オブジェクト名の"フォーム"、イベント名の"タイマー1"は半角です。
-----------------------------------------------------------------------
名札 メイン
 変数宣言 局所,文字{ &mObjCmd }         /* コマンドボタンのブジェク
ト名 */
 オブジェクト操作 @フォーム.タイマー1 = "0"    /* タイマー1をoffにします
*/
 オブジェクト操作 @フォーム.タイマー値1 = "0.01"
 *

手続き定義開始 t日付::入力前(参照 文字列 &編集文字列)
  :
 *この間にいろいろしてもOK
  :
 手続き実行 prcSelectAll( )  /* このように利用します */
手続き定義終了

手続き定義開始 フォーム::タイマー1( )
 オブジェクト操作 @フォーム.タイマー1 = "0" /* タイマー1をoffにします */
 メソッド呼び出し &mObjCmd.実行( )      /* コマンドボタンを実行 */
手続き定義終了

手続き定義開始 prcSelectAll( )
 &mObjCmd = "cmdすべて選択"           /* コマンドボタンのオブジェク
ト名を変数に代入 */
 オブジェクト操作 @フォーム.タイマー1 = "1"  /* タイマー1をonにします */
手続き定義終了


16560 コメント抜きの例をもう一度投稿します。 ONnoji 2002/07/11-13:55
記事番号16559へのコメント
katsuyoshiさん、こんにちは。

コメント( /* */ )を入れたら、行がおり返して見難くなってしまいましたので、
コメント抜きの例をもう一度投稿します。

なお、オブジェクト名の"フォーム"、イベント名の"タイマー1"は半角です。
-----------------------------------------------------------------------
名札 メイン
 変数宣言 局所,文字列{ &mObjCmd }
 オブジェクト操作 @フォーム.タイマー1 = "0"
 オブジェクト操作 @フォーム.タイマー値1 = "0.01"
 *

手続き定義開始 t日付::入力前(参照 文字列 &編集文字列)
  :
 *この間にいろいろしてもOK
  :
 手続き実行 prcSelectAll( )
手続き定義終了

手続き定義開始 フォーム::タイマー1( )
 オブジェクト操作 @フォーム.タイマー1 = "0"
 メソッド呼び出し &mObjCmd.実行( )
手続き定義終了

手続き定義開始 prcSelectAll( )
 &mObjCmd = "cmdすべて選択"
 オブジェクト操作 @フォーム.タイマー1 = "1"
手続き定義終了
16561 がんばります katsuyoshi 2002/07/11-18:50
記事番号16559へのコメント
今村さん ONnojiさんありがとうございました。
今村さんの言われるとおりヘルプを見て勉強すれば悲しげさんの書かれていることも理解できるようになるのかなと少し反省しています。
基礎知識を勉強しないで常に出たとこ勝負で桐に挑戦してきましたがそろそろ限界かなと最近感じています。
ONnojiさんの書かれた内容も皆さんからすれば簡単に理解できるでしょうがイベント処理への初挑戦の私では
なかなか頭の整理が出来ないでいます。
がんばりますのでこれからもよろしくお願いします。

戻る