Hatena::ブログ(Diary)

myhd このページをアンテナに追加 RSSフィード Twitter

みょこym

MY HDD

myhdd

myhd

2010-03-28

RubyでWindowsアプリ その0 環境構築 / その1 簡易カウンタ

今回は、RubyWindowsGUIアプリケーションを作成します。
Rubyのホームは黒い画面(Windowsでいうコマンドプロンプト
だと思うのですが、最近はRails用言語だという説もありますね。
たしかに我々一般人はグラフィカルな環境で生きていますが・・・
黒い画面を抜け出した先がWebブラウザだけというのはさみしいので、
たまには違う道を歩いてみませんか?
と、Ruby暦3ヶ月のRubyistが言ってみる。

いままでWindowsアプリの作成にはVB.NETを使っていたのですが、
やっぱりRubyで書きたい・・・
というわけで、RubyWindowsアプリを作成する方法を教えてもらいました(Webに)。方法は二つ。

  1. Rubyが置いてあるフォルダに、ライブラリを手動でインストールする
    参考リンク<Extension libraries - Ruby-mswin32 (ja)

  2. ActiveScriptRubyをインストールする
    参考リンク<COM Meets Ruby

ライブラリを手動でインストールする場合、上記リンク先から、
「vrswin」と「vruby」をダウンロード解凍し、
Rubyインストールしたフォルダにコピーしてください。

また、ActiveScriptRubyとは、
Windows 環境向けの Ruby インストーラパッケージです。
Ruby本体のほか、Windowsライブラリが梱包されているなど、
Windows環境に適した作りとなっています。
Ruby本体がない場合、こちらがオススメです。

これで、RubyWindowsアプリを作成する準備が整いました。
それでは、さっそくプログラムを書いてみます。
題材は、できるだけ簡単で実用的なものという基準で、カウンタを選びました。

require 'vr/vruby'
require 'vr/vrcontrol'

#VRFormクラスを継承したクラスを作成
class MyForm < VRForm

  #constructでウィンドウの部品を作成する
  def construct

    #ウィンドウのタイトルを設定
    self.caption="カウンタ"

    #ウィンドウにコントロールを追加
    addControl(VRButton, "btn01", "0", 10, 10, 100, 30)
  end

  #「btn01」をクリックしたときの処理
  def btn01_clicked
    @btn01.caption = @btn01.caption.to_i + 1
  end
end

#ウィンドウをデスクトップに投入
VRLocalScreen.start(MyForm, 100, 100, 130, 80)

addControlの引数は、順番に

  1. コントロールの種類(VRButton)
  2. コントロールの名前("btn01")
  3. コントロールに表示する文字列("0")
  4. コントロールのx座標(10)
  5. コントロールのy座標(10)
  6. コントロールの横幅(100)
  7. コントロールの縦幅(30)

です。座標は、ウィンドウの左上が基準(0,0)となっています。

VRLocalScreenの仕組み(というかWindowsアプリの仕組み)は
勉強中なのできちんと理解していませんが、
コードを実行するとウィンドウが開きます。
ボタンがひとつしかない小さなウィンドウですが、
クリックするたびに値は無限に(メモリが許す範囲で)
増えていくので、そこそこ楽しめます。

いろいろと拡張してみてください。

■参考
窓辺でRubyExerbとVisualuRuby計画(仮称)を使ったWindows利用法
http://www.osk.3web.ne.jp/~nyasu/vruby/madobe/index.html

VisualuRuby(仮称)使い方
http://www.osk.3web.ne.jp/~nyasu/vruby/howto/index.html

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/myokoym/20100328/1269785995