Curl 統合開発環境 (IDE) のイントロダクション

概要

Curl IDE には、Curl® 言語を使用して Web アプリケーションを開発するために必要なツールが用意されています。 これには、Curl アプレットおよびパッケージの作成、デバッグ、パッケージ、ディプロイを行うためのツールが含まれています。また、IDE には Curl 言語のドキュメントも組み込まれており、アプリケーション開発に必要な情報をすばやく見つけることができます。
このドキュメントでは Curl IDE の使用方法を説明します。この章では IDE 使い方の基本的な情報を紹介するほか、使用開始のための簡単なチュートリアルを提供します。後続の各章では、IDE における Web アプリケーションの開発に関する詳細な情報を提供します。
Curl 言語の詳細は、以下を参照してください。

IDE の起動

Windows プラットフォームでは、[スタート] メニューから Curl IDE を開始できます。[スタート] アイコンをクリックし、[プログラム] をポイントして、次に [Curl IDE] をクリックします。IDE を開始すると、Curl® 実行環境 (RTE) が起動し、メイン ウィンドウが表示されます。
Windows® のエクスプローラで Curl 言語のプロジェクト ファイル (.cprj) をダブルクリックして、IDE を開始することもできます。IDE が起動し、プロジェクトがロードされます。
Linux プラットフォームでは、メイン アプリケーション メニューの中に Curl サブ メニューがあります。[アプリケーション] を選択し、[インターネット][Curl IDE] の順に選択します。このメニューには、通常デスクトップの左下隅にある [スタート] アイコンからアクセスできます。ブラウザ インターフェイスには [ここからスタート] アイコンからアクセスできます。このアイコンは通常デスクトップの左上隅にあります。
Linux プラットフォームでは、コマンド ライン スクリプト curl-ide-lab を使用して Curl RTE を起動し、Curl IDE を実行することができます。
Linux 版の Curl RTE についての詳細は、「Linux プラットフォーム」を参照してください。

Curl IDE のコンポーネント

Curl IDE は Web アプリケーション開発用ツールの完全セットで構成されています。これらのツールが連携して、あらゆる Web アプリケーションの開発タスクをサポートします。

IDE ライセンス

Curl IDE には、Curl IDE と Curl Pro/IDE の2種類があります。Curl IDE はライセンスを必要とせず、無償で SCSK株式会社 からダウンロードできます。Curl IDE は Curl アプレットの開発、デバッグ、およびディプロイができますが、Curl Pro が持つ、大規模な営利目的のアプリケーションの開発とディプロイに必要な機能はありません。これらの2つのバージョンの違いについての詳細な説明は、「Curl 及び Curl Pro 製品」を参照してください。
Curl Pro/IDE は、60日間無償で体験できます。[ヘルプ] メニューから [Curl Pro/IDE ライセンスの購入]を選択し、[Curl Pro/IDE 体験版の開始] ボタンをクリックしてください。確認のためのダイアログが表示されます。[スタート] ボタンをクリックして、60日間の無償体験を開始してください。
体験版の試用を開始すると、すぐにCurl Pro の機能が使えます。変更を反映させるために IDE を再起動する必要はありません。[Curl Pro/IDE ライセンスの購入]のダイアログが試用期間の残存日数を表示します。
試用期間が終了すると、Curl Pro/IDE ライセンスを購入しない限り、IDE は Curl IDE の機能に戻ります。同一のマシンで同一バージョンの IDE の無償体験を再度開始することはできません。
Curl Pro/IDE は、それぞれのマシン単位で生成されるスタンドアロン ライセンス、またはマシン数を指定するネットワーク ライセンスのいずれの形態でも購入できます。ライセンスの購入とネットワーク ライセンスの構成についての詳細は、[Curl Pro/IDE ライセンスの購入]からSCSK株式会社のWebサイトをご覧ください。
スタンドアロン ライセンスを購入する場合、SCSK株式会社にマシンを識別するコードを送り、ライセンス コードを取得しなければなりません。[Curl Pro/IDE ライセンスの購入]ダイアログはマシン コードとそれをクリップボードにコピーするボタンを表示します。
Curl Pro/IDE ライセンスを購入したら、IDE のヘルプ メニューから 「Curl Pro/IDE ライセンスの購入」ダイアログを表示させてください。[ライセンスのアクティベート] ボタンをクリックして「Curl Pro/IDE のライセンス」ダイアログを立ち上げ、そこでネットワーク上のライセンス サーバーを指定するか、またはSCSK株式会社から受け取ったスタンドアロン ライセンス コードを入力します。ライセンス サーバーはドロップダウン リストから選択することも、サーバー名を入力することも可能です。
Curl Pro/IDE ライセンスの購入」ダイアログの [ライセンスの解放] ボタンをクリックすると、ネットワーク ライセンスを解放して、他のマシンで使用することができます。選択を確認するダイアログが現れます。「ライセンスの解放」をクリックしてください。ライセンスはCurl RTE を終了すると同時に解放されます。ライセンスを解放するには、RTE を終了する際に、マシンがライセンス サーバーと通信できる状態でなければなりません。
ネットワーク ライセンスでは、ライセンスの取得時、または解放時にネットワーク ライセンス サーバーがネットワーク上で起動していなければなりません。IDE ネットワーク ライセンスの要求の仕組みは、RTE ライセンスに似ています。ライセンス サーバーのセットアップについての詳細は、「SafeNet ライセンス」をご覧ください。

Curl IDE メイン ウィンドウ

IDE のレイアウト

