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

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

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

  1. Rubyが置いてあるフォルダに、ライブラリを手動でインストールする
    参考リンク<http://www.garbagecollect.jp/ruby/mswin32/ja/download/ext.html


  2. ActiveScriptRubyをインストールする
    参考リンク<http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/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