このドキュメントでは、次のトピックについて説明します。
拡張ソースコードフォーマットを使用すると、ダイアログエディタによって生成されたソースコードを編集できます。 拡張ソースコードは、プログラムエディタウィンドウで編集します。 ダイアログを編集すると、ダイアログエディタによってその結果が内部構造に保存されます。 ダイアログで他のシステムコマンドを保存、STOW、リスト、または実行すると、これらの内部構造からソースコードが生成されます。 また、プログラムエディタのソースコードウィンドウをリフレッシュしたときにも、コードが生成されます。
拡張ソースコードは、他の Natural ユーザーコードと同じように編集できます。 ただし、拡張ソースコード構文は、多くの形式的な規則に従う必要があります。 拡張ソースコード構文の詳細については、『エディタ』ドキュメントのダイアログエディタ部分にある「拡張されたソースコードフォーマット」を参照してください。
プログラムエディタのソースコードウィンドウで編集したダイアログ上でシステムコマンドを実行すると、ダイアログエディタによって内部構造が更新され、ソースコードウィンドウがリフレッシュされます。
注意:
ダイアログエディタでは、イベントハンドラなどのユーザーコードセクションにあるコードレイアウトのみが保存されます。
ダイアログエディタは、次のソース形式をサポートします。
213. これは、Natural バージョン 2.1.3 で生成されるフォーマットです(新しい次元)。 入力でのみサポートされています。 Natural バージョン 3.1 およびバージョン 3.2 では、2.1.3 フォーマットを生成できません。
22C。 これは、Natural バージョン 2.2.2 で生成されるフォーマットです。 Natural for Windows、Natural for UNIX、および Natural for OpenVMS では、このフォーマットのダイアログを生成できません。 このフォーマットも入力に対してのみサポートされています。
22D。 このフォーマットは、今後の標準となる "拡張" ソースコードフォーマットです。 Natural バージョン 2.2.3 以上で、ダイアログのコンパイル、保存、および編集のために生成されます。
拡張ソースコードフォーマットには以下の特徴があります。
ダイアログソースは、変換なしで読み込みおよび印刷が可能です。
ダイアログソースは、完全にドキュメント化された有効な Natural 構文だけで構成されます。
ダイアログソースは、テキストの検索や置換などのプログラムエディタ機能を使用して、テキスト編集できます。
ダイアログソースは、Natural デバッガに表示できます。
ダイアログソースは、213 または 22C フォーマットのソースより大きくなります(1.25~3.5 倍)。
ダイアログエディタで作成可能なコードはすべて、手動でコーディングすることもできます。 例えば、プッシュボタンコントロールをユーザーインターフェイスに "作成" すると、対応するコードが暗黙的に生成されます。 また、プログラムエディタの機能を提供するソースコードウィンドウを使用して、プッシュボタンコントロールを明示的に作成することもできます。
ソースコードウィンドウまたはダイアログウィンドウを選択して、ダイアログエディタとプログラムエディタを切り替えることができます。 どちらのウィンドウで編集する場合も、更新を同期する必要があります。(図を使用して)ダイアログを修正すると、ソースコードウィンドウがロックされ、そこで変更を加えることができなくなります。 これに対応して、ソースコードを変更すると、ダイアログウィンドウがロックされ、そこで変更を加えることができなくなります。 エディタがロックされると、ステータスバーに "ロック" と表示されます。
古いフォーマットのダイアログは以下のように処理されます。
ダイアログは、ダイアログエディタで処理されるまで変更されません。 ダイアログは、古いフォーマットでコンパイルおよび実行できます。
ダイアログは、ダイアログエディタにロードするときに、新しいフォーマットで保存されます。 ダイアログを拡張フォーマットで保存する場合、ローカルデータエリア NGULKEY1 を含める必要があります。 ダイアログを保存するとストレージサイズが増えることに注意してください。
"拡張リストモード" オプションを使用可能に設定してダイアログをリストまたは印刷すると、ダイアログは拡張ソースコードフォーマットで出力されます。
拡張ソースコードフォーマットを編集する場合、プログラムエディタで使用可能な構文要素の一部にダイアログエディタで使用できないものがあることに注意してください。 拡張ソースコード編集は、ダイアログエディタ以外を使用する新しいプログラミング手法を意図するものではありません。
構文的には、ダイアログエレメントの数値座標(RECTANGLE-X
属性値)を変数参照で置き換えることができます。 ただし、ダイアログエディタは変更を同期するときにこの構文を受け付けないため、ソースコードを要求するコマンドが発行されるとプロンプトを出力します。
ダイアログエディタは、変数が宣言されていなくても変数の STRING
属性への参照を受け付けますが、コンパイラは受け付けません。
ユーザーコード以外のセクションでは、コンパイラとダイアログエディタの両方で受け付けられるコードだけを追加することによって、このような矛盾を避ける必要があります。
イベントハンドラセクションや外部/内部サブルーチンなどのユーザーコードセクションでは、ダイアログエディタはプログラミング手法の選択を制限しません。 ただし、これらのセクションでは、ビジュアル編集はサポートされません。
一般的に、ダイアログエディタによって生成されるコードを開始地点として使用する場合は特に、複数の手法を組み合わせて使用するのが最適です。
注意:
ダイアログエディタでダイアログエレメントをクリップボードにコピーしてユーザーコードに貼り付けると、テキストとして表示されます。
ダイアログを拡張ソースコードフォーマットで編集するには
ダイアログをダイアログエディタにロードします。
メニューの を選択します。
または:
[ソースコード]ツールバーボタンを選択します。
または:
Ctrl + Alt + C キーを押します。
ダイアログのソースコードウィンドウが表示され、プログラムエディタがロードされます。 このエディタを使用すると、テキスト文字列のスキャンや置き換えなどを実行できます。 プログラムエディタの使用方法の詳細については、「プログラムエディタ」を参照してください。
拡張ソースコードフォーマットの構文形式については、『エディタ』ドキュメントのダイアログエディタ部分にある「拡張されたソースコードフォーマット」を参照してください。
拡張ソースコードは通常のコードと同様にリストおよび印刷できます。 また、
メニューの コマンドを使用して文字列を検索することもできます。注意:
このオプションを使用して文字列を置き換えると、ダイアログエディタと矛盾するダイアログソースができる可能性があります。