IDE メイン ウィンドウは、編集レイアウトデバッグ レイアウト の 2 つのメイン ウィンドウ ペインの配置を提供します。通常 IDE は編集ペインで開かれ、Curl アプレットがランタイム エラーを検出すると自動的にデバック レイアウトに切り替わります。IDE がランタイム エラーに反応して開くときは、デバック レイアウトを使います。例えば [アプレットの停止] ボタンをクリックしてアプレットのデバッグを中止すると、編集レイアウトに戻ります。[表示] メニューのメニュー項目か、対応するツールバーのアイコンを使って、編集レイアウトとデバッグ レイアウト間の切り替えを行うこともできます。
各レイアウトは、そこで行われるタスクに最も適していると考えられるペインの組み合わせで構成されています。編集レイアウトでは、[ローカル][式] および [コール スタック] ペインが表示されていません。デバッグ レイアウトではこれらの 3 つのペインが表示され、ペインの配置構成が変わり、大切なデバッグ情報がすぐに見えるように [ローカル][コール スタック] ペインが前面に表示されます。デバッグ レイアウトでは、[エラー][検索結果] および [出力] ペインも非表示になります。
両方のペイン構成を変更するとそのまま保持され、したがって編集レイアウトデバッグ レイアウトのいずれもカスタマイズが可能です。Curl IDE デバッガの詳細は、「アプレットのデバッグ」を参照してください。

メイン ウィンドウのペイン

IDE メイン ウィンドウでは、プロジェクト内のファイル管理、ソース コード ファイルの編集、および他の Curl IDE ツールやドキュメントへのアクセスを行うことができます。ウィンドウは多数のペインに分割されていて、各ペインにはタイトルバーが付いていて、そこにペインの名前と [閉じる] コントロール ボタンが含まれています。ペインを非表示にするにはこのコントロールをクリックします。以下のセクションでは、メイン ウィンドウのペインについて簡単に説明します。

プロジェクト ペイン

[プロジェクト] ペインには、全ての開いているプロジェクト、そして各プロジェクトのパッケージ、デリゲートされたマニフェスト、ファイルおよびその他のリソースが一覧表示されます。階層のルートにはプロジェクトのマニフェスト名が示され、プロジェクトに属するファイルはすべてその下にあります。
IDE でファイルを編集および実行するために、プロジェクトを作成する必要はありません。[ファイル] メニューの [開く] コマンドから、ソース ファイルやリソース ファイルを直接開くことができます。開いたファイルがプロジェクトの一部でない場合、[プロジェクト] ペインの [その他のファイル] に表示されます。
複数のプロジェクトを開くと、各プロジェクトのルートノードの隣にラジオボタンが表示されます。 このボタンを選択して現在作業するプロジェクトを選択することができます。 プロジェクトの設定に作用する操作、 例えば、プロジェクトのプロパティの変更、 ディプロイメント設定の変更は現在作業しているプロジェクトに適用されます。 プロジェクトペイン内で右クリックしてアクセスするコンテキストメニューで指定できる操作は、 選択したファイルに適用されます。
注意: 複数のプロジェクトが単一のファイルを共有している場合は、 IDE では同時にその複数のプロジェクトを開かないことをお勧めします。 [選択項目をプロジェクトから削除] のような操作において、 IDE がその操作をどのプロジェクトに適用するべきか混乱する可能性があります。
プロジェクトと [プロジェクト] ペインの詳細は、「プロジェクトの管理」を参照してください。 プロジェクトディプロイメントの詳細に関しては、「プロジェクトのディプロイメント」 を参照してください。

定義ペイン

[定義] ペインには、開いている全てのプロジェクトで定義されているシンボルがアルファベット順にソートされて一覧表示されます。このリストは、ソース コードのナビゲーション手段として使うこともできます。これはプロジェクトを開くときにソース コードからロードされ、プロジェクトのファイルを変更するたびに更新されます。「定義ペインを使ったナビゲート」を参照してください。

エディタ ペイン

[エディタ] ペインはソース エディタを含み、ここで Curl 言語のソース コードを編集します。ソース エディタでは、HTML ページなどのテキスト形式ファイルも編集できます。また、特定の種類の非テキスト形式ファイルを表示することもできます。ただし、これらのファイルは編集できません。例えば、サポートされているイメージ ファイル (JPEG または GIF ファイル) を開くと、[エディタ] ペインにその画像が表示されます。[エディタ] ペインで行われるコード編集の詳細は、「Curl 言語ソースの編集」を参照してください。

エラー ペイン

[エラー] ペインには、アプレットのコンパイル時に検出された構文エラーが表示されます。「構文エラー」を参照してください。

検索結果ペイン

[検索結果]ペインには、[すべて検索] の結果が複数行の出力として表示されます。「検索メニュー」および「検索と置換」を参照してください。

ブレイクポイント ペイン

デバッグ時に使用します。「ブレイクポイント ペイン」を参照してください。

例外ペイン

デバッグ時に使用します。「例外ペイン」を参照してください。

出力ペイン

[出力] ペインには、output プロシージャを使ってアプレットが標準出力に送信したメッセージが表示されます。これにより、アプレットを開発しながらアプレット内のステータス メッセージを簡単に確認できます。

コールスタック ペイン

デバッグ時に使用します。「コール スタック ペイン」を参照してください。

ローカル ペイン

デバッグ時に [コール スタック] ペインと併用します。「コール スタック ペイン」を参照してください。

式ペイン

デバッグ時に [コール スタック] ペインと併用します。「コール スタック ペイン」を参照してください。

ステータス バー

IDE ウィンドウの一番下に、エディタのステータス バーがあります。[エディタ] ペインにフォーカスがあるときには、ここにソース エディタに関する情報が表示されます。
Figure: IDE Window ステータス バー
ステータス バーには、左から右に以下の情報が表示されます。

IDE メイン ウィンドウの構成

編集レイアウト

IDE を初めてインストールして最初に起動すると、メイン ウィンドウが次のような構成で表示されます。
Figure: IDE の初期構成
この初期構成の特長は次のとおりです。

デバッグ レイアウト

Figure: デバッグレイアウトの構成

ウィンドウ構成の変更

自分の好みや作業スタイルに合わせて、メイン ウィンドウのレイアウトを変更することができます。ペインをそれぞれ 4 つの状態のいずれかに設定できます。
さまざまな UI 操作によりペインの状態を変更することができます。

