• ベストアンサー

GUIプログラムを作りたいのですが

どんな方法がいいでしょうか?(もちろん、Rubyを使うことが前提です。Ruby/Tkとか、FxRubyとかいろいろあるみたいですが) ずっと前は、Apolloを使っていたのですが、最近のRubyバージョンには対応していないようですし。 または、Winoleについて詳しく書かれたサイトはないでしょうか? (まずは、ファイル選択部分をGUIにしたいと思っています)

  • Ruby
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • siffon9
  • ベストアンサー率64% (136/211)
回答No.1

こんにちは 私は、Visualurubyをruby-1.9.3で使用しています。 ActiveScriptRubyをインストールすると一緒にインストールされます。 仕事で使用する簡易ツールをrubyで作成していて、他の人に使用してもらうときに簡単なGUIをつけてexe化してます。 Windowsのファイル選択ダイアログも簡単に呼べますよ。 欠点としてAPI仕様が特殊?でGUI部分がrubyらしからぬソースになるということと、ドキュメントがしっかりと整備されていないことでしょうか(基本的なGUI部品だけの使用なら問題ないと思いますが) これが気になり以前他のGUIライブラリもいくつか試したことがあるのですが、exe化するとファイルサイズが超巨大になってしまったので諦めました。 以上、ご参考まで。

kihonkana
質問者

お礼

回答ありがとうございます。 試してみます。 (ApolloだとGUIのフォームがDelphiで作れたので、気に入ってたんですけど...)

kihonkana
質問者

補足

メインプログラムを以下のようにしたのですが、「file = 」の行でエラーが出ます。 エラーメッセージは「unterminated string meets end of file」です。 どこが間違っているのでしょうか? frm=VRLocalScreen.newform frm.extend MyForm frm.move 100,100,300,300 frm.create frm.show file = SWin::CommonDialog::openFilename(nil, [["テキスト(*.txt)","*.txt"]], 0x1000, "ファイル選択")

その他の回答 (1)

  • siffon9
  • ベストアンサー率64% (136/211)
回答No.2

こんにちは > unterminated string meets end of file メッセージのとおり、文字列(string)が終結しないままプログラムファイルの最後に達してしまいましたというエラーです。エラーの出たプログラムで、3カ所の文字列前後のダブルクォーテーションの閉じ忘れはありませんか? ちなみに私の環境では、以下のプログラムでファイルダイアログが正常に表示されます。 ----- # coding: Windows-31J require 'vr/vruby' frm=VRLocalScreen.newform #frm.extend MyForm #MyFormを定義してないのでコメントアウトしました frm.move 100,100,300,300 frm.create frm.show file = SWin::CommonDialog::openFilename(nil, [["テキスト(*.txt)","*.txt"]], 0x1000, "ファイル選択") -----

kihonkana
質問者

補足

回答ありがとうございます。 同じ行をほかのプログラムでも使っているのですが、そちらの方は正常に動いています。 いろいろやって file = SWin::CommonDialog::openFilename(nil, [["テキスト(*.txt)","*.txt"]], 0x1000, "File Select") というように変えるとうまくいきました。 (ファイル選択ダイアログのタイトルを「ファイル選択」から「File Select」に変えました) とりあえず、これでプログラムを作ります。

