mieki256's diary



2013/09/21() [n年前の日記]

#2 [ruby] DXRuby 1.5.6dev版が公開されてた

早速導入して試してみたり。とりあえず、以前作成した Anime PV Easy Maker ZERO は動いてるように見えたので一安心(?)。

フォルダ選択ダイアログを表示する機能が追加されてた。 :

同梱の readme.txt を眺めていたら、フォルダ選択機能追加という一文が。1.5.3devで追加されていたらしい…。

早速試してみたり。
#!ruby -Ks
# DXRubyを使ってフォルダを選択するサンプル

require 'dxruby'

folder = ""
font = Font.new(26)

Window.loop do
  break if Input.keyPush?(K_ESCAPE)

  y = 16
  yh = font.size + 4
  Window.drawFont(10, y, "Push Z key -> Select Folder", font)
  Window.drawFont(10, y + 1 * yh, "Folder:[#{folder}]", font)
  
  if Input.keyPush?(K_Z)
    folder = Window.folder_dialog("folder select")
    if folder == nil
      folder = "Cancel."
    end
  end
end
これで、Ruby を使って Windows 上でGUIアプリを作ろうとした場合に、ファイル選択/フォルダ選択をとりあえず DXRuby を使って行う、ということができそうだなと。ありがたや。

Ruby 1.8 の頃は、Windows上でRubyを使ってGUIアプリを作ろうとするなら VisualuRuby (vr/vruby) を使う、という選択肢があったのだけど。Ruby 1.9 になってからは、VisualuRuby は対応してない状態に。一応、ActiveScriptRuby を入れれば同梱されてるらしいけど…。RubyInstaller を入れた場合はどうすればいいのやら。

さりとて、他のGUI関連ライブラリは、開発が止まっていたり、導入が面倒だったり、exe化がすんなりいかなかったり、なんだか色々とボロボロな印象で。…まあ、そのあたりは、Python も似たようなものだけど。Python 3.x に対応できなくて放置されたライブラリがゴロゴロしてるし。

そんな状況なので、ファイル選択・フォルダ選択をしたい場合に、DXRuby だけでもソレができるというのは、ありがたいなと。もっとも、DXRuby は GUIアプリを作るためのライブラリではないのだけど…。ただ、ファイルやフォルダを読み込んで、ちょっと簡易に視覚化してみる、てなことに使えそうと思うわけで。

DXRuby のバージョン取得ってどうやるんだろう。 :

検索してみても答えが見つからず。バージョン番号の取得ができたら、バージョンに応じて処理を変更することができそうだけど…。例えば drawFontEx() に :aa というアンチエイリアス指定用オプションが増えたみたいなので、1.5.6以降とそれより前で記述を変えたほうがいいのかなと。…まあ、:aa については、1.5.6devより前のバージョン上で :aa => true と指定してもエラーは出ないみたいだけど。

DXRuby に限らず、Ruby のライブラリについてバージョン確認する方法は、コレと言ったものが無いようで。 _require されているモジュールのバージョンを知りたい!調べたい! - はちゅにっき に、Gem.loaded_specs['hoge'].version というソレが紹介されてたので試してみたけど、自分の環境ではエラーが出てしまって。

_あーありがち - gem メソッドで gem ライブラリのバージョンを指定 によると、HOGE::VERSION で取得できる場合もあるらしいけど。統一された何かしらは用意されてない状態、なのかな。

ライブラリのバージョン毎の細かい違いをソース側で無理矢理(?)解決するのもどうなんだろうという不安もあるけれど。もっと適切な解決策があるのだろうか…?

以上です。

過去ログ表示

Prev - 2013/09 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project