(現在 過去ログ66 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■10199 / inTopicNo.1)  フォームを閉じるときに開いている(別)表も閉じたい
  
□投稿者/ Vision Maker -(2016/11/16(Wed) 07:26:37)
    お世話になります。

    環境はWindows7 桐10です。

    やりたいことは、フォームを閉じると同時に開いている(別)表も閉じたいのです。

    コマンドボタンで表を閉じることはできないのでしょうか。

    イベント(一括処理)でもかまいません。

    どなたか、わかる方がいらっしゃいましたら教えていただけないでしょうか。

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

1479248797.zip
/6KB
引用返信 [メール受信/OFF] 削除キー/
■10200 / inTopicNo.2)  Re[1]: フォームを閉じるときに開いている(別)表も閉じたい
□投稿者/ 通りすがり -(2016/11/16(Wed) 08:05:10)
    こんな感じ、閉じるボタンで呼ぶ手続き
    --------------------
    proc 閉じる()
    編集表 "一覧表"
    ウィンドウ終了 #ウィンドウハンドル取得( #IS表 )
    end

引用返信 [メール受信/OFF] 削除キー/
■10201 / inTopicNo.3)  Re[2]: フォームを閉じるときに開いている(別)表も閉じたい
□投稿者/ たゆー -(2016/11/16(Wed) 09:16:42)
    >イベント(一括処理)でもかまいません
    前記の「ウィンドウ終了」は、「イベント」と「一括処理」では、動きが違うようです。ご利用時は、確認ください

    桐9HELPも参照ください。
    > 一括処理で実行した場合は、表と使用フォームが開かれたままになります。
    > イベントハンドラ内で実行した場合は、表と使用フォームの両方を閉じます。

    ちなみに私は「終了 表」コマンドで

    編集表 "一覧表"
    終了 表 編集対象表

    参考にされてください

引用返信 [メール受信/OFF] 削除キー/
■10202 / inTopicNo.4)  Re[3]: フォームを閉じるときに開いている(別)表も閉じたい
□投稿者/ 通りすがり -(2016/11/16(Wed) 09:53:43)
    じゃ、これで

    -------
    proc 閉じる()
     編集表 "一覧表"
     ウィンドウ終了 #ウィンドウハンドル取得( #IS表 )
     終了 表 編集対象表
    end

引用返信 [メール受信/OFF] 削除キー/
■10203 / inTopicNo.5)  Re[1]: フォームを閉じるときに開いている(別)表も閉じたい
□投稿者/ まさやん -(2016/11/16(Wed) 13:32:35)
    2016/11/16(Wed) 14:04:15 編集(投稿者)
    2016/11/16(Wed) 14:01:35 編集(投稿者)
    2016/11/16(Wed) 13:33:41 編集(投稿者)
    2016/11/16(Wed) 13:33:37 編集(投稿者)

    > やりたいことは、フォームを閉じると同時に開いている(別)表も閉じたいのです。

    もし他表もあって 全部一括で閉じたい時は

    「表」 コマンドで。  詳しくはヘルプを。

    蛇足で 老婆心ながら

    表を 拝見しましたが、何か訳あって日付を項目の方に持っていかれたようですが
    定義上
    項目1 日付 日時値
    項目2 曜日 文字列
    項目3 日記 文字列

    とした方が 自在がきくのでは?