関連するQ&A

  • プログラムのGUI部分をブラウザで代用する手段

    rubyスクリプトを使用してデータ処理を行っております。 このプログラムのGUI部分をブラウザで代用することは可能でしょうか? もし可能であればどのような手段があるのかご教示いただきますと嬉しいです。 # ブラウザを使用せずに、rubyのGUIライブラリを使用する方法はここでは除外してください。 ブラウザ上で必要なパラメータを設定し、実行ボタン押下でこれをスクリプトに渡してスクリプト実行、処理結果(テキスト)をブラウザ上に表示させたいです(GUIとスクリプト間のデータの受け渡しは標準入出力利用? またはパラメータ用のデータファイル経由?) ブラウザ上で使用したいGUI部品は、ボタン、テキストエリア(入力用、表示用)、ラジオボタン、コンボボックス、(PC内の)ファイル選択ダイアログ等 実行環境 ・Windows XP以降(XPは事情によりサポートが切れても使用予定) ・ネットワークに接続せずPC単体で使用  htmlファイルをクリックしてGUIを起動するイメージ ・ブラウザはPCに標準で入っているインターネットエクスプローラ ・そのPCでhttpサーバー等は動かせません javascript等の使用で上記内容を実現可能でしょうか? よろしくお願いします。

  • CUIとGUIでの言語の使い分け

    よろしくお願い致します。 Solaris10 で、 GUIは日本語環境で行い、CUIは文字化けするので 英語環境でのような使い分けって出来るのでしょうか。 その場合の設定はどこなのでしょうか・・。 (GUIの中のpromptは日本語文字化けしてないのですが、 CUIだと、文字化けするので英語バージョンに戻したいです) また、コマンドライン の /.PRFILEを書き換えれば#の前部分を かえれるようですが、このファイルはいずこ?状態です。 よろしくお願い致します。

  • [WinXp] PerlでのプログラムをGUIで動かしたい。

    こんにちは。 Perlでプログラムを作っています。でも、趣味で遊ぶ程度。 最近、Web上にあるファイルをダウンロードしてくるプログラムを書きました。 1.ファイル一覧取得 2.その一覧に沿ってダウンロード たったこれだけ。 今はDOS窓を開いて、プログラムを実行しています。 これをWinXpのGUIにて、かっこよく実行させたいのですがどのようにしていけばよいのでしょうか? V.S.2003がありますので、なんとか活用したいのです。 1.画面表示 2.サイト入力->ファイル一覧取得->ダウンロード開始 3.終了画面表示 みたいな単純でかまわない。 環境 WinXp ActivePerl-5.6.1.638-MSWin32-x86 VisualStudio2003はありますが、ほとんど使いっていません。勉強のために購入した物。 参考になるサイトでも、そのようなことを行っているツール(ソース付き)など教えて頂けるとうれしいです。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • Ruby/Tkの一部が動かない

    いつもお世話になってます。 今回GUIアプリケーションを作りたくて、ActiveTcl→http://www.activestate.com/からバージョン8.5をインストールしました。 そしてプログラムを作って実行すると、一部の簡単なものは実行できるのですが、少し複雑なプログラムになると「Ruby interpreter(CUI)1.8.6[i386-mswin32]は動作を停止しました」というダイアログが出てきてしまいます。コマンドラインのほうには、alloc: invalid block:XXXXXX: ef ef 30 (Xの部分は何かの16進数) のような文字が現れてしまいます。 原因を本で調べてみるとこれはTkのヘッダファイルとライブラリファイルの整合性が取れていないとのことでした。対策として、同じヘッダファイルとライブラリファイルが用いられているか確認し、不整合があるならext/tcltklib/extconf.rbを編集しなさいと書かれています。(うまくいかないために何度かバージョンの違うActiveTclをインストールしてしまったのでこの原因が有力だと思ってます。) このext/tcltklib/extconf.rbがどこを探しても見当たりません。これを見つけたことによって解決されるかはわかりませんが。。 どうか助けてください。お願いします。 WindowsVista Ruby-1.8

  • GUI::GetOpenFileName()でサブルーチンがない?

    Perlの初心者ですがお教えください。 Windowsのファイル選択ダイアログを出そう思っています。教えてGooの過去履歴を見て、Win32API、GUI、Loft_binaryをインストールしました。 そして、 use Win32::GUI; $ret = GUI::GetOpenFileName(); を実行しても、以下のエラーメッセージが出ます。 Undefined subroutine &GUI::GetOpenFileName called at getopen.pl line 2. 何が悪いのでしょうか? OSはWindows2000-Proです。 一応、インストールしたときの結果を以下に載せておきます。Loft何とかの方もフォルダ内のinstall.batでインストールしています。 よろしくお願いします。 D:\Win32-GUI-1.05-PPM-5.8\Win32-GUI-1.05-PPM-5.8>ppm install Win32-GUI.ppd Syncing site PPM database with .packlists...done Unpacking Win32-GUI-1.05...done Generating HTML for Win32-GUI-1.05...done Updating files in site area...done 321 files installed D:\Win32-GUI-1.05-PPM-5.8\Win32-GUI-1.05-PPM-5.8>ppm install Win32::API Downloading ActiveState Package Repository packlist...done Updating ActiveState Package Repository database...done Downloading Win32-API-0.46...done Unpacking Win32-API-0.46...done Generating HTML for Win32-API-0.46...done Updating files in site area...done 18 files installed

    • ベストアンサー
    • Perl
  • Perlの出力を、Perlから実行するプログラムの標準入力にしたい

    現在データを収集してくるPerlのスクリプトを作っています。 このスクリプトから、ローカルにある、別のrubyスクリプトに、収集してきたデータを渡したいのですが、rubyスクリプトは、標準入力を前提として作られています。 簡単に考えると、一旦ファイルに落として、そのファイルをリダイレクトする形でPerlからrubyスクリプトを起動すればよさそうなのはわかるんですが... なにか他にうまい方法がPerlにはあるはずだといろいろ探しているのですが、見つかりません。 ファイル渡ししか方法は無いのでしょうか?

  • 秀丸とGui-shell

    platex2e for Windows Another Manual Vol.1 Basic Kit 1999 第14刷 を購入し、早速インストールしてみたのですが、 秀丸から 「現在のファイルをTeXで処理」 を選択すると guishellを開けませんでした。 各種実行プログラムの格納されているディレクトリにはPATHを通しておく必要があります。 とメッセージが出てきます。 同様に 「現在のファイルをプレビュー」 を選択しても 同じようなエラーメッセージが出てきます。 10年ほど前にインストールしたときには特に設定することなく 秀丸とGui-shellやdvioutがつながったと思うのですが 何か設定しなくてはいけないのでしょうか?

  • GUIツールキットの選択に悩んでいます

    GUIのプログラミングをしたく、どのツールキットを選択したらいいか教えてください。電子回路設計をしているので、ソフトウェア開発には疎いです。周りに聞ける人はいません。 * OSは、Mac OS X で制作したものをWin XPにて使用、その後は UNIX系 (Solarisか、その他のLinux系、まだ決めていない) に移植したいと考えています。WinはCygwinもアリです。 * 言語はPerl, C/C++ (gcc) を考えています。Javaのほうが作りやすければ、興味があるので勉強します。 * 無料で利用できるものがいいです。作ったソフトウェアを「売り物」にするつもりはありません。 * 自作ハードウェア装置の制御に使用します。スピンボタンやスライダは必須。できれば、グラフなどの線描が楽だと助かります。 もともとPerl/Tkを考えていたのですが、ここ最近Tkがあまり使用されていない気がしましたので。もっといいものが出回っているのではないかと思い質問させていただきました。よろしくお願いします。

  • グラフ生成をGUIで。

    説明しづらいのですが、 ============================ Javaによって生成された画面上の任意の点を右クリックして出るポップアップメニューの「生成」なる項目を選択するとダイアログボックスが現れ、例えば名前やIDなどを入力して決定を押すと、その右クリックした地点に●が表示されついでに内部的においても 点を意味する Point なるオブジェクトが生成される。 また任意の場所で右クリックして出るポップアップメニューの「連結」なる項目をクリックし、2つの●をチョンチョンとクリックするとそれらを結ぶ線が表示され、ついでに内部でも 2つのPointオブジェクト同士をリンクさせる. 最後に「保存」なるボタンを押すと、出来上がったグラフの情報(どの位置に点があって、どの点とどの点が結ばれているか等)をファイルに保存する. ========================= つまり単純に無向グラフをGUI操作で生成して、なんらかのファイル形式に保存したいと思っています. ただ、GUI部分をどう始めればよいか見当がつきません. awt の canvas を使って全て作るとなると、「クリックした場所の当たり判定」みたいなことをしなければいけないのかな?なんて思って気が引けてしまいます。 このようなことをしたい場合はどういった方法が考えられるでしょうか. アドバイスをお願いします。

    • ベストアンサー
    • Java
  • GUI設計などのデザインのコツを教えてください。

    【スマホなど携帯端末を除く】 デスクトップアプリやWEBデザイン前提の質問お考えください。 現在趣味でデスクトップアプリやWEBページを作成しております。 自分用で非公開の物ばかりでしたが、今後は公開をしてしていこうと思います。 そこで、まず、GUIについて経験のある方にお伺いしたいと思って質問しました。 ■質問 1、入力部品の高さや幅など標準はありますか? 現在は、設計上の都合や、自分が読めたらOKと適当にやってます^^; 2、GUI設計の手順 GUI配置の手順やそれ以前の絵コンテを描くなど、効率の良いやり方など 3、GUI設計の落とし穴、失敗談、苦労話など 4、GUI設計のお手本になるようなお奨めサイトや本や訓練方法など ■お願い 以下のように回答頂けると頂けると助かります。 ・上記ついて、全てに回答して頂けなくても構いません。  質問番号を提示頂けると解りやすくありがたいです。 ・業界標準や慣例や経験などを踏まえたアドバイスなど。 ・現在の巷のGUI設計に不満があるなどの問題点指摘や主観的な構想的意見もあれば 以上、よろしくおねがいします。

専門家に質問してみよう