過去の桐井戸端BBS (桐ver.8)
14855 一括処理中に表の状態を取得する方法は? ヒロ 2002/01/24-17:18
皆さん こんにちは

桐8sp6を使っています。

一括処理において表ファイルを閉じる際に、
その表ファイルに対して編集(行訂正や行追加、行削除など)を
加えてあるかどうかの情報を取得する方法を教えて下さい。
例えば次のような一括処理の場合です。

表 &file
表形式編集
(※)←ここで情報を取得して結果を「&編集した」に格納したい。
条件 (&編集した) 確認 "更新してます。保存終了<RET>、破棄終了<ESC>",&確認
条件 (&確認) 終了 表 編集対象表
条件 (.NOT &確認) 中止 表 編集対象表

何か適当な関数があればいいなぁ〜と探してみましたが
見あたりませんでした。

以上、よろしくお願いします。

14859 Re:一括処理中に表の状態を取得する方法は? 悲しげ 2002/01/24-18:16
記事番号14855へのコメント
どもっ、ヒロさん、表形式編集からは難しいように思います。

あまり役に立ちそうな気もしませんけど、表形式編集ではなく、
例えば無理やり一覧表フォームとかを使えば、類似のことはできると思います。
やり方は、閉じる機能のコマンド牡丹を設けて、その機能パラメータは
「確認する」を指定します。
こうすれば、表が「バックアップを取る」設定になっていれば、
終了時に保存終了と破棄終了の選択が可能です。

14867 Re:一括処理中に表の状態を取得する方法は? 佐田 守弘 2002/01/25-00:31
記事番号14855へのコメント
ヒロさん
データファイルが編集されている事を管理工学言葉で「ダーティ」と言うそうですが、
表がダーティであるか非ダーティであるかを判別する関数はなかったと思います。
(桐の内部では把握しているはずですが)
桐ver.5時代には、編集を行う時には会話処理モードでは行わず、行訂正コマンドで行っていたので、
このコマンドを発行する前に、フラグとして&editという変数に1を代入する事で、フラグが0か1かで
判定していました。

桐ver.8でフォームを使うのであれば、フォーム開始イベントで&editに0を代入し、
それぞれの項目のテキストボックスでは、ソース値更新イベントで&editに1を代入してやれば、
同じ事ができるかと思います。

佐田守弘(KS-00119)
14913 Re:一括処理中に表の状態を取得する方法は? ヒロ 2002/01/29-18:18
記事番号14867へのコメント
悲しげさん、佐田さん こんにちは
レスありがとうございました。

なるほど、やはり判別する関数はないんですね。
何で、こんな関数がないんだろう?
と素朴な疑問を感じたのですが、やっぱり必要ないからか…?
ありそうでない関数、使わなさそうで有ったら便利そうな関数だと思うのは
私だけでしょうか…(^^;

フォームにおける裏技(?)は大変参考になりました。
今度試してみようと思います。

お礼の発言が遅くなってしまった事お詫び申し上げます。
ありがとうございました。

戻る