ドッキング状態のペインをフローティング状態にする

ペインのタイトル バーをダブルクリックして、ペインのドッキング状態とフローティング (固定されていない) 状態を切り替えることができます。フローティング ペインのタイトル バーをダブルクリックすると、ペインは最後のドッキング状態に戻ります。ペインが以前タブ グループの一部であった場合はそのタブ グループに戻ります。
タイトル バーをクリックアンドドラッグして、ペインのドッキング状態を解除することもできます。次の図は、[エディタ] ペインがドラッグされ、フローティング状態に変化する様子を示しています。濃いグレーの輪郭線がいずれの既存のペインのボーダーからも離れている点に注意してください。
Figure: フローティング状態のエディタペイン
次の図は、[エディタ] ペインが IDE メイン ウィンドウの上に「浮かんでいる」状態を示しています。
Figure: フローティング状態のエディタペイン
ペインをドラッグし、カーソルを置く位置に応じてウィンドウ内でさまざまな配置を構成することができます。

縦分割

縦分割は IDE ウィンドウを縦に割り、結果のペインをドロップ先のペインの右または左に並べて配置します。次の図は、[プロジェクト] ペインが縦分割により [エディタ] ペインの右側にドラッグされる様子を示しています。カーソルはウィンドウの右側、[エディタ] ペインの内部に置かれています。また、ペインのドロップ先を示す輪郭線が、[エディタ] ペインの右半分のみを囲っています。
Figure: エディタペインを左に移動
次の図はこの操作の結果を示しています。
Figure: 操作結果
IDE ウィンドウの少し外側にカーソルを移動すると、ウィンドウの高さ全体に対して縦方向に分割することができます。次の図はこのタイプの分割を示しています。
Figure: エディタペインの移動
次の図はこの操作の結果を示しています。
Figure: ウィンドウの高さ全体に対して縦方向に分割

横分割

横分割は IDE ウィンドウを横に割り、結果のペインをドロップ先のペインの上または下に並べて配置します。次の図は、[エディタ] ペインが横分割により [プロジェクト] ペインの下にドラッグされる様子を示しています。カーソルは [出力] ペインの内側に置かれていて、ペインのドロップ先を示す輪郭線が、[出力] ペインの上半分のみを囲んでいます。
Figure: エディタペインを下に移動
次の図はこの操作の結果を示しています。
Figure: 操作結果

小分割

既存のペイン領域の内部で横または縦分割を作成することもできます。例えば、次の図は [出力] ペインが [エディタ] ペインと横分割を形成する様子を示しています。
Figure: 水平方向の小分割
次の図はこの操作の結果を示しています。
Figure: 操作の結果

タブ グループにペインを追加

タブ グループを作成するには、ペインをドラッグして別のペインのタイトル バーの上にカーソルを置きます。ペインをドロップすると、カーソルが置かれているペインとともにタブ グループが形成されます。次の図は、[エディタ] ペインが [プロジェクト] および [定義] ペインのタブ グループにドロップされる様子を示しています。輪郭線が [プロジェクト] ペイン全体を囲んでいることに注意してください。
Figure: タブ グループにエディタペインを追加

タブ グループからペインを削除

タブ グループからペインを削除するにはタブをドラッグします。タブ グループはフローティング状態にできないので、タブ グループのタイトル バーからフローティング ペインにドラッグすると、アクティブなタブのペインだけが移動します。別のドッキング位置にドラッグすると、タブ グループ全体が移動します。次の図は、[出力] ペインがドラッグされてフローティング ペインになる様子を示しています。
Figure: フローティング状態の出力ペイン

ウィンドウ構成を元に戻す

IDE ではセッションで最後に使われたレイアウト構成が保存され、次の IDE セッションや、Curl ソフトウェアを再インストールした場合にもそのまま使われます。[表示] メニューの [レイアウトを元に戻す] コマンドを使って、以前のウィンドウ構成に戻すことができます。このコマンドには 2 つの選択肢があります。

ドッキング動作の制御

各ペインのタイトル バーから、そのペインのドッキング動作を制御するコンテキスト メニューにアクセスすることができます。

IDE のユーザー設定

[編集] メニューで [ユーザー設定] を選択すると、IDE のさまざまな属性を設定するためのダイアログ ボックスが表示されます。

全般設定

エディタのユーザー設定

エディタのユーザー設定 タブから、IDE エディタのテキストの表示を変更することができます。

URL マッピング

[ユーザー設定] から開かれるダイアログでは、URL マッピングの設定を行うこともできます。テストやデバッグを行うにはローカル ファイルへのアクセスでも十分ですが、実際には HTTP 接続上でのアプレット開発やデバッグがしばしば要求されます。URL を IDE で開いているファイルにマップすると、アプレットを HTTP 接続上でテストできます。URL マッピング機能は、次のようなアプレットをテストする際に便利です。
URL マッピング機能を使用するには、ローカル マシン上の パーソナル Web サーバーやローカル ネットワーク上のイントラネット サイトなど、HTTP URL をミラーするファイル システムへのアクセスが必要です。
[ユーザー設定] ダイアログの [URL マッピングを有効にする] チェックボックスを選択して URL をソースディレクトリにマップします。チェックボックスを選択すると、2 つのテキスト フィールドが使用できるようになります。
URL をローカルソースディレクトリにマップすると、プロジェクトが統合開発環境にロードされている間はこの URL とローカルソースディレクトリの関連付けが行われます。URL マッピングにより影響を受ける操作は次のとおりです。
注意: 既定の設定では、アプレットは最初に HTTP 経由でダウンロードした後、キャッシュからパッケージをロードすることになっています。 URL をマップする場合はアプレットがロードされるたびに再ロードするように設定を変更することを奨励します。 このオプションを変更するには、コントロール パネルの [全般] をクリックして、[全てのアプレットの再同期を強制する] を選択します。メインのアプレット ファイル(多くの場合は start.curl)はブラウザによって RTE の再同期設定とは独立してキャッシュされるので、RTE がメイン ファイルに加えられた変更を認識するには、メイン ファイルへの変更を行った後でブラウザの更新ボタンを使用するか、Web サーバーにすぐにメイン ファイルを期限切れにさせる必要があります。

