質問 1 と 2 は、INFORMIX-SQL 4.10.DD6 (DOS) 実行画面に固有のものです。質問 3 は、あらゆる環境のあらゆるバージョンの INFORMIX-SQL に適用されます。
1 ページにより多くの項目を収めるために、パフォーマンス画面に 80 列以上を表示できるようにしたいと考えています。DOS 6.22 コマンド 'MODE CON: CO132' を試し、実行画面で 'SCREEN SIZE 24 BY 132' を指定し、80 カラム マークの後にいくつかのフィールド タグを追加して、それが機能するかどうかを確認しましたが、MODE CO132 コマンドは機能しませんでした。画面は 80 列モードのままでした。VESA BIOS がほとんどのハードウェアまたは DOS 画面モードを 132 列に変更する別のユーティリティで標準になっているということで、これを達成する方法はありますか? termcap ファイルで CO#132 を使用して LINUX でこれを実行しました。
私の実行画面には、同じページに 2 つのテーブルがあります。マスター/詳細を使用して 1 つのテーブルから別のテーブルに切り替えると、REVERSE 属性を持つフィールドが逆方向に 1 つ左に展開されますが、フィールド内のデータは同じ位置に残ります!..これは、ISQL 2.10 では発生しませんでした。しかし、今は 4.10 です。画面サイズは 24 BY 80 で、24 BY 79 で実験しましたが、表示の問題は解決しませんでした。ただし、Perform で Screen コマンドを押すと、通常に戻ります。DELIMITERS “ “; も使用しています。[空白の区切り文字] .PER. の INSTRUCTIONS SECTION に..何が原因でしょうか?
ユーザーが実行で追加、更新などのコマンドを中止 [Control-C] することを決定した場合、DISPLAYONLY フィールドは、コマンドが実行される前に表示されていた値に戻りません。.per screen、属性、および指示セクションにそれぞれ次の例があります。
[dispfld1 ] dispfld1 = DISPLAYONLY TYPE DATE,FORMAT="mmm-dd-yyyy",DEFAULT=NULL; BEFORE EDITADD EDITUPDATE OF tablename LET dispfld1 = TODAY
ユーザーがアクションの追加または更新の実行を選択すると、DISPLAYONLY フィールド dispfld1 に今日の日付が自動的に表示されますが、追加または更新アクションを中止すると、dispfld1 は NULL 値に戻らず、今日の日付のままになります。
いろいろな方法を実験しました。次の命令文は間違った構文ですが、私が達成したいことです!
AFTER DISPLAY OF tablename
IF ABORT THEN LET dispfld1 = NULL
AFTER DISPLAY OF tablename
IF NEXTFIELD = ABORT THEN LET dispfld1 = NULL
BEFORE DISPLAY OF tablename
LET dispfld1 = NULL
table.columns に関連付けられたフィールド タグは問題なく元に戻りますが、DISPLAYONLY フィールドは、追加または更新に入るときに表示するように選択した値のままです。