VB6ユーザーの皆さん、ぜひCurlを体験してください
リッチクライアントアプリケーションを作るための開発ツールとして、VB6(Visual Basic 6.0)は大ヒットしました。今でもVB6を使っている開発者が少なくないでしょう。しかし、プロの開発者なら、マイクロソフトのサポートが2008年4月で終了したVB6を使い続けるわけにもいきません。「それなら、VB.NET(Visual Basic 2008)に移行しようか。しかし、VB.NETでは、開発ツールの使い方、言語の文法、そしてコントロールやクラスがVB6から大きく変わってしまったので、ちょっと敷居が高い」と思われているなら、もう1つの選択肢としてCurl(カール)を検討されてはいかがでしょう。Curlは、インターネット全盛の現代に適したリッチクライアントアプリケーションの開発ツールです。この連載では、VB6ユーザーの皆さんにCurlを体験していただきます。
Curlの歴史と入手方法
Curlは、1995年にDARPA(米国防総省)の出資でMIT(マサチューセッツ工科大学)によって開発され、1998年にMITの有志が設立したCurl Corporationによって製品化されました。当初の製品名はSurgeでしたが、後にCurlという名前に変更されました。Curlという名前になったのは、ソースコードの中で { } という中かっこ(curly bracket)を多用することが由来だと言われています。2004年に住商情報システム株式会社がCurlのすべての権利を取得し、日本国内では株式会社カールが、海外ではCurl Inc.が、Curlの販売を行っています。
Curlの実行環境と開発ツールは、株式会社カールのWebページから無償で入手できます。トップページからダウンロードページに進んだら、Curl RTE(実行環境)とCurl IDE(開発ツール)をダウンロードしてください。インストール方法は、ダウンロードページに示されています。Curlには、Windows版、Linux版、Mac版があります。この記事を執筆している時点での最新バージョンは、Curl 6.0です。Windows版が対応しているOSのバージョンは、Windows NT、98、Me、2000、XP、Vistaです。この記事では、Windows XPでCurl 6.0を使います。
新規プロジェクトの作成
Curl RTEとCurl IDEのインストールが完了したら、体験用のサンプルを保存するディレクトリを作成しておきましょう。ここでは、C:¥CurlSamplesという名前のディレクトリにしました。それでは、いよいよCurl IDEを使ってみましょう。Windowsの「スタート」メニューから「すべてのプログラム」→「Curl IDE」→「Curl IDE」を選択してください。図1は、起動直後のCurl IDEです。
VB6と同様に、Curl IDEでもプロジェクトという単位でアプリケーションを作成します。Curl IDEの「ファイル」メニューから「新規」を選択すると図2に示した新規ウインドウが表示されます。新規ウインドウで「新規プロジェクト」タブをクリックすると、Curl IDEで作成できるプロジェクトの種類が一覧表示されます。この中から一番上にある「ビジュアルレイアウトエディタプロジェクト」をクリックして選択します。ビジュアルレイアウトエディタとは、VB6のようにフォームに各種のコントロールを貼り付けて、ビジュアルにアプリケーションのユーザーインターフェースをデザインできるツールのことです。
引き続き、新規ウインドウの「マニフェスト名」にプロジェクト名を入力します。プロジェクト名は任意で構いません。ここでは、Sample1と入力することにしましょう。「ディレクトリ」には、プロジェクトを保存するディレクトリを指定します。ここでは、C:¥CurlSamples¥Sample1と入力します。指定したディレクトリが存在しない場合は、自動的に作成されます。他の設定はデフォルトのままで構いません。最後に[OK]ボタンをクリックして新規ウインドウを閉じます。
ユーザーインターフェースのデザイン
Curl IDEの左側にツリー形式で表示された項目の中からvle-container.scurlをダブルクリックしてください。ビジュアルレイアウトエディタ(以下VLEと略します)が起動します。VLEは、Curl IDEとは別のウインドウになっています(図3)。VLEの使い方は、VB6のフォームデザイナによく似ています。VB6ユーザーなら、VLEを直感的に使いこなせるでしょう。
キー入力された2つの数値の加算結果を表示するアプリケーションを作成してみましょう。同様のアプリケーションをVB6で作成する場合は、フォームにテキストボックスを2つ、ラベルを1つ、コマンドボタンを1つ貼り付け、それぞれのプロパティを設定し、コマンドボタンのClickイベントに加算を行うコードを記述することになります。VLEでも、ほとんど同じ手順です。
VLEの左端にあるパレットから中央のレイアウトに、TextField(VB6のテキストボックスに相当します)を2つ、TextDisplay(VB6のラベルに相当します)を1つ、CommandButton(VB6のコマンドボタンに相当します)を1つ貼り付けて、好みの位置とサイズで配置してください(図4)。Canvas(コントロールを貼り付ける土台のことで、VB6のフォームに相当します)のサイズも調整してください。コントロールの選択や配置の方法は、VB6と同様です。
CommandButtonに表示されている文字列は、デフォルトでcommand-button-1になっています。これを「加算実行」に変更しましょう。そのためには、Canvasに貼り付けられたCommandButtonをクリックして選択し、VLEの右端にあるプロパティで「ラベル」の値を「command-button-1」から「加算実行」に変更します。このあたりの使い勝手も、VB6と同様です(図5)。これで、アプリケーションのユーザーインターフェースのデザインが完了しました(図6)。
Curl言語によるコーディング
CommandButtonのイベントハンドラ(イベント発生時に呼び出されるメソッド)に、加算処理を行うコードを記述しましょう。CommandButtonをクリックして選択し、プロパティで「イベントハンドラ」タブをクリックします。イベントハンドラの「Action」をクリックして選択し、その右側に表示された[||]ボタンをクリックします(図7)。
VLEからCurl IDEに切り替わり、ウインドウの中央部にエディタが表示され、Curl言語のソースコードが自動生成されています。冒頭で説明したように、Curl言語は中かっこ { } を多用するのが特徴です。中かっこは範囲を示しています。VB6では、Sub~End SubやIf~End Ifのように範囲を示しますが、これをCurl言語では { ~ } で示すのです。CommnadButtonのイベントハンドラは、{on Action do ~ } で囲まれた部分です。この中に、イベント処理のコードを記述します。その他の自動生成されているコードは、VLEで行ったビジュアルなデザインを記録したものです。
2つのTextFieldに入力された値を加算し、その結果をTextDisplayに表示するコードを記述します。それらのコントロールのオブジェクト名は何だったでしょうか。プロパティで確認してみましょう。「デザイン名」の「値」に設定されているのが、コントロールのオブジェクト名です。
VB6ユーザーには意外かもしれませんが、VLEでは、コントロールを貼り付けた時点で自動的にデフォルトのオブジェクト名が付けられることはありません。従って、「デザイン名」の「値」は空欄になっています。あらためて、上側のTextFieldの「デザイン名」の「値」に「text-field1」、下側のTextFieldに「text-field2」、TextDisplayに「text-display1」と設定しましょう。コードで操作しないコマンドボタンには、デザイン名を設定する必要はありません。
再度Curl IDEのウインドウに戻って、{on Action do ~ } で囲まれた部分に、リスト1で網掛けした部分のコードを記述してください。selfは、VB6のMeに相当します。例えば、self.text-diplay1.valueは、VB6のMe.Label1.Captionに相当します。その他の文法は、次回以降で説明します。
{on Action do {let x:int, y:int, ans:int} {set x = {{String self.text-field1.value}.to-int}} {set y = {{String self.text-field2.value}.to-int}} {set ans = x + y} {set self.text-display1.value = {String ans}} }
アプリケーションの実行
VB6では編集内容を保存しなくても実行できますが、Curlでは必ず保存してから実行します(保存しないで実行しようとすると、保存を促すメッセージが表示されます)。Curl IDEの「ファイル」メニューから「すべて保存」を選択してください。保存できたら、「実行」メニューから「プロジェクトを実行」を選択してください。「特権が必要なアプレットです」といった内容のエラーメッセージが表示されるはずです。Curlはセキュリティ上の理由から、特権を持った環境でないとCurlアプリケーションを実行できないようになっているからです。
現在使用しているコンピュータに特権を与えるには、「Curlコントロールパネル」というツールを使います。Windowsの「スタート」メニューから「Curl RTE」→「Curlコントロールパネル」を選択して、Curlコントロールパネルを起動してください。Curlコントロールパネルの「セキュリティ」タブページで「このコンピュータ」をクリックし、右側に下線付きで表示される「特権ディレクトリの追加」をクリックします(図8)。
「特権ディレクトリの追加」ウインドウが表示されたら、「このコンピュータのディレクトリパス」にC:¥CurlSamplesと入力して[OK]ボタンをクリックします(図9)。これによって、C:¥CurlSamples以下のディレクトリに保存されたCurlアプリケーションに特権が与えられます。[閉じる]ボタンをクリックして、Curlコントロールパネルを閉じてください。
Curl IDEに戻り、「実行」メニューから「プロジェクトを実行」を選択してください。今度は、エラーメッセージが表示されずに、Webブラウザの中でCurlアプリケーションが実行されるはずです(図10)。
これで、はじめてのCurl体験は終了です。Webブラウザ閉じてCurlアプリケーションを終了してください。VLEとCurl IDEそれぞれで「ファイル」メニューから「終了」を選択してウインドウを閉じてください。
はじめてCurlを体験したVB6ユーザーは、どのような感想を持たれたでしょう。「確かにCurl IDEの使い方はVB6に似ているが、Curl言語の文法がVB6とまるきり違うので、習得するのに時間がかかりそうだ」という感想が多いと思います。確かにCurl言語の文法は、VB6とは大きく異なりますが、とても整然とした規則になっているので、ノリさえつかめれば習得はそれほど困難ではありません。次回は、Curl言語の基本文法を説明しましょう。