4D v16.3メソッドを記述する |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
メソッドを記述する
メソッドを記述する
4Dのメソッドエディターはテキストエディターのように動作します。メソッドの記述はテキストの入力、コンポーネントの選択、そしてエクスプローラーやその他のウィンドウからのドラッグ操作により行います。メソッドの記述をより効率的に行うためにタイプアヘッド機能も提供されています。 1つのメソッドには最大32,000行、2GBのコードを記述できます。 4Dのメソッドエディターは基本的なシンタックスチェック機能を提供します。メソッド実行時には追加のエラーチェックが行われます。 v15以前の4Dでは、フランス語版のプログラムはプログラミング言語がフランス語でしたが、他のバージョン(英語版、ドイツ語版、他)では”ユニバーサルな”言語、つまり英語でした。 これは4D v15以降変更されました。4Dのメソッドエディターは4Dのアプリケーション言語やローカルシステム設定に関係なく、デフォルトで国際的な"English-US"モードを使用し、コマンド53番はフランス語版の4DにおいてもSAVE RECORD という名前になりました。リスト、タイプアヘッドウィンドウ、オンラインヘルプ、等はコマンド名と定数名を英語で表示するようになりました。この設定についての詳細な情報に関しては、4Dプログラミング言語 の章を参照して下さい ” リーションシステム設定を使用”の設定(メソッドページを参照して下さい)を使用することによってローカル設定に基づいた以前のモードを復元し維持することは可能です。もちろん、使用する 設定に関わらず、この章で説明されているコードを書く際の原理というのは同じです。 4D v15 モード (デフォルト): メソッドエディターへの入力と編集には標準のテキスト編集テクニックを使用します。入力を行うと挿入ポイントに文字が表示されます。Return または Enter キーを押すと改行が挿入されます。 注: テンキーのEnterキーとメインキーボードのEnterキーでは押したときの動作が異なります。テンキーのEnterキーを押した場合、4Dは改行を挿入せずに、その行のシンタックスチェックを行います。 メソッドエディターはシンタックス要素ごとに、指定されたスタイルやカラーを使用して表示を行います。この設定は変更できます (メソッドエディター参照)。入力を行う間、また改行を挿入する際、4Dは行のテキストを評価して適切な表示フォーマットを適用します。またIfなどのプログラム構造が使用された場合、4Dは自動でインデントを行います。 矢印キーを使用して異なる行に移動できます。矢印による移動では行の評価が行われないため、クリックよりもすばやく移動できます。 Windowsでは日本語や中国語を入力するためにIMEがサポートされています。 メソッドエディターではナビゲーションショートカットがサポートされています。これらのショートカットについてはこのページで後述します。 メソッドを記述する際にドラッグ&ドロップメカニズムを使用できます。エクスプローラー、同じメソッド内、2つのメソッド間で項目をドラッグ&ドロップできます。
1つのステートメントを複数行に記述できるようになりました。これを行うにはステートメントの各行をバックスラッシュ "\" 文字 (日本語Windowsの場合半角円マーク) で終了します。4Dはこの文字で終わらない行までを一行として扱います。例えば以下のステートメントは同等です: 注: この節の内容はアルファベットに対してのみ有効です。 メソッドメニューの大文字/小文字サブメニュー、またはエディターのコンテキストメニューを使用して、選択したテキストの大文字/小文字を変更することができます:
式の入れ替え機能を使用すると、代入式の左辺と右辺が入れ替わります。例えば: variable1:=variable2 は以下のようになります。 variable2:=variable1 この機能は特にプロパティを取得したり設定したりする一連の代入式を逆にする場合に便利です。この機能を使用するには、対象の行を選択し、メソッドメニューまたはエリアのコンテキストメニューから式の入れ替えコマンドを選択します。選択された行のうち、値を代入する行だけが更新されます。 標準のコピー/ペースト処理に加え、4Dは異なるクリップボードの内容に対して動作する2つの追加の機能を提供します:
カーソルのある行を、メソッドメニューの行を上に移動/行を下に移動コマンド、またはAlt/Option + 上矢印/下矢印で上下に移動することができます。行全体を選択する必要はありません。 メソッドをエディターで開いた後に更新された行には色つきのバーが表示されます:
メソッドエディターには自動補完機能があります。4Dはタイプされた最初の文字に基づき、自動で候補を提案します。 以下の例題の場合、"cop"とタイプしたことにより三角が表示されています。これは複数の候補があることを示しています: Tabキーを押すと、候補がポップアップリストに表示されます:リストは要素のタイプごとにグループ化され、そのグループ内で文字順になっています。ダブルクリックまたは矢印キーで選択してからEnter, Carriage Return または Tabキーを押すと、選択された値が挿入されます。 注: 1つしか候補がない場合、その候補が灰色の文字で直接表示されます。Tabキーを押すとその候補が挿入されます: + ( キー --> 注: この区切り文字に伴って候補が自動で入力される動作を、環境設定のメソッドページで無効にできます。 Esc キーを押すとポップアップが閉じられます。またポップアップが開いた状態で入力を継続することもできます。文字が入力されるに伴い、ポップアップで提案される内容も更新されます。 タイプされた名前が異なる複数のオブジェクトに対応する場合、オブジェクトは対応するスタイルを使用してリスト中に表示されます。以下のタイプのオブジェクトが表示されます:
注: 定数、ローカルおよびインタープロセス変数、テーブルに対する自動的なリストの表示を無効にできます。これらのオプションは環境設定のメソッドページにあります。 ブロックを選択機能を使用して、挿入カーソルが含まれるコードブロックを選択できます。コードブロックは以下のように決定されます:
すでにブロックが選択されている状態でこの機能を使用すると、さらに上のレベルのブロックを選択します。 Ctrl+Shift+B (Windows) または Command+Shift+B (Mac OS) を使用するとこの操作を逆に行うことができ、最後に選択されたブロックの選択が解除されます。 注: 挿入ポイントがIf または Else タイプの構造の中にある場合、If または Else 構造ブロックが選択されます。 単語を選択するには、選択したい単語上でダブルクリックを行います。参照される名前 (コマンド、定数、メソッド等) にスペースが含まれる場合、Alt/Option + ダブルクリックを行うとスペースを含む名前全体を選択できます。 メソッドエディターでコード中を移動するために、標準のキーボードショートカットを使用できます。 注: Mac OSではCtrlをCommandに読み替えてください。
4Dは自動でメソッドシンタックスをチェックします。シンタックスが正しくない状態では、そのことを示す記号がブレークポイントエリアに表示されます 。マウスを記号に重ねるとエラーの内容が表示されます: コードを入力する際、テンキー側のEnterを押すと、改行されることなく現在の行のシンタックスチェックを行えます。4Dは行を評価し、フォーマットし、エラーがあればそれを表示し、挿入カーソルを行の最後に移動します。メソッド行にエラーがあると表示された場合はそれを修正してください。正しく修正されると4Dはエラー記号を取り除きます。メソッドを保存したりウィンドウを閉じたり、Enterキーを押したりしたときはメソッド全体が評価されます。 メソッドが評価されるとき、4Dは基本的なシンタックスエラーの他、If ... End if などの構造も検証します。また括弧やクォーテーションマークなどの対応 (ペアになっているか) もチェックします。閉じる文字を入力すると、4Dは開始と終了文字を灰色の四角で囲み、それらがペアであることを示します: 注: コード中のこれらの文字をクリックすると、4Dはデフォルトで対応するペアの文字を灰色四角で囲みます。この振る舞いは環境設定のメソッドページ中"括弧のマッチング"オプションで変更できます。 メソッドエディターではスペルミスなどの大きなシンタックスエラーしかチェックできません。実行時エラーはチェックできません。実行時エラーはメソッドが実行されているときに4Dが検出します。4Dはこのようなエラーを処理するためにデバッガー (デバッグ参照) を提供します。またコンパイラーを使用すれば型の非互換などのエラーを検出することもできます。コンパイラーについてはコンパイルを参照してください。 メソッドエディターではカーソルの位置に応じて様々なヘルプTipが表示されます。
4DランゲージコマンドのHTMLドキュメントを表示できます。これを行うには、コマンド名の途中にカーソルを挿入し、F1を押します。デフォルトブラウザーの新しいウィンドウにコマンドの完全なドキュメントが表示されます。 アプリケーション環境設定 (ドキュメントの場所) に基づき、4Dはオンラインドキュメントセンター、あるいはローカルからそのコマンドのドキュメントを探します。 コメントを使用するとコード行を無効にできます。プログラムはコメント行をコードとして解釈せず (4Dはメソッドエディター上でコメントにスタイルを適用しません) メソッドを呼び出してもそのコードは実行されません。 コメントを作成するには、そのコメントの先頭に"//"を挿入します。 コメントの最大長は行と同じで32,000文字です。 メソッドメニューやメソッドエディターコンテキストメニューにあるコメント/アンコメントコマンドを使用すると、選択した (複数の) 行を一度にコメント化したり、あるいは逆にコメント解除できます。 --> 選択行がアクティブなコードの場合、コメントコマンドが適用されます。選択行にアクティブ行と非アクティブ行が含まれる場合、すべての行に"//"が追加されます。この動作により、複数回コマンドを適用しても、最初のコメントレベルが維持されます。選択行がすべて非アクティブコードの場合、アンコメントコマンドが適用されます。 注: コメント/アンコメント コマンドは行全体に適用されます。行の一部をコメント化するためには使用できません。 メソッドエディターでエスケープシーケンス (エスケープ文字) を使用できます。エスケープシーケンスは特別な文字の代わりに使用される一連の文字です。 エスケープシーケンスは一文字目がバックスラッシュであり、そのあとに文字が続きます。例えば "\t" はタブ文字のエスケープシーケンスです。エスケープシーケンスを使用すると特別な文字の入力が容易になります。例えば "\t" を Char(Tab) の代わりに使用できます。 4Dでは以下のエスケープシーケンスを使用できます:
注: エスケープシーケンスでは大文字小文字が区別されません。 以下の例題で改行文字 (エスケープシーケンス "\r") を使用して、警告ダイアログに表示されるメッセージに改行を挿入しています: ALERT("The operation has been completed successfully.\rYou may now disconnect.") 警告: "\" (バックスラッシュ) はWindowsでパス名の区切り文字として使用されています。通常4Dはメソッドエディターに入力されたバックスラッシュを自動で"\\"に置き換えることで、これを正しく解釈します。例えば"C:\Folder"と入力すると"C:\\Folder"に変換されます。しかし“C:\MyDocuments\New”と入力した場合4Dは“C:\\MyDocuments\New”を表示します。この場合、二番目のバックスラッシュは "\N" (行送り) と解釈されてしまいます。このようなケースでは開発者がバックスラッシュを2つ入力するようにしなければなりません。 メソッドエディターにはコードの可読性を高めたり、行のブラウズを容易にしたりする機能があります。 ループや条件分の中にあるコードを折りたたんだり展開したりして、メソッドの可読性を高めることができます:
展開ボタン [...] の上にマウスを重ねるとヘルプチップが表示され、非表示になっているコードの先頭部分を見ることができます。 折りたたまれたコード部分を選択、コピー、ペースト、または削除することができます。折りたたみに含まれるすべての行が操作の対象となります。このようなコードがペーストされると、自動で展開されます。 コードを折りたたみ、展開する方法はいくつかあります:
コード構造の中を移動することを容易にするための機能があります。
このコマンドにはメソッドメニューとメソッドエディターのコンテキストメニューからアクセスできます。以下のショートカットも利用できます:
メソッドの特定の行にブックマークを付けることができます。ブックマークを付けると、特別なコマンドを使用してブックマーク間を素早く移動できます。 コードが挿入されたり削除されたりしてブックマーク行が移動すると、ブックマークもそれに伴って移動します。ブックマークはメソッドとともに保存されます。 ブックマークはメソッドメニューのブックマークサブメニューから管理します:
注: 検索で見つかった項目を含む行のマーカーとしてブックマークを使用できます。この場合4Dは自動でブックマークを追加します。詳細はメソッド中の検索と置換を参照してください。
参照
|
プロパティ
プロダクト: 4D
履歴
タグ IME ARTICLE USAGE
デザインリファレンス ( 4D v16) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||