引用返信 [メール受信/OFF] 削除キー/
■10204 / inTopicNo.6)  Re[1]: フォームを閉じるときに開いている(別)表も閉じたい
□投稿者/ ONnoji -(2016/11/16(Wed) 13:33:33)
    2016/11/16(Wed) 15:05:59 編集(投稿者)
    2016/11/16(Wed) 14:43:58 編集(投稿者)
    2016/11/16(Wed) 13:51:46 編集(投稿者)
    2016/11/16(Wed) 13:50:34 編集(投稿者)
    2016/11/16(Wed) 13:43:55 編集(投稿者)
    2016/11/16(Wed) 13:39:27 編集(投稿者)
    2016/11/16(Wed) 13:36:45 編集(投稿者)
    2016/11/16(Wed) 13:33:59 編集(投稿者)

    > 環境はWindows7 桐10です。
    >
    > やりたいことは、フォームを閉じると同時に開いている(別)表も閉じたいのです。
    >
    > コマンドボタンで表を閉じることはできないのでしょうか。
    >
    > イベント(一括処理)でもかまいません。

    お馴染みの、cmdTestClick( ) で、"D:\V10\work\kesiteii.tbx" を探索するというものです。

    コピペで動くと思いますよ。

    なお、編集表を切り替えて、編集モードとフォームの有無を調べますので、Nullフォームでは実行できませんのでご注意ください。


    (例)


    手続き定義開始 cmdTestClick( )
     変数宣言 自動,文字列{ &targetTbxFileName, &フォームファイル名 }
     変数宣言 自動,整数 { &表番号, &ハンドル, &編集状態, &フォーム形式番号 }

     if ( #表ファイル名( &hwindow ) <> #u )
      ** #表ファイル名( n )
      ** 指定した表番号の表ファイル名を取り出します。

      &targetTbxFileName = "D:\V10\work\kesiteii.tbx"

      &表番号 = #表番号取得( &targetTbxFileName )
      ** #表番号取得
      ** ウィンドウハンドルまたは表ファイル名から、対応する表の表番号を取得します

      確認 "&表番号 = " + #str( &表番号 )

      &ハンドル = #cond( #ウィンドウハンドル( &表番号 ), &表番号, 1, 0 )
      ** #ウィンドウハンドル
      ** ハンドル n のウィンドウが開かれていれば真(1)、開かれていなければ偽(0)を返します。
      ** この関数は、一括処理またはイベントハンドラで使用できます。

      確認 "&ハンドル = " + #str( &ハンドル )
      if ( &ハンドル )
       編集表 &ハンドル /* #フォーム属性 を参照するために編集表を切り替える */

       &編集状態 = #編集状態( &ハンドル )
       ** #編集状態
       ** 表番号 n で指定した表の更新状態を調べて、つぎの数値を返します。
       ** 戻り値 説明
       ** 0 更新中ではない。
       ** 1 行訂正中である。
       ** 2 行追加中である。
       ** 3 行挿入中である。

       確認 "&ハンドル = " + #str( &ハンドル ) + " &編集状態 = " + #str( #編集状態( &ハンドル ) )

       &フォームファイル名 = #フォーム属性( 1 ) /* ワンタッチフォームの場合にはファイル名が無い */
       ** #フォーム属性( n )
       ** フォームの属性を取り出します。フォームを使用していない表で使用した場合は、どの属性も未定義値を返します。
       ** n 戻り値
       ** 1 フォームのファイル名を文字列で返します。

       &フォーム形式番号 = #フォーム属性( 2 )
       ** 2 フォームの形式を表わす番号を数値で返します。
       ** 戻り値 意味
       ** 1 表形式(桐 ver5 の帳票用)
       ** 2 伝票形式(桐 ver5 の帳票用)
       ** 3 タックシール形式(桐 ver5 の帳票用)
       ** 4 カード形式
       ** 5 伝票形式
       ** 7 一覧表形式

       確認 "&ハンドル = " + #str( &ハンドル ) + " &編集状態 = " + #str( #編集状態( &ハンドル ) ) + " &フォーム形式番号 = " + #str( &フォーム形式番号 )

       編集表 &hwindow /* 編集表を元に戻す ただし、Nullフォームだとエラーになります */

       if ( &ハンドル )

        if ( .not &フォーム形式番号 )

         if ( .not &編集状態 )

          確認 "表ウィンドウを閉じます"
          *ウィンドウ終了 &ハンドル
         else

          確認 "表ウィンドウは編集中なので閉じられません"
         end

        else

         if ( .not &編集状態 )

          確認 "フォームウィンドウを閉じます"
          *ウィンドウ終了 &ハンドル
         else

          確認 "フォームウィンドウは編集中なので閉じられません"
         end
        end
       end

      else

       確認 "ハンドルが見つかりません"
      end

     else

      確認 "Nullフォームなので実行できません ※編集表を元に戻せませんのでこの機能は実行できません"
     end

    手続き定義終了



    <蛇足>

    イベント処理でフォームウィンドウや表ウィンドウを対象にして、[フォーム終了]コマンドを実行するのは危険です。

    もしも、対象の表ウィンドウが表示モードならばよいですが、

    データを編集中、行を追加中などの編集モードだと編集中のデータを失います。

    <重要>

    試したところ、

    現行の桐10( ビルド番号:#2214 )では、編集中のデータを失うだけではなく、桐10が死んでしまいます。

    これは表ウィンドウの場合で、フォームウィンドウでは死なないようです。

    桐9-2012 も同じようです。

    桐ver.8 は編集中のデータを失うだけで死ななかったけどなぁ〜。


引用返信 [メール受信/OFF] 削除キー/
■10205 / inTopicNo.7)  Re[2]: フォームを閉じるときに開いている(別)表も閉じたい
□投稿者/ ONnoji -(2016/11/16(Wed) 14:57:34)
    2016/11/16(Wed) 15:00:57 編集(投稿者)

    サンプルを添付します。

    kesiteii.wfx を開いてください。

    編集表を切り替えて、編集モードとフォームの有無を調べますので、Nullフォームでは実行できませんのでご注意ください。



kesiteii_20161116.zip
/19KB
引用返信 [メール受信/OFF] 削除キー/
■10206 / inTopicNo.8)  Re[3]: フォームを閉じるときに開いている(別)表も閉じたい
□投稿者/ ONnoji -(2016/11/16(Wed) 15:44:58)
    2016/11/16(Wed) 16:19:11 編集(投稿者)

    > kesiteii.wfx を開いてください。
    >
    > 編集表を切り替えて、編集モードとフォームの有無を調べますので、Nullフォームでは実行できませんのでご注意ください。


    以下のようにコメントにすれば、Nullフォームでも実行できます。

    編集表を元に戻すのがお行儀が良いと思いますので、おススメはしませんがご参考までに。


    * if ( #表ファイル名( &hwindow ) <> #u )

         :
         :
         :


    *   編集表 &hwindow /* 編集表を元に戻す ただし、Nullフォームだとエラーになります */

         :
         :
         :

    * else

    *  確認 "Nullフォームなので実行できません ※編集表を元に戻せませんのでこの機能は実行できません"
    * end



引用返信 [メール受信/OFF] 削除キー/
■10207 / inTopicNo.9)  Re[4]: フォームを閉じるときに開いている(別)表も閉じたい
□投稿者/ Vision Maker -(2016/11/16(Wed) 18:30:27)
    2016/11/16(Wed) 23:31:12 編集(投稿者)

    通りすがりさん
    思い通りのことができました。
    ありがとうございました。
    たゆーさん
    表の閉じ方についてアドバイス
    ありがとうございました。
    まさやんさん
    ありがとうございました。
    元表は
    年度   文字列
    発行回数 整数
    作成日付 日時
    曜日   文字列
    天気   文字列
    日記   文字列
    で作成しています。
    書き出しで転置にしたものをここでは一覧表としています。
    この表は、
    日記記入時に、先週、先月、前年を表示させて参考として見る表として考えています。
    ONnojiさん
    ありがとうございます。
    そんな危険性があるとは知りませんでした。
    入力や編集はしないようにします。
    また、ONnojiさんのサンプルを試してみました。
    いろんな情報がわかりすごいなと思いました。

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