IDE クラス ブラウザ

[クラス ブラウザ] は、ソース コードで定義されているクラス間の関係を表示するウィンドウです。この機能は、Curl Pro/IDE でのみ利用できます。「Curl 及び Curl Pro 製品」をご覧ください。
[クラス ブラウザ]は、コードの概要を即座に提供し、ここから任意のクラスまたはクラス メンバのソースに移動することができます。[ツール] メニューの [クラス ブラウザ] をクリックすると、ウィンドウが前面に表示されます。IDE の終了時に [クラス ウィンドウ] は自動的に閉じます。オプションの設定は保存され、次のセッションにも適用されます。
[クラス ブラウザ] ウィンドウには、現行プロジェクトで定義されているクラスを個々のノードに持つグラフが表示されます。ウィンドウの左側には 基本またはスーパークラスが、右側には派生またはサブクラスが表示されます。ブラウザでは、ツリー内の各ノードを枠で囲まれた四角形で表し、クラス名をその中に表示します。プロジェクトのソース コードが編集されるにつれて、クラス ブラウザの表示も継続的に更新されます。
さらに、ソースが存在しなくても、基本クラスとして使われているクラスはツリーに表示されます。例えば、VBox のソースはプロジェクト内にありませんが、VBox はツリーの基本クラスとして表示されます。ソースが存在しないクラスの名前は斜体で表示されます。[基本クラスをすべて表示] チェック ボックスをクリックします。既定ではこのオプションはオンになっています。
ノードを選択するにはこれをクリックします。選択項目を右に移動するには [Tab] または右矢印 [→] キーを使い、左に移動するには [Shift]+[Tab] または左矢印 [←] キーを使います。選択したクラスのソース ファイルを IDE エディタで開くには、[Enter] を押すか、ダブルクリックします。作業中のプロジェクトのソース ファイルでクラスが定義されていない場合、IDE は API ドキュメントでクラス名を検索します。これは、[F1] が使われた場合と同じです。
ツリーでノードを右クリックすると、クラスのメンバ リストが表示されます。メンバは 2 つのグループに分かれていて、フィールド関連のメンバが先に、プロシージャ関連のメンバがその後に表示されます。各グループの項目はアルファベット順にソートされています。メンバのタイプは [定義] ペインで使われているのと同じアイコンで表示されています。このリストからメンバを選択すると、エディタでこのメンバのソースが開きます。メンバ リストにはクラスで定義されたメンバのみが表示され、継承したメンバは表示されません。作業中のプロジェクトで定義されていないクラスの場合、このリストは利用できません。
[シンボルをマーク] というラベルのついたテキスト フィールドに記号名を入力すると、クラス ブラウザはその名前の記号を含むクラス名を太く縁取ります。プリンタのアイコンをクリックすると、クラス ブラウザ ウィンドウのコンテンツを印刷できます。
[Ctrl] キーを押さえると、カーソルが「手のひら」の形に変わります。[クラス ブラウザ] ウィンドウ内の任意の場所をクリックしてドラッグすると、ドラッグの方向にウィンドウの内容がスクロールされます。[Ctrl] キーを離すと、マウス ボタンを離すまでスクロールし続けます。
既定では、グラフには「一番左側の」派生ツリーが表示されます。「一番左側の」派生ツリーとは、各 {inherits ...} 句の一番左側にあるクラスのみで作成されたクラスです。
[多重継承を表示] チェック ボックスをクリックすると、[クラス ブラウザ] にはすべての継承関係を示す線が表示されます。グラフの構造およびレイアウトは変わりません。既定ではこのオプションはオフになっています。

IDE のメニュー

ファイル メニュー

非テキスト形式のファイルを IDE で開くと、ソース エディタにはロードされません。標準グラフィック ファイルなど、IDE で表示できるファイルの場合は [エディタ] ペインに表示されます。IDE でファイルを開けない場合、または表示できない場合は [エディタ] ペインにメッセージが表示されます。
ファイルの変更内容が保存されていない状態で Curl IDE を終了しようとすると、エディタを閉じる前に変更を保存するかどうか確認を求められます。
注意: Web サイトに置かれているファイルも開くことができますが、Web サーバーは HTTP プロトコル経由のファイルの書き込みをサポートしていないので、ファイルを保存する場合は、保存先としてローカル ディレクトリとファイル名の入力を求められます。

編集メニュー

IDE エディタの詳細は、「Curl 言語ソースの編集」を参照してください。

検索メニュー

プロジェクト メニュー

IDE プロジェクトの詳細は、「プロジェクトの管理」を参照してください。

実行メニュー

デバッグ メニュー

Curl ソース コードのデバッグの詳細は、「アプレットのデバッグ」を参照してください。

ツール メニュー

注意: Curl IDE を 実行中の場合は、このメニューで有効なアイテムは ビジュアル レイアウト エディタ のみになります。他のアイテムは Curl Pro/IDE のみでサポートされている機能へのアクセスを提供します。「Curl 及び Curl Pro 製品」を参照してください。

表示メニュー

注意: ソースコード管理は Curl Pro/IDE でのみサポートされているため、Curl IDE を使用している場合、[SCC 出力の表示] の項目は無効になります。「Curl 及び Curl Pro 製品」を参照してください。

SCC メニュー

