過去の桐井戸端BBS (桐ver.8)
13090 「訂正モード」とは何か? pokopon 2001/09/18-19:49
皆さん こんにちは

いまさら「超・ウルトラ・スペシャル・ものほど知らず・初心者」となって質問したいのですが。

それは、「訂正モード」です。f・2でもそうですし、「訂正」ボタンを押してもそうなりますね。
この操作の場合には、表では、リターンキーを押した場合には、次のセル(というか列)にカーソルが移動し、
依然として「訂正モード」のままです。
マウスで別の個所をクリックしても、その状態が継続されます。
これを解除するには「表示モード」への切り変えです。

 では、単に「スペースキー」を押して訂正モード(というか、入力可能な状態)になったとき、
リターンキーを押して次の列にいくと、自動で表示モードとなりますね。
マウスで直接ダブルクリックした場合も同じです。

本当に今まで??だったのですが(聞くのも恥ずかしい)、
この2つの操作にはどのような(桐の内部的に)違いがあるのでしょうか?

例えば、イベントで、上記の2つの状態を使い分けたい場合に、どうすればよいのか???
コマンドボタンで「訂正」「表示」は可能ですが、後者(1回きりの訂正モード)はどうやって???

いまだ、両者の違い(実際の動作そのものではなく、桐の内部的な処理で)が分からないのです。
どなたか教えてはもらえませんでしょうか?

13091 桐の表示モードと編集モード 佐田 守弘 2001/09/18-21:00
記事番号13090へのコメント
pokoponさん
御質問の訂正モードの違いは、桐の編集モードの違いです。
これについて体系的にお話します。

まず、桐には表示モードと編集モードがあります。
これはご存知の事と思いますが、復習しますと、
@表示モード
 表全体をブラウズしたり、表全体に対して処理を行う時のモードです。
A編集モード
 行データを追加訂正する時のモードです。

さて、上記の編集モードですが、編集モードには次の様な状態(モード)があります。
a.行追加
b.行挿入
c.行訂正
d.項目訂正

この内の行追加と行挿入は、いずれも新規レコードを追加する時のモードです。
両者の違いは新規行の挿入位置の違いです。
ただし、終端行でスペースキーを押すと、行追加モードに入ります。
行追加、行挿入のモードに入ると、行訂正と同じで、表示モードに切り換えないとこのモードを終了しません。

行訂正は、既存レコードを編集モードです。既存レコードにカーソルをおいて、
訂正ボタンを押すと、訂正(行訂正)モードに入ります。
行訂正モードに入ると、Enterキーを押して次のセルに進めても、そのまま行訂正モードが継続します。
表示モードに戻るには、表示ボタンをおして戻ります。

項目訂正は、既存レコードの1項目だけを編集する時のモードです。
編集したい項目にカーソルをおいて、スペースキーを押すと、項目訂正モードに入り、
その項目だけの編集モードに入ります。
項目訂正モードは、その1項目の訂正が終了すると、自動的に表示モードに戻ります。

以上でお分かりの様に、御質問の件は、桐の内部処理といった難しい話ではなく、
単なるモードの違いによる動作の違いです。

佐田守弘(KS-00119)


13099 Re:桐の表示モードと編集モード pokopon 2001/09/19-07:13
記事番号13091へのコメント
佐田 守弘さん こんにちは

早速有難うございました。

>さて、上記の編集モードですが、編集モードには次の様な状態(モード)があります。
>a.行追加
>b.行挿入
>c.行訂正
>d.項目訂正

ということは、新規レコードでない場合に、通常「訂正」ボタンをおすと、
d.行訂正
ということですね。

では、表を取り込んでいないフォームで(NUL表)、テキスト領域に「変数」だけをおいた場合に、この「訂正」とすると、
たとえば、コマンドボタンで機能名に「訂正」を指定すれば、レコードが1件も無いのに、やはり「行訂正」状態となるのは??? でした。
「訂正」としたら、自動で「項目訂正」とならないんですね。

でも、「行訂正」と「項目訂正」の違いがハッキリとしただけでも、有難うございました。

13101 ご参考までに・・ 島尾 2001/09/19-08:49
記事番号13090へのコメント
一回限りの動作をイベントで実現する場合は
フォームの場合は

(項目編集に入る)
メソッド呼び出し @フォーム.更新モード設定(2)

(項目編集からでる)
メソッド呼び出し @フォーム.更新モード設定(0)

を私は良く多用します。
よく入力ダイアログなどをフォームでつくる場合、
(テキストボックス、OKボタン、キャンセルボタンがあるだけのようなフォーム)など、
訂正モードとか表示モードとかが有るとWindows標準のようは入力ダイアログにならないので、フォーム開始イベントで

メソッド呼び出し @フォーム.更新モード設定(2)

を実施して常に訂正モードに置き、入力がおわったら

メソッド呼び出し @フォーム.更新モード設定(0)
メソッド呼び出し @フォーム.更新モード設定(2)

を実行して一度確定させてから即訂正モードに復帰するような処理をよく使います。

例)

   〜 フォーム開始 〜

メソッド呼び出し @フォーム.更新モード設定(2)

   〜 入力待ち 〜

メソッド呼び出し @フォーム.更新モード設定(0)  いったん確定して
メソッド呼び出し @フォーム.更新モード設定(2)  即また訂正モード

   〜 次の項目の入力待ち 〜


ご参考までに・・・



13121 Re:桐の表示モードと編集モード KH 2001/09/19-22:29
記事番号13099へのコメント
>では、表を取り込んでいないフォームで(NUL表)、テキスト領域に「変数」だけをおいた場合
>に、この「訂正」とすると、

 pokoponさん、今晩は。
内部的な事はわからないのですが、ちょっと気になりましてコメントした次第です。
外していたら無視してください。
 表に於いての行訂正と項目訂正の違いは、佐田先生のコメントでお解りだと思いますが、
DOS桐からの桐の仕様でしたし、DOSに比べると減少はしていますがまだまだ重宝な部分は残っています。
 でも、対象表のないフォームでのテキスト領域(変数)でこの2つの動作の何れかをさせようとすることが、私には理解できません。
表がないのですから、変数に対して項目訂正と言う考え自体が出てこないので、別の方法で実現しようとするのではないかと思いますが。



戻る