ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19
メソッドを記述する
|
選択したテキストをクリップボードにコピー | カーソル位置にクリップボードの内容をペースト | |
Windows | クリップボードアイコン上でShift+クリックあるいはAlt+クリック | クリップボードアイコン上でCtrl+クリック |
Ctrl+クリップボード番号 | ||
Mac OS | クリップボードアイコン上でShift+クリックあるいはAlt+クリック | クリップボードアイコン上でCmd+クリック |
Cmd+Shift+クリップボード番号 | Cmd+クリップボード番号 |
カーソルのある行を、メソッドメニューの行を上に移動/行を下に移動コマンド、またはAlt/Option + 上矢印/下矢印で上下に移動することができます。行全体を選択する必要はありません。
メソッドをエディターで開いた後に更新された行には色つきのバーが表示されます:
メソッドエディターでは自動補完機能 が提供されています。4Dはタイプされた最初の文字に基づき、自動で候補を提案します。
以下の例題の場合、"cop"とタイプしたことにより三角が表示されています。これは複数の候補があることを示しています:
入力した文字に対応する候補が一つだけに絞り込まれた時、提案される値はグレーアウトされた状態で表示されます(この状態でTabキーを押すと挿入されます):
--->
注: 環境設定ののページ内の、() と閉じる } ) ] " を挿入オプションをチェックしてあった場合、4D はひとつ以上の必須の引数を持つ4D コマンド、キーワード、プロジェクトメソッドの後ろに(サジェスチョン、あるいは補完を受け入れたあとに)自動的に() を追加します: ->
自動補完機能はまた、コードのストラクチャー(フロー制御。例: If..End if, For each...End for each)などにも使用できます: ストラクチャーの最初の部分を入力し始めると、メソッドエディターは自動的に終わりの部分を提示します:
複数のサジェスチョンがある場合、Tab キーを押すと4D はそのポップアップリストを表示します:
リストは要素のタイプごとにグループ化され、そのグループ内で文字順になっています。ダブルクリックまたは矢印キーで選択してからEnter, Carriage Return または Tabキーを押すと、選択された値が挿入されます。
デフォルトでは以下の区切り文字を入力すると、自動で値の候補も (区切り文字の前に) 挿入されます ( ; : = < [ { 。値を選択したあとそれらの区切り文字のいずれかを入力するとそのあとに閉じる区切り文字がつき、データの入力の準備ができた状態になります。 + ( キー -->
注: この区切り文字に伴って候補が自動で入力される動作を、環境設定のメソッドページで無効にできます。
Esc キーを押すとポップアップが閉じられます。またポップアップが開いた状態で入力を継続することもできます。文字が入力されるに伴い、ポップアップで提案される内容も更新されます。
タイプされた名前が異なる複数のオブジェクトに対応する場合、オブジェクトは対応するスタイルを使用してリスト中に表示されます。以下のタイプのオブジェクトが表示されます:
注: 使いやすさの観点から、定数、変数(ローカルあるいはインタープロセス)あるいはオブジェクト属性、テーブルに対する自動的なリストの表示を無効にできます。これらのオプションは環境設定のメソッドページにあります。
オブジェクト記法 が有効化されていた場合、4D は以下のタイミングで、4D メソッド内にある有効なオブジェクト属性名を格納した、大文字と小文字を区別している提案を自動的に表示します:
注: length 属性はコレクションでの使用のために必ず含まれています。
有効なオブジェクト属性名とは、ECMA Script 標準に準拠しているものをさします。詳細な情報については、オブジェクトプロパティ識別子を参照してください。
一度作成してしまえば、属性名は内部のグローバルなリストに登録され、メソッドが開かれたり閉じられたり、フォーカスが変わるたびに使用可能です。
提案の一覧は、メソッドが変更されている最中にも動的に更新されています。ウィンドウ間を切り替えるときに、新しい属性名や編集された属性名は必ずグローバルなリストに追加されます。このリストはエクスプローラーないでメソッドをプレビューした際にも更新されます。
データベースが再起動されると、リストは再度初期化されます。
注: 属性名の自動表示は、環境設定のメソッドページ のページにて無効化することができます。
ブロックを選択機能を使用して、挿入カーソルが含まれるコードブロックを選択できます。コードブロックは以下のように決定されます:
すでにブロックが選択されている状態でこの機能を使用すると、さらに上のレベルのブロックを選択します。
Ctrl+Shift+B (Windows) または Command+Shift+B (Mac OS) を使用するとこの操作を逆に行うことができ、最後に選択されたブロックの選択が解除されます。
注: 挿入ポイントがIf または Else タイプの構造の中にある場合、If または Else 構造ブロックが選択されます。
単語を選択するには、選択したい単語上でダブルクリックを行います。参照される名前 (コマンド、定数、メソッド等) にスペースが含まれる場合、Alt/Option + ダブルクリックを行うとスペースを含む名前全体を選択できます。
メソッドエディターでコード中を移動するために、標準のキーボードショートカットを使用できます。
注: Mac OSではCtrlをCommandに読み替えてください。
ショートカット | アクション |
[Shift]+[右矢印] | 選択する範囲を一文字ずつ右方向に移動します。 |
[Shift]+[左矢印] | 選択する範囲を一文字ずつ左方向に移動します。 |
[Shift]+[下矢印] | 選択する範囲を一文字ずつ下方向に移動します。 |
[Shift]+[上矢印] | 選択する範囲を一文字ずつ上方向に移動します。 |
[Ctrl]+[Shift]+[右矢印] | 選択する範囲を単語単位で右方向に移動します。 |
[Ctrl]+[Shift]+[左矢印] | 選択する範囲を単語単位で左方向に移動します。 |
[Ctrl]+[右矢印] | 挿入カーソルを単語単位で左から右に移動します。 |
[Ctrl]+[左矢印] | 挿入カーソルを単語単位で右から左に移動します。 |
[Home] | 挿入カーソルを行の先頭に移動します。 |
[End] | 挿入カーソルを行の最後に移動します。 |
[Ctrl]+[Home] | 挿入カーソルをメソッドの先頭に移動します。 |
[Ctrl]+[End] | 挿入カーソルをメソッドの最後に移動します。 |
[Shift]+[Home] | 行の先頭からカーソルまでを選択します。 |
[Shift]+[End] | カーソルから行の最後までを選択します。 |
[Page Up] | メソッドをページ単位で上にスクロールします (挿入カーソル位置は変更されません)。 |
[Page Down] | メソッドをページ単位で下にスクロールします (挿入カーソル位置は変更されません)。 |
4Dは自動でメソッドシンタックスをチェックします。シンタックスが正しくない状態では、そのことを示す記号がブレークポイントエリアに表示されます 。マウスを記号に重ねるとエラーの内容が表示されます:
コードを入力する際、テンキー側のEnterを押すと、改行されることなく現在の行のシンタックスチェックを行えます。4Dは行を評価し、フォーマットし、エラーがあればそれを表示し、挿入カーソルを行の最後に移動します。メソッド行にエラーがあると表示された場合はそれを修正してください。正しく修正されると4Dはエラー記号を取り除きます。メソッドを保存したりウィンドウを閉じたり、Enterキーを押したりしたときはメソッド全体が評価されます。
メソッドが評価されるとき、4Dは基本的なシンタックスエラーの他、If ... End if などの構造も検証します。また括弧やクォーテーションマークなどの対応 (ペアになっているか) もチェックします。閉じる文字を入力すると、4Dは開始と終了文字を灰色の四角で囲み、それらがペアであることを示します:
注: コード中のこれらの文字をクリックすると、4Dはデフォルトで対応するペアの文字を灰色四角で囲みます。この振る舞いは環境設定のメソッドページ中"括弧のマッチング"オプションで変更できます。
メソッドエディターではスペルミスなどの大きなシンタックスエラーしかチェックできません。実行時エラーはチェックできません。実行時エラーはメソッドが実行されているときに4Dが検出します。4Dはこのようなエラーを処理するためにデバッガー (デバッグ参照) を提供します。またコンパイラーを使用すれば型の非互換などのエラーを検出することもできます。コンパイラーについてはコンパイルを参照してください。
メソッドエディターではカーソルの位置に応じて様々な情報を、ヘルプTip(マウスをオブジェクト上に重ねたときに表示)とステータスバー(メソッドエディターウィンドウの下部)に表示します。
4DランゲージコマンドのHTMLドキュメントを表示できます。これを行うには、コマンド名の途中にカーソルを挿入し、F1を押します。デフォルトブラウザーの新しいウィンドウにコマンドの完全なドキュメントが表示されます。
アプリケーション環境設定 (ドキュメントの場所) に基づき、4Dはオンラインドキュメントセンター、あるいはローカルからそのコマンドのドキュメントを探します。
コメントを使用するとコード行を無効にできます。プログラムはコメント行をコードとして解釈せず (4Dはメソッドエディター上でコメントにスタイルを適用しません) メソッドを呼び出してもそのコードは実行されません。
コメントの作成方法は2つあります:
シンタックス | 詳細 | 例 |
// コメント | 単一行のコメントを作成するのに使用します。 行の先頭に// を挿入することで、単一行のコメントが作成されます。 単一行のコメントの最大長は、単一行の最大サイズ(32,000文字)までです。 | //これはコメントです |
/* コメント */ | コンテンツを囲うことで、インラインコメントや複数行コメントブロックを作成することができます。 インラインコメントも、複数行コメントも、どちらも/* で始まり、*/ で終わります。
| インラインコメント:
複数行コメント: |
メソッドメニューやメソッドエディターコンテキストメニューにあるコメント/アンコメントコマンドを使用すると、選択した (複数の) 行を単一行のコメント化したり、あるいは逆に単一行コメント文字を選択範囲から削除できます。
このコマンドを使用するには、コマンドを適用したい行を選択し、コメント/アンコメントを選択します:
-->
選択行がアクティブなコードの場合、コメントコマンドが適用されます。選択行にアクティブ行と非アクティブ行が含まれる場合、すべての行に"//"が追加されます。この動作により、複数回コマンドを適用しても、最初のコメントレベルが維持されます。選択行がすべて非アクティブコードの場合、アンコメントコマンドが適用されます。
注: コメント/アンコメント コマンドは行全体に適用されます。行の一部をコメント化するためには使用できません。
メソッドエディターでエスケープシーケンス (エスケープ文字) を使用できます。エスケープシーケンスは特別な文字の代わりに使用される一連の文字です。
エスケープシーケンスは一文字目がバックスラッシュであり、そのあとに文字が続きます。例えば "\t" はタブ文字のエスケープシーケンスです。エスケープシーケンスを使用すると特別な文字の入力が容易になります。例えば "\t" を Char(Tab) の代わりに使用できます。
4Dでは以下のエスケープシーケンスを使用できます:
エスケープシーケンス | 意味する文字 |
\n | LF (行送り) |
\t | HT (タブ) |
\r | CR (改行) |
\\ | \ (バックスラッシュ) |
\" | " (引用符) |
注: エスケープシーケンスでは大文字小文字が区別されません。
以下の例題で改行文字 (エスケープシーケンス "\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は自動でブックマークを追加します。詳細はメソッド中の検索と置換を参照してください。
v15以前の4Dでは、フランス語版のプログラムはプログラミング言語がフランス語でしたが、他のバージョン(英語版、ドイツ語版、他)では”ユニバーサルな”言語、つまり英語でした。
例えば、コマンド53番はフランス語版ではSTOCKER ENREGISTREMENT という名前でしたが、他の言語ではSAVE RECORD という名前でした。こういったローカル設定は、実数と日付の入力の際にも使用されていました。
これは4D v15以降変更されました。4Dのメソッドエディターは4Dのアプリケーション言語やローカルシステム設定に関係なく、デフォルトで国際的な"English-US"モードを使用し、コマンド53番はフランス語版の4DにおいてもSAVE RECORD という名前になりました。リスト、タイプアヘッドウィンドウ、オンラインヘルプ、等はコマンド名と定数名を英語で表示するようになりました。この設定についての詳細な情報に関しては、OLD RELATED MANY の章を参照して下さい
” リーションシステム設定を使用”の設定(メソッドページを参照して下さい)を使用することによってローカル設定に基づいた以前のモードを復元し維持することは可能です。もちろん、使用する 設定に関わらず、この章で説明されているコードを書く際の原理というのは同じです。
プロダクト: 4D
テーマ: メソッドの編集
変更: 4D v17 R2
IME
デザインリファレンス ( 4D v19)