IDE の SCC メニューは、サポートされているソースコード管理システムへのインターフェイスを提供します。このメニューにある大半のコマンドは、使用しているシステムのユーザーインターフェイスからダイアログを呼び出します。Curl IDE のソースコード管理に関する詳細は、「ソースコード管理」 を参照してください。ソース コード管理は Curl Pro/IDE でのみサポートされているので、このメニューの項目は Curl IDE を使用している場合は無効となります。「Curl 及び Curl Pro 製品」を参照してください。
単一のファイルではなく、プロジェクトを選択した場合は、[チェックイン][チェックアウト][チェックアウトの取り消し] は、 プロジェクト内の全てのファイルに適用されます。 ダイアログボックスに表示されるファイルリストから選択することもできます。
[チェックイン][チェックアウト][チェックアウトの取り消し][差分の表示][履歴の表示] は、選択されたファイル (プロジェクトファイルにフォーカスがある場合)または、アクティブなエディタファイル (エディタペインにフォーカスがある場合)に適用されます。 どちらのペインにもフォーカスがない場合は、これらのメニュー項目は無効になります。

ヘルプ メニュー

このメニューは、ドキュメンテーション ビューアの[bold ヘルプ]メニューと同じ選択肢を提供します。 Curl開発者ガイドのヘルプ メニュー の章をご覧ください。

IDE ツール バー

ソース エディタのツール バーを使って、メニュー コマンドのサブセットにすばやくアクセスできます。次の表は、ツール バーのボタンと関連コマンドの要約を示しています。
アイコンメニュー選択するコマンド注意
ファイル保存 
ファイルすべて保存 
編集切り取り 
編集コピー 
編集貼り付け 
実行プロジェクトを実行shift+ このボタンを押すと、新しいブラウザ ウィンドウで実行されます。
実行"filename" を実行shift+ このボタンを押すと、新しいブラウザ ウィンドウで実行されます。
デバッグ実行 
デバッグ停止 
デバッグステップ イン 
デバッグステップ オーバー 
デバッグステップ アウト 
デバッグアプレットの終了 
編集前に移動 
編集次に移動 
表示編集レイアウト 
表示デバッグ レイアウト 

検索と置換

[検索] メニューの [検索][定義の検索] および [置換] コマンドはすべて、[検索] ダイアログを開きます。このダイアログにある以下のフィールドを使って、多数の検索パラメータを指定することができます。一部のフィールドでは、使用した値が保存されます。「履歴ボックス」を参照してください。また、IDE では「増分検索」もサポートしています。

検索の定義

[検索] ダイアログには、検索条件、書式および検索範囲を指定するために、次のようなコントロールが用意されています。

検索範囲の設定

[検索する場所] フィールドの選択内容によって、検索対象のファイルまたは一連のファイルが決まります。

履歴ボックス

検索および置換パターンを指定するコンボボックス、ディレクトリ検索用のディレクトリ名/ファイルの種類を指定するコンボ ボックスでは、以前の指定値を記憶しています。検索操作を実行すると、コントロールによりリストに値が追加され、最後に使った項目から先に一覧表示されます。
検索パターンのリストから項目を選択すると、ダイアログではその検索が行われたときに有効であった [フラグメント][単語][識別子][正規表現] および [大文字と小文字を区別] の設定に戻ります。

状態の持続性

ダイアログの状態のほとんどは、1 セッションの間保持されます。以下のダイアログ要素は複数セッションの間で保持されます。

検索の実行

[検索] ダイアログにあるボタン コントロールを使って、検索アクションを実行します。ダイアログ内の一部のボタンは [検索] メニューのコマンドと同じ機能を提供しています。「検索メニュー」を参照してください。
最後まで達した後で「折り返して」検索することができます。つまり、[次を検索] を実行して「一致項目がありません」のポップアップ メッセージが表示された後、[次を検索] コマンドを実行すると検索範囲の先頭から検索を繰り返すことができます。検索範囲が現在のバッファである場合、[前を検索] コマンドにもこの折り返し動作が適用されます。

検索キーの組み合わせ

[検索] ダイアログがアクティブな状態で

アプレットの自作手順

このセクションでは、シンプルなアプレットの作成方法をとおして、ツールや Curl 言語について簡単に説明します。プロジェクトの作成からアプレット配布の準備まで、Curl アプレットの作成手順がすべて含まれています。最初のアプレットはおなじみの Hello World! プログラムです。セクションの後半では、Curl 言語のテキスト書式設定機能とオブジェクト指向機能を使って、このアプレットを拡張する方法を説明します。

ステップ 1: プロジェクトの作成

初めてのアプレットは 1 つのソース ファイルだけで構成されるシンプルなものですが、アプレットのプロジェクトを作成しておくと、後でアプレットを Web サイトにアップロードするときに便利です。
アプレットのプロジェクトを作成するには :
  1. [ファイル] メニューの [新規プロジェクト] をクリックします。[新規プロジェクト] タブが選択された状態で [新規] ダイアログが開きます。
  2. [新規] ウィンドウで [アプレット プロジェクト] を選択し、他のタイプのプロジェクトではなく Curl アプレットの作成を指定します。この選択は、プロジェクトで自動的に生成されるファイルやプロジェクト設定に影響を与えます。
  3. [マニフェスト名] ボックスに、プロジェクトのマニフェスト名を入力します。
  4. [ディレクトリ] フィールドに、プロジェクトの保存先ディレクトリの名前を入力します。ディレクトリが存在しない場合、これを作成するかどうかを確認するメッセージが表示されます。[参照] をクリックして適切なディレクトリの場所を見つけることもできます。
  5. [API バージョン] フィールドの既定値を変更する必要はありません。 [API バージョン] フィールドには、アプレットが使用する Curl API のバージョンが表示されます。
[OK] をクリックすると、プロジェクト ファイルとこれをサポートする Curl 言語のソース ファイルが作成されます。

ステップ 2: ソースの編集

