SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

VB6プログラマのためのCurl入門(AD)

VB6プログラマのためのCurl入門
ちょっと凝ったユーザーインターフェースを作ってみよう

  • X ポスト
  • このエントリーをはてなブックマークに追加

グラフ形式のユーザーインターフェース

 次に紹介するのは、グラフ形式のユーザーインターフェースです。VB6には、MSChartというコントロールがあり、様々な形式のグラフ(棒グラフや折れ線グラフなど)にデータを表示できました。Curlにも、VB6と同様の様々なグラフが用意されています(図7)。

図7 VLEのパレットに表示されたグラフの種類
図7 VLEのパレットに表示されたグラフの種類

 VLEを使えば、Canvasにグラフをビジュアル的に貼り付けることができます。ただし、Curlでは、VLEを使わずにコードだけでユーザーインターフェースを作ることもできるようになっています。ここでは、あえてVLEを使わないでグラフにデータを表示するプログラムを作ってみましょう。

 新たに「GraphSample」という名前で、「アプレットプロジェクト」を作成してください。VLEを使わない場合は「アプレットプロジェクト」になります。IDEの左上に表示されたstart.curlをダブルクリックしてエディタを開いたら、自動生成されている宣言文の下に、リスト3に示したコードを記述してください。

リスト3 VLEを使わずにグラフを表示するコード
{import * from CURL.GUI.CHARTS}

{value
    || レコードセットを用意する
    let data:RecordSet = {RecordSet
                             {RecordFields
                                 {RecordField "fruit", domain = String},
                                 {RecordField "sales", domain = int}
                             },
                             {RecordData fruit = "りんご", sales = 100},
                             {RecordData fruit = "みかん", sales = 200},
                             {RecordData fruit = "ぶどう", sales = 300},
                             {RecordData fruit = "いちご", sales = 400}
                         }

    || 棒グラフを作成し、レコードセットを設定する
    let chart:LayeredChart = {LayeredChart
                                 height = 10cm,
                                 width = 10cm,
                                 {BarLayer
                                     x-axis-data = {ChartDataSeries data, "fruit"},
                                     {ChartDataSeries data, "sales"}
                                 }
                             }


    || 棒グラフを表示する
    chart
}

 コードの記述が終わったら、プログラムを実行してみましょう。図8に示したように、果物の売り上げを示す架空のデータが棒グラフに表示されます。この実行結果をもとに、コードの内容を説明しましょう。

図8 リスト3の実行結果
図8 リスト3の実行結果

 {import * from CURL.GUI.CHARTS} の部分は、グラフを表示するAPI(あらかじめ用意されているソフトウエアの部品群のこと)であるCURL.GUI.CHARTSのインポート宣言です。APIのインポートは、VB6でカスタムコントロールに参照設定をすることに相当します。

 グラフに表示するデータは、レコードセットにまとめて格納します。VB6にもADOでレコードセットが使われますが、Curlのレコードセットも、それと似たものです。let data:RecordSet の部分は、RecordSet型の変数dataを宣言し、2行ある {RecordFileds・・・} でフィールド名とデータ型を指定し、4行ある {RecordData・・・} でデータを格納しています。

 let chart:LayeredChartの部分は、LayeredChart型の変数chartを宣言し、heightとwidthで高さと幅を指定し、{BarLayer・・・} でグラフの種類が棒グラフであることと、X軸とY軸に表示する項目がレコードセット(変数data)のどのフィールドであるかを指定しています。最後にあるchartで、棒グラフが表示されます。

おわりに

 以上、駆け足でしたが、Curlを使ってちょっと凝ったユーザーインターフェースを作る例をいくつか紹介しました。ユーザーインターフェースの作り方がわかったら、次に知りたくなるのはファイルのアクセスでしょう。そこで、次回は、Curlを使ってファイルを読み書きする方法を紹介します。

※クイズの答え
{link href = {url "http://www.curlap.com/"}, CurlのWebページへのリンク}

 の部分を

{link href = {url "http://www.curlap.com/"}, {image source = {url "cat.jpg"}}}

  に変更します。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
VB6プログラマのためのCurl入門連載記事一覧

もっと読む

この記事の著者

矢沢久雄(ヤザワヒサオ)

パッケージソフトの開発・販売に従事するかたわら、書籍や雑誌記事の著作活動、セミナーやカンファレンスにおける講演活動も精力的にこなす自称ソフトウエア芸人です。 

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3410 2009/01/08 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング