過去の桐井戸端BBS (桐ver.9) |
24630 | コマンドボタンで呼び出したフォーム上のコマンドボタンを表示したり非表示にしたりしたい | 手塚 修 | 2004/02/06-21:05 |
メインフォーム上に配置したコマンドボタン(入力 訂正)をクリックし、別なフォーム(あ)を呼び出す。 「入力」がクリックされた時には(あ)上にコマンドボタン(新規入力)を表示する。 コマンドボタン(訂正編集)は表示しない。 「訂正」がクリックされた時には(あ)上にコマンドボタン(訂正編集)を表示し、 コマンドボタン(新規入力)は表示しない。 初めてイベントを使ってみました。 別なフォーム(あ)を呼び出すまではできたのですが、その先ができません。 教えてください。よろしくお願いいたします。 | |||
24631 | Re:コマンドボタンで呼び出したフォーム上のコマンドボタンを表示したり非表示にしたり | 悲しげ | 2004/02/06-21:44 |
記事番号24630へのコメント どもっ、手塚さん >初めてイベントを使ってみました。 >別なフォーム(あ)を呼び出すまではできたのですが、その先ができません。 「イベント」と云うことから、kevファイルを使って処理しているものと察します。 ではお尋ねしますが、「別なフォーム(あ)を呼び出す」のは 次のどのような方法で呼び出しましたか? 1.「フォーム呼び出し」コマンド 2.コマンドではなくコマンドボタンの「モーダルフォーム」 3.同じくコマンドボタンの「開く」 4.「ウィンドウ作成」コマンド それによって、続く記述は若干異なります。 が、それはそれとして、方法のひとつとしては、固有または共通変更としてフラグ用変数仮称「&旗」を用意して 新規入力なら &旗="新規" 既存の訂正なら &旗="訂正" のように代入しておいて、呼び出した"あ.wfm"の「フォーム開始」イベントで 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 手続き定義開始 フォーム::フォーム開始(長整数 &表番号) if(&旗="新規") オブジェクト操作 @b新規入力.画面表示="1",@b訂正編集.画面表示="0" else if(&旗="訂正") オブジェクト操作 @b新規入力.画面表示="0",@b訂正編集.画面表示="1" end 手続き定義終了 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 のようにするか、 あるいはフォームを開いた後にやることが、新規入力か既存の訂正だけなのであれば、 フォーム開始の時点で即「行追加」か「訂正」のモードにしてしまう方法もありそうです。 その場合なら 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 手続き定義開始 フォーム::フォーム開始(長整数 &表番号) if(&旗="新規") メソッド呼び出し @b新規入力.実行() else if(&旗="訂正") 検索 ・・・・・ /*先ず訂正するレコードを指定する?*/ メソッド呼び出し @b訂正編集.実行() end 手続き定義終了 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 | |||
24632 | Re:コマンドボタンで呼び出したフォーム上のコマンドボタンを表示したり非表示にしたり | 手塚 修 | 2004/02/07-09:30 |
記事番号24631へのコメント 悲しげさん ありがとうございます。 > >ではお尋ねしますが、「別なフォーム(あ)を呼び出す」のは >次のどのような方法で呼び出しましたか? > 1.「フォーム呼び出し」コマンド になるのでしょうか? 具体的には、以下のようにしました。 メインフォーム(カード)上に作ったコマンドボタン(入力)に機能名 手続き実行 パラメータリスト 入力画面 としkevに手続き定義開始 入力画面() フォーム呼び出し 入力 手続き定義終了 です。 > 新規入力なら &旗="新規" > 既存の訂正なら &旗="訂正" >のように代入しておいて、呼び出した"あ.wfm"の「フォーム開始」イベ >ントで 上記のようにしたいのですが、どこで変数宣言をするのか? &旗="新規" &旗="訂正" はどこに記すのか? がわかりませんでした。 面倒をおかけしますが、教えてください。 よろしくお願いいたします。 | |||
24635 | イベントの中での変数の定義 | 佐田 守弘 | 2004/02/07-12:49 |
記事番号24632へのコメント 手塚 修さん ●変数の定義 >上記のようにしたいのですが、どこで変数宣言をするのか? これはメインフォームのイベントファイルの先頭のメイン部分で定義して下さい。 メイン部分とは、作られたイベントファイルの3行目に「*」がありますが、それ以前の場所に行挿入して記述します。 正しくいえば、「*」には意味はなく、最初の手続き定義コマンドより前がメイン部分です。 ●変数への代入 >&旗="新規" &旗="訂正" はどこに記すのか? がわかりませんでした。 これはそれぞれの手続きの中で記述します。 「新規」のコマンドボタンで実行させる一般手続きが、「新規」だとしたら、この中です。 つまり、次の様になります。訂正についても同じです。 ============================ 手続き定義開始 新規() 代入 &旗="訂正" フォーム呼び出し あ 手続き定義終了 ============================ 佐田守弘(KS-00119) | |||
24639 | Re:イベントの中での変数の定義 | 悲しげ | 2004/02/07-17:16 |
記事番号24635へのコメント どもっ、佐田さん、フォローありがとうございます。 でも、「新規」と「訂正」が逆になっているので(^^;) 念のため書き直しておきます。(*^^*) 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 名札 メイン 変数宣言 共通,文字列{&旗} * 手続き定義開始 新規入力() 代入 &旗="新規" フォーム呼び出し "あ.wfm" 手続き定義終了 手続き定義開始 訂正編集() 代入 &旗="訂正" フォーム呼び出し "あ.wfm" 手続き定義終了 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 ps. ボタンや手続きの名称として「入力」ってのは、新規入力なのか 訂正入力なのか判らないので、勝手に「新規云々」と「訂正云々」に変えてあります。 ps2. 変数の種別は「固有」でもよいのですが、初心者なら「共通」の方が判りやすいような気がしたので、 この場合は「共通」としています。 なぜ判りやすいかと云うと、フォームやkevをいじっている最中に F5キーとかで参照しやすいから。 | |||
24666 | Re:イベントの中での変数の定義 | 手塚 修 | 2004/02/09-08:59 |
記事番号24635へのコメント 佐田 守弘さん 悲しげさん ありがとうございました。 できました。みごとにできました。 次に進めるようになります。 次は、訂正編集をするです。 スクロールキーで訂正編集するデータを選択するのではなく、 年月で絞込み、車両名で絞り込み等を行ってから訂正編集をしたい。 上記のイベントです。参考になるイベントを教えていだだければ 幸いです。 ありがとうございました。 |