新規アプレット プロジェクトの作成時には、プロジェクト ファイル (project.cprj)、プロジェクト マニフェスト ファイル (manifest.mcurl) および Curl 言語のソース ファイル (start.curl) が作成されます。[プロジェクト] ペインでは、ソース ファイルはマニフェスト名の下に表示されます。
このファイル名 (start.curl) は太字で表示され、start.curl がプロジェクトの起動ファイルであることを示しています。このファイルは、[プロジェクトを実行] コマンドでプロジェクトを実行したときに実行環境が最初にロードするファイルです。ただし、これがプロジェクトで唯一実行可能なファイルとは限りません。
[プロジェクト] ペインの編集可能なファイルをダブルクリックすると、ファイルがソース エディタに読み込まれます。編集できないファイル (グラフィック ファイルなど) をダブルクリックすると、統合開発環境がファイル フォーマットを認識できる場合はエディタ ペインに表示されます。[プロジェクト] ペインでマニフェスト名をダブルクリックして、プロジェクト マニフェスト ファイルを開くことができます。ファイル上部の manifest 宣言には、指定したマニフェスト名が含まれています。
エディタで start.curl を開くと、自動的に生成されたコードがファイルに挿入されているのがわかります。
{curl 8.0 applet}
{applet manifest = "manifest.curl"}
上記の例では、ヘラルド が実行環境に次の情報を伝えることを意味します。
utf8 以外の、バイト オーダー マーカーで示すことのできないエンコーディングを使用する場合、作成されるファイルにはさらにコード行が追加されます。この行はファイルのエンコーディングを指定し、次のように示されます。
{curl-file-attributes character-encoding = encoding}
ここで encoding は、ファイルに使用されるエンコーディングを示す文字列です。詳細は「エンコーディング」を参照してください。使用されるエンコーディングは、ファイル作成時の既定のエンコーディングになります。既定のエンコーディング設定の詳細は、「IDE ユーザー設定」を参照してください。
[エディタ] ペインのソース エディタは、おそらく今まで使われたことのある他のテキスト エディタと似ています。ファイル内を移動するには、矢印キー、[home][end][page up][page down] およびマウスを使います。エディタ内でさらに役立つ編集キーをいくつか紹介します。
キー シーケンスアクション
tab現在のコード行をフォーマットし直します。
Ctrl+x選択したテキストを切り取ります。
Ctrl+cクリップボードにコピーします。
Ctrl+vクリップボードの内容を貼り付けます。
Backspaceカーソルの左にある文字を削除します。
Deleteカーソルの右にある文字を削除します。
ctrl+k行末まで削除します。
Ctrl+z最後の操作を取り消します。
Ctrl+y最後に取り消された操作をやり直します。
F8選択した範囲をコメントアウトします。
shift+F8コメントアウトされている選択範囲を解除します。
ctrl+tab8 個の空白文字を挿入します。
ソース エディタには、特に Curl ソースの編集に適した機能が搭載されています。ソース エディタの詳細は、「Curl 言語ソースの編集」を参照してください。

ステップ 3: コメントの追加

コメントはコードに追加するメッセージで、アプレット出力には表示されません。コードにコメントを付けるのは常によい習慣です。ごく短い、シンプルなアプレットであっても、アプレット機能の意図や作成者を明確にしておくことは、プログラム作成上のよい作法といえます。
Curl 言語では、コメントは 2 つの垂直バー文字 (||) の後に挿入します。プログラム行中で、これらの文字列に続く部分はすべてコメントと見なされ、実行環境がアプレットを解釈する際にはこれを無視します。
アプレットにコメントを追加するには、空白行へ挿入ポイントを移動させ、次のように入力します。
  || 最初のアプレット
|| (自分の名前をここに入力)
|| 日付: 今日の日付
各行の終わりで [Enter] を押します。
2 番目の垂直バーを入力すると、行中のテキストが緑色に変わります。ソース エディタはコメントが入力されていていることを認識し、その部分が区別できるようにコードをカラー化します。エディタは Curl 言語ソース コードの他の要素もカラー コード化します。

ステップ 4: コンテンツの追加

手はじめに、非常に簡単なコンテンツをアプレットに追加してみましょう。[Enter] を数回押してコメントの下の空白行にカーソルを移動し、次のように入力してみます。
Hello World!
これだけです。ファイル中のコメント以外のテキストや、Curl ブラケットで囲まれているテキストは、表示されるテキストとして実行環境で処理されます。通常、テキスト書式設定プロシージャを使ってテキストの外観を制御しますが、手はじめとしては、これで十分です。

ステップ 5: アプレットの保存と実行

アプレットを実行できるようにするには、編集した start.curl ファイルを保存する必要があります。ファイルを保存するには、[ファイル] メニューの [保存] コマンドを使うか、ctrl+s を押します。プロジェクトを実行する前にファイルが保存されていない場合、保存するように促されます。
ファイルを保存したら、プロジェクトを実行してアプレットの動作を確認することができます。ツール バーの [プロジェクトを実行] をクリックします。start.curl ファイルはプロジェクトの起動ファイルなので (この場合はプロジェクトの唯一のファイルでもあるので)、プロジェクトを実行すると実行環境は記述されたコードを実行していきます。
[プロジェクトを実行] をクリックすると、ブラウザ ウィンドウが開いて新しいアプレットが表示されます。
おめでとうございます! 最初の Curl アプレットの完成です。

アプレットの拡張

基本アプレットを作成したところで、これを拡張し、IDE についての知識を深めていきましょう。

ステップ 1: ステートメントの入力