解決済み!
引用返信 [メール受信/OFF] 削除キー/
■10208 / inTopicNo.10)  Re[2]: フォームを閉じるときに開いている(別)表も閉じたい
□投稿者/ まさやん -(2016/11/17(Thu) 22:22:19)
    2016/11/17(Thu) 22:31:06 編集(投稿者)
    2016/11/17(Thu) 22:27:34 編集(投稿者)
    2016/11/17(Thu) 22:23:33 編集(投稿者)

    解決済ですが 参考までに。(2人目の老婆心)

    結合表 作るのも 一つの方法ですが、

    フォームを作ってみました。
    もちろん これだけでは不足しているのがいっぱいありますが、
    (データがない場合はどうするか・・とか)

    一つの考え方として あげてみました。

    もっと専門的なコマンドの書き方があると思いますが、
    とりあえず・・ということで お許しください。

    でも結合表作る方が簡単かな(笑)

    イベントの中で   繰り返しコマンドを 3回 同じこと書いていますが
    手続き で処理したほうがホントはいいのです。が、取り合えず。

1479389284.zip
/15KB
引用返信 [メール受信/OFF] 削除キー/
■10209 / inTopicNo.11)  Re[3]: フォームを閉じるときに開いている(別)表も閉じたい
□投稿者/ Vision Maker -(2016/11/17(Thu) 23:14:51)
    まさやんさん。

    こんにちは。

    配列を使うテクニックですね。

    とにかく、アイデア次第で本当に自分が欲しいものを作れる気がしてきました。

    なるほど、自分が欲しいものを実現する手段は一つではないですね。

    こんな発想は浮かびませんでした。

    応用すれば、日記に関係なく、いろんな場面で使えそうです。

    ありがとうございます。