今度は、基本的なテキスト書式設定プロシージャの 1 つを使用して、アプレットにさらにテキストを追加してみましょう。プロシージャは HTML のマークアップ コマンドに似ています。
既に説明したように、Curl 言語のステートメントは、他のテキストと区別するために Curl ブラケット ({ と }) で囲みます。テキスト書式設定コマンドも Curl ブラケットで始まります。
[enter] を数回押し、アプレットの最終行の下の空白行にカーソルを移動します。ソース コードでは、空白行を使って構成要素を区切ることができます。実行環境はこれを無視します。次のように入力してテキスト書式設定コマンドを開始します。
{paragraph
行末で [Enter] を押します。
paragraph の入力が済むと文字が紫色に変わります。これは、ソース エディタのもう 1 つのハイライト機能です。ソース エディタが認識するすべての標準プロシージャには紫色が使われます。
行末で [Enter] を押すと、カーソルが次行に移動して右方向に動き、この行が {paragraph ステートメントの下でインデントされます。これはソース エディタの自動インデント機能によるものです。この機能はソース コードの編集を助け、コードを読みやすくします。この例では、インデントによって次に入力する行が paragraph テキスト プロシージャの内部にあることが簡単にわかります。
ソース コードを編集しているときにインデント機能が正しく適用されない場合があります。エディタでコード行のインデントし直しを自動的に行うには、[tab] を押します。
ここで、次のように入力してパラグラフのコンテンツを追加してみます。
Time is running out!
[Enter] を押し、右側のブラケット (}) を入力してテキスト書式を閉じます。式全体が 1 行で終わる場合を除き、閉じブラケットだけを最後の行に収める方がアプレットのソース コードが読みやすくなります。ただし、必ずこのようにする必要はありません。閉じブラケットの位置が、ステートメント開始行の {paragraph と縦に揃っているはずです。これでステートメントが終了したことがわかります。
閉じブラケットを入力すると、それと対になる開きブラケットが瞬間的に赤字で表示されます。この点滅により、完了させようとする式の確認ができます。誤ったブラケットが点滅している場合 (または何も点滅しない場合) は、ソース コード中に余分な閉じブラケットがあるか、あるいは、ブラケットが欠落している可能性があります。またはステータス バーを見て、閉じブラケットが対になっているかどうかを確認できます。「ステータス バー」を参照してください。
ステートメントが完成したので、アプレットを再度保存して [プロジェクトを実行] をクリックし、変更の結果を見てみましょう。
他のテキスト書式設定プロシージャを使って、テキストに別の書式を設定することもできます。例えば、italic テキスト プロシージャはテキストを斜体に、bold テキスト プロシージャは太字にします。テキスト プロシージャは互いに組み合わせることもできます。2 つの書式が競合しない場合、テキストでは両方のスタイルが使われます。
テキスト書式設定を使って別のテキスト段落を追加してみましょう。[Enter] を数回押し、カーソルを下に移動して前の paragraph 式の下に空白行を挿入します。それから、次のように入力します。
{italic There's not a moment to {bold lose!}}
式全体が 1 行に収まるので、プロシージャ名と閉じブラケットを別々の行に置く必要はありません。
アプレットを再度保存し、これを実行して書式設定がテキストにどのような効果を与えたかを確認します。
Curl 言語を使ったテキスト書式設定の詳細は、「書式設定」を参照してください。

ステップ 2: オブジェクトの作成

Curl 言語は豊富な機能を備えたプログラミング言語です。ここでは Curl 言語の標準クラスのいくつか使って、今年あと何日残っているかを表示してみましょう。プログラマーでない方は、このセクションを読み飛ばして「アプレットのディプロイメントに進んでもかまいません。
Curl 言語はオブジェクト指向言語です。つまり、大半のアプレット データとその操作手順は結合され、オブジェクトと呼ばれるまとまりを形成しています。アプレット コードの多くは、オブジェクトの作成や操作に関わるものです。
オブジェクトはクラスを使って作成します。クラスは基本的にオブジェクトのテンプレートで、オブジェクトが格納可能なデータ型やオブジェクト操作に使用するプログラミング コードを定義します。Curl 言語にはあらかじめ数多くのクラスが定義されています。
Curl 言語でオブジェクトを作成するには、クラスの名前を Curl ブラケットで囲みます。普通はオブジェクト参照変数も同時に作成します。この変数はオブジェクトのハンドルとして機能し、これを使ってオブジェクトを後で操作します。
アプレットのソース コード下の空白行に次のように入力します。
{let today:DateTime = {DateTime}}
入力されたコードは Curl 言語の式なので、Curl ブラケットで囲まれています。行の中身は左から右に次のようになっています。

ステップ 3: クラスとプロシージャの情報を得る

DateTime オブジェクトを作成したら、次はこれで何ができるかを学ぶ必要があります。IDE には Curl 言語の標準クラス、プロシージャ、ステートメントを解説するドキュメントが組み込まれています。クラスに関する詳細かつ優れた情報源は『API リファレンス マニュアル』です。
DateTime に関する API リファレンス情報を見つけるには、IDE エディタでテキスト "DateTime" を選択して [f1] を押します。または、ナビゲーション ペインで [インデックス] タブをクリックして、テキスト入力フィールドに DateTime と入力します。最初に一致する索引項目までディスプレイが移動します。『API リファレンス』の各項目には、末尾のかっこ内に言語コンポーネントが表示されています。これにより『開発者ガイド』の項目と区別できます。また、検索機能を使って『API リファレンス』の情報を検索することができます。『API リファレンス』の項目とその使い方の説明は、「API リファレンス マニュアル」を参照してください。
さらに、ソース エディタではソース コードのオートコンプリート機能も提供しており、Curl 言語 API に簡単にアクセスできます。「ソース コードのオートコンプリート」を参照してください。
DateTime の項目を見ると、このクラスが日付と時間の表現に使われることがわかります。DateTime クラスのオブジェクトを使用して、日付と時間を格納したり操作することができます。
既定のコンストラクタ」 セクション下の青い三角形をクリックすると、DateTime オブジェクトを作成するために先ほど呼び出したコンストラクタ プロシージャの説明を参照できます。大半のクラスと同じように、DateTime でもコンストラクタにパラメータを渡して、作成するオブジェクトのプロパティを設定できます。
パラメータを DateTime コンストラクタに渡さない場合、現在の日付と時間を表すオブジェクトが作成されます。monthday および year という名前のパラメータをコンストラクタに渡して、特定の日付を表すオブジェクトを作成することができます。
注意: 上記の段落で、DateTime クラスへの参照が青いモノスペース フォントで表示されていることに気が付かれたかもしれません。すべての Curl 言語ドキュメントでは、このような青字モノスペースによる参照は『API リファレンス マニュアル』へのリンクになっています。したがって、ドキュメントでこれらの参照をクリックするだけで、『API リファレンス マニュアル』中の参照先のクラス、プロシージャ、その他の言語要素の項目に移動することができます。

ステップ 4: プロシージャにパラメータを渡す

ユーザーに現在から年の終わりまでの日数を表示するには、年の終わりを表す DateTime オブジェクトを作成する必要があります。これは、アプレットのソース コードに次のように入力して作成します。
{let year-end:DateTime = {DateTime month=12, day=31}}
これは前のコード行に似ていますが、DateTime のコンストラクタに 2 つのパラメータが渡されている点が異なります。これらのオプションのパラメータは、"名前=" の形をとりカンマで区切ります。これらのパラメータは、12 月 31 日を表す DateTime オブジェクトを作成するようコンストラクタに指示します。コンストラクタに year が渡されていないので現在の年度が使用され、DateTime オブジェクトは 12 月 31 日 (12 番目の月の 31 日目) を表します。
日付を表すオブジェクトを 2 つ作成したら、次にこの 2 つの間の期間を調べる必要があります。DateTime オブジェクトの場合は単に 1 つを他方から減算します。この減算の結果は数量 (この場合は Time の数量) と呼ばれる値になります。Curl 言語は他の多くの言語とは異なり、測定単位と値を関連付けることができます。つまりこの場合には、2 つの日付の減算結果が秒単位の値であるということをアプレットが理解しているわけです。この値を格納するには、適切な型の変数が必要です。
{let seconds-left:Time = year-end - today}
この let ステートメントでは、Time の値を格納する変数を宣言し、今日の日付から 12 月 31 日を減算した結果を代入しています。
年の終わりまでの残り時間が計算されたので、次はこれを表示します。今度はもっとテキスト書式設定プロシージャを使ってみましょう。
始めに、日数の前置き部分として標準パラグラフを作成します。数字が目立つようにするには、text と呼ばれる汎用テキスト書式設定プロシージャを使用し、color オプションでそのテキストが赤になるように設定します。
{paragraph There are just
    {text color="red",
テキスト プロシージャに変数の値を置くには、変数値を返す value プロシージャを使用します。この値は表示されることになるので、自動的にテキスト フォーマットに変換されます。
ただし、ちょっとした問題があります。seconds-left 値の単位は秒単位です。ということは、このままでは年の終わりまで何秒間残っているかが示されますが、ほとんどのユーザーにとってこれはあまり意味のある数字ではありません。Curl 言語では日に関する数量が事前定義されていて、これが秒に関する数量とどのような関係があるかを理解しているので、この数字を簡単に日数に変換することができます。seconds-left を数量 1day で割るだけで、結果が日数で得られます。
したがって、アプレットに次の行を追加します。
         {value seconds-left / 1day}
最後に、text 式と paragraph 式を閉じます。
      }
    days left this year!
}
セクション全体は次のようになります。
{let today:DateTime = {DateTime}}
{let year-end:DateTime = {DateTime month=12, day=31}}
{let seconds-left:Time = year-end - today}
{paragraph There are just
    {text color="red",
        {value seconds-left / 1day}
    }
    days left this year!
}
ここでファイルを保存して、アプレットを実行します。

エラーの処理

チュートリアルのアプレット コードはシンプルなので、エラーが発生することはまずないでしょう。もちろん、今後どこかで間違えたときには IDE がエラーの発生を知らせてくれます。
エラーには次の 2 種類があります。
と呼ばれるランタイム エラーが生成されます。
これらの 2 種類のエラーは異なる方法で修正する必要があるため、IDE では別々に扱われます。

構文エラーの修正

実行環境がアプレット実行を開始するときは、ソース コードの解析から始めます。ソース コードでエラーが検出されると、アプレットの実行を中止して、ブラウザ ウィンドウと IDE の [エラー] ペインにエラー メッセージを表示します。
エラーがどのように通知されるかを確認するため、次のような存在しないクラス名をアプレット ソースの空白行に入力してみてください。
{Prometheus}
ファイルを保存して実行します。ブラウザ ウィンドウが前面に表示され、アプレットの実行が開始されます。存在しないクラス名を実行環境が発見すると、ブラウザ ウィンドウには赤いテキストでエラー メッセージが表示され、IDE が前面に表示されて [エラー] ペインにエラーが表示されます。
[エラー] ペインの項目は、構文エラーを含むファイルとそれが発生した行を示します。エラー リストで項目をダブルクリックすると、ソース エディタでそのエラーの場所にすばやく移動できます。エラーを含むソース コード行がハイライト表示されます。
アプレットのエラーを修正するには、先ほど追加した行を削除します。
構文エラーを修正したら、ファイルを保存してアプレットをもう一度実行してみてください。ほとんどの場合、コンパイラは最初のエラーを発見するとコンパイルを停止するので、もっと多くの構文エラーが発見される可能性があります。

ランタイム エラーの修正

ランタイム エラーは、アプレットの実行中に発生します。これは、アプレットで許可されていないことを実行した場合、または何らかの理由で実行を完了できない場合に発生します。例えば、メモリ不足、存在しないオブジェクトへのアクセスなどはランタイム エラーの原因となります。
通常、ランタイム エラーの場合はブラウザにエラー メッセージが生成されるだけですが、アプレットがデバッグ可能な場合は IDE がデバッグ モードで前面に表示されます。アプレットをデバッグできるようにする方法とデバッガの使い方の詳細は、「アプレットのデバッグ」を参照してください。

次のステップ

このチュートリアルでは IDE と Curl 言語について触れました。次のステップとしては、少なくとも以下のセクションに目をとおし、IDE についてさらに学習を深めてください。