解決済み!
引用返信 [メール受信/OFF] 削除キー/
■10210 / inTopicNo.12)  Re[3]: フォームを閉じるときに開いている(別)表も閉じたい
□投稿者/ まさやん -(2016/11/18(Fri) 08:25:13)
    2016/11/18(Fri) 08:29:26 編集(投稿者)

    蛇足その2です。


    エンドレスな日記帳作ってみました。
    前週のないデータは 表示されませんが 次週のデータは 追加できます。

    なお 手続きが 完全じゃなく 同じこと書いていますが、
    同じ仕事を 手続き使えば もっと短縮になります。がとりあえず・です。

    次週で 終端行 の場合の &日付 と &天気 と &メモ の更新は
    ちょっとアイデアが浮かばないので そのまま書きました
    計算方法が別にあると思います。

    試してみてください。 (あくまでも考え方の私なりの一例です。)
    以上 これで終わりたいと思います。

    何らかの不具合があった場合は ごめんなさい。

    追伸
    すみません
    日付と曜日と  キー操作禁止 になっていません なっていたほうがいいですね。
    (データが変わらないようにのために)

    メモ を 入力或いは訂正 してみてください。


1479425597.zip
/16KB
引用返信 [メール受信/OFF] 削除キー/
■10226 / inTopicNo.13)  Re[1]: フォームを閉じるときに開いている(別)表も閉じたい
□投稿者/ ONnoji -(2016/11/24(Thu) 15:57:42)
    2016/11/24(Thu) 15:57:59 編集(投稿者)

    > <蛇足>
    >
    > イベント処理でフォームウィンドウや表ウィンドウを対象にして、[フォーム終了]コマンドを実行するのは危険です。
    >
    > もしも、対象の表ウィンドウが表示モードならばよいですが、
    >
    > データを編集中、行を追加中などの編集モードだと編集中のデータを失います。
    >
    > <重要>
    >
    > 試したところ、
    >
    > 現行の桐10( ビルド番号:#2214 )では、編集中のデータを失うだけではなく、桐10が死んでしまいます。
    >
    > これは表ウィンドウの場合で、フォームウィンドウでは死なないようです。
    >
    > 桐9-2012 も同じようです。
    >
    > 桐ver.8 は編集中のデータを失うだけで死ななかったけどなぁ〜。

    桐10 更新プログラムで、桐ビルド番号:#2231 にアップデートしたところ、死ななくなりました。

    取り急ぎ、ご報告まで。


引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -