【ActiveScript】Ruby ..
49:デフォルトの名無しさん
06/08/14 10:14:50
本スレでもそうだけど要望出るといちいち必要ないとか
火消しに回ってる部隊はなぜそんなことやってるのか意味がわからん
50:デフォルトの名無しさん
06/08/14 10:27:58
>>49
必要のあるなしを吟味せずに、無節操に取り入れていったらどうなるか考えてみろ
51:デフォルトの名無しさん
06/08/14 10:29:26
キターw
52:デフォルトの名無しさん
06/08/14 11:40:05
>>48
kwsk。出来れば具体的なプロジェクト名を。
>>49
2chに限定した話?
2chのスレや日記などであげられていた問題がきっかけで
直接修正されたということなら数回見たことがあるけど、
そんなにひどいことってあったかな。
出来ればどのスレのどの辺りって教えてくれませんか。
53:デフォルトの名無しさん
06/08/14 14:39:32
vrubyはdelphiみたいなAnchorsはないのかな
あれがあるだけでレイアウトが簡単になるのだが
54:デフォルトの名無しさん
06/08/14 14:48:16
∧∧ ミ _ ドスッ
( ,,)┌─┴┴─┐
/ つ. 要望禁止│
〜′ /´ └─┬┬─┘
∪ ∪ ││ _
゛゛'゛'゛
55:デフォルトの名無しさん
06/08/14 15:37:36
>>53
なんだAnchorsって。
56:デフォルトの名無しさん
06/08/14 15:39:50
>>53
Apollo使えば?
57:デフォルトの名無しさん
06/08/15 16:17:52
vrubyで、次のようにしてウィンドウの位置と大きさを保存・復帰させてみたのですが、
起動と終了を繰り返すたびにウィンドウが小さくなってしまいます。
どうすれば正しくできるのでしょうか?
require 'vr/vruby'
require 'vr/vrhandler'
require 'pstore'
class Form1 < VRForm
include VRClosingSensitive
#include VRMessageHandler
def construct
@db = PStore.new("window.db")
@db.transaction do
pos = @db["pos"] || @db.abort
p pos
self.move(*pos)
end
end
def self_close
@db.transaction do
@db["pos"] = [x, y, w, h]
end
end
end
VRLocalScreen.start(Form1)
58:デフォルトの名無しさん
06/08/15 18:19:07
>>57
バグか仕様か知らんけど、x,y,w,hはクライアント領域のものなので、
それを使ってmoveしちゃうとタイトルバーとかウィンドウ枠とかの分
どんどん小さくなる。
self_closeで、
@db["pos"] = [x, y, w, h]
でなく
@db["pos"] = self.windowrect
とすればうまくいくんじゃないか? 試してないが。
59:57
06/08/15 19:13:51
>>58
その通りでした。おかげでうまくいきました。
60:デフォルトの名無しさん
06/08/15 22:23:50
>>42
> Windows限定でいいので
> Pathnameかなんかに'/' <-> '\\'の相互変換メソッドが欲しい
'\\'->'/'はFile.expand_pathでできるよね
'/'->'\\'は単純にgsubでも大丈夫だと思うけど
それじゃだめ?
61:デフォルトの名無しさん
06/08/15 22:39:38
デフォルトのパス区切りが/なんてWindows環境じゃありえないウンコ仕様は未来永劫直らないんだろうな。
62:デフォルトの名無しさん
06/08/15 22:44:57
別にどっちもウンコ仕様だとは思わないけど。
63:デフォルトの名無しさん
06/08/15 22:45:58
ああ、RubyのWin対応がウンコって意味か。
それなら同意
64:デフォルトの名無しさん
06/08/16 01:37:02
殺伐としてるなぁ
65:デフォルトの名無しさん
06/08/16 05:07:48
殺伐としてる割には進行遅いがな
66:デフォルトの名無しさん
06/08/16 16:46:48
>>33 のすぐ落ちる画面を書いてみた。
require 'vr/vruby'
require 'vr/vrcomctl'
require 'vr/vrcontrol'
class Test_Form < VRForm
def self_created
self.caption = 'form1'
self.move(265,185,600,400)
addControl(VRListview,'listView',"listView",56,16,488,304,1342177281)
@listView.addColumn("column1",100)
@listView.addColumn("column2",120)
Thread.start do
loop do
@listView.insertItem(0,[Time.now.strftime("%H:%M:%S") , "auauauauauau"])
# sleep(0.1)
end
end
end
end
VRLocalScreen.start Test_Form
スレッドにsleepを入れていないので猛スピードでカラムを挿入するが、
この状態でカラムの幅を変えようとすると画面が固まったり、プログラムが落ちて窓が消えてしまう。
sleepのコメントをはずすと、平均して10回に1回ぐらいの確率(体感)で、固まったり落ちたりする感じ。
あと、カラム1の要素をクリックして選択しようとしても同じ事が起こる。
67:デフォルトの名無しさん
06/08/16 16:52:24
なぜ作者に連絡したり、MLに投げたりという発想がないのか
68:デフォルトの名無しさん
06/08/16 16:59:27
定期巡回乙であります
69:デフォルトの名無しさん
06/08/16 23:01:17
>>66
手元でやってみたが固まりも落ちもしなかった
ひょっとしてActiveScriptRubyのせいじゃない?
るびま15号のartonさんインタビューで、XPでスレッド周りが動かなくなったとか言ってる
70:デフォルトの名無しさん
06/08/16 23:11:19
>>69
ActiveScriptRubyだけど、固まりも落ちもしなかった。
71:デフォルトの名無しさん
06/08/16 23:12:44
とりあえずお前らrubyとライブラリのバージョンくらい書け。
72:デフォルトの名無しさん
06/08/16 23:20:07
>>71
>>33に書かれてるじゃん
73:デフォルトの名無しさん
06/08/16 23:23:22
つか、動く報告があったんだから、>>33は他のWindowsバイナリでも落ちるのかどうか
検証してから報告して欲しいな。
74:デフォルトの名無しさん
06/08/17 00:28:39
>>66
ASR1.8.4.1で試したけど問題なし。
Webに行ったら1.8.4.5が出てたのでインストールして試したが問題なし。
75:33
06/08/17 01:40:51
環境差の可能性があるって事であわててテストしました。
まず、cygwinをインストールして、
ruby-1.8.4-i386-cygwin.tar.gz
vrswin-040314-i386-cygwin-1.8.tar.gz
vruby-040717-i386-cygwin-1.8.tar.gz
で動作させたら、これは33に書いたとおり、一発で落ちます。
で、サーバー用に動作させていたWindows2000 SP4 で、
ASR 1.8.4.4 で動作させたら、これは、落ちることなく正常動作します。
WindowsXP SP2だと落ちるのか?それとも自分のマシン独自の問題か?
>>70 や、>>74 はXP SP2ですか?
76:74
06/08/17 02:29:09
XP Home SP2
77:74
06/08/17 02:42:38
>>75
どこでダウンロードできるのか書いといてくれよ。探したじゃん。
(URLリンク(ftp.ruby-lang.org))
CYGWIN_NT-5.1 * 1.5.20(0.156/4/2) 2006-07-01 02:22 i686 Cygwin
ruby 1.8.4 (2005-12-24) [i386-cygwin]
で問題なし。
78:74
06/08/17 02:59:06
もっかい>>33を読んで、「10分放置」をしてみたが、問題なし。
ライブラリ作者に、詳細な環境と状況を添えて、メールしたら?
79:69
06/08/17 04:21:31
swinとvrubyの最新リリースはvrswin060205とvruby060223だからね...
(ASRのパッケージはもちろん最新)
2年前の古いリリース使っておかしいよって言っても作者も困るでしょ
ちなみにおれの環境は
Windows2000SP4、garbagecollect.jpから落とした1.8.4のバイナリ
本家から落としたvrswin060205とvruby060223のセット
ぜんぜん問題なし
80:デフォルトの名無しさん
06/08/17 05:47:32
windows2000sp4, mswin32版rubyで固まった。swinのバージョンはよくわからん
81:デフォルトの名無しさん
06/08/17 16:08:30
swinのバージョンの検査は
require 'swin'
p SWin::VERSION
かな。
vrubyのバージョン検査方法は?
82:33
06/08/18 01:07:40
>>33 および、>>66のソースの件ですが、
require の3行の下に、
SWin::Application.thread_critical=true
を書き足した所、私の必ず落ちる環境でも、正常動作するようになりました。
よかった〜これでGUIを気兼ねなく使えるかも。
でもなんで?
URLリンク(www.osk.3web.ne.jp)
の一番最後に、
>mswin版はデフォルトでtrue。
と書いてあるので、この修正は必要ないと思っていたのに。
ちなみに、
p SWin::Application.thread_critical
でデフォルト値を表示してみるとfalseでした。
環境:ASR1.8.4.4
83:デフォルトの名無しさん
06/08/18 01:13:59
追伸
>>75 の、vrubyとswinのバージョンが古いcygwin版でも、
SWin::Application.thread_critical=true
の行を書き足すことで正常動作しました。
皆さんがテストしてくださったおかげで、問題点が絞り込め、
解決に到達出来たようです。本当にありがとうございました。
vrubyの中の人。不安定とか、あらぬ疑いをかけてごめんなさいでした。
84:デフォルトの名無しさん
06/08/18 01:35:45
なぜかはわからんが問題解決したってことでデフォルトFALSEに変更されてるっぽい
URLリンク(vruby.cvs.sourceforge.net)
QAにうそ書いてるってことだし、作者に報告しといたほうがいい気がする
85:vruby作者
06/08/20 14:54:02
いまここを発見しました。
mswin版rubyとGUIのスレッド相性は、Windowsの構造化例外が
どうとか(詳細忘れました)が原因で、その後ruby本体側の改修で直ったように
見えたので、mswin版もthread_critical=falseをデフォルトにしました。
cygwin版でもおかしなことが起こるということは、他にも何か問題あったんでしょうかね。
(とりあえずうちでは問題出てません。)
sqa.htmlは修正しておきます。
86:74
06/08/20 15:40:35
作者キターーーーーーー&乙であります。
87:デフォルトの名無しさん
06/08/21 11:03:40
dl2でドトネトらいくなライブラリを作ることを月狼に命じる
88:デフォルトの名無しさん
06/08/21 13:35:47
落ちないけど固まった。
でもタスクマネージャを見るとCPUは回ってるから何かは動いてるんだなと思って-rdebugしたらsegvった。
これどのスレッドが動いてるとか追いかける方法はあるの?
sleepすりゃ問題ない(今のところ)し、thread_criticalでも問題ないみたい。
だいたいスレッド経由でノーウェイトで何の手当もせずにぶん回すような用途って何だろうとは思うが。
バージョンは
・Epson NA701(CoreDuo)
・WindowsXP SP2
・CYGWIN_NT-5.1 hoge 1.5.21(0.156/4/2) 2006-08-09 13:38 i686 Cygwin
・ruby 1.8.5 (2006-08-09) [i386-cygwin] <= preview3
・SWin::VERSION => "060205"
・VRuby => "060223"
89:デフォルトの名無しさん
06/08/21 13:42:14
>>88
そういうのは、1.8.4で試すものです
90:デフォルトの名無しさん
06/08/21 16:57:26
visualurubyの画面で、ボタンのcaptionに ボタン(&B) と書いても
Alt+B でボタンが押せないんだけど、そういうものなのでしょうか?
なにか、簡単な設定かコード記述で使えるようになったりしますか?
91:デフォルトの名無しさん
06/08/21 22:32:06
>>90
URLリンク(vruby.sourceforge.net)
VBとかは(&B)とか書いただけでお手軽にショートカットキーが設定できたりするのかね?
92:デフォルトの名無しさん
06/08/21 22:45:11
ageてみる
>>88
core吐かせられるならgdbで追いかけられない?
1.8.5 preview4 が出たみたいだし
入れなおすついでにprintf突っ込んで追っかけてみるとか...
93:デフォルトの名無しさん
06/08/21 23:32:48
つーか、>>88は、自分の環境で1.8.4で動くのか落ちるのかはっきりさせろ
94:デフォルトの名無しさん
06/08/22 07:50:29
>>91
VB.NETならLabelのTextプロパティに"ほげ(&B)"って書いとけば
ショートカットキーが効くようになる。
# 多分VB6とかでも同じはず
95:デフォルトの名無しさん
06/08/22 09:25:59
>>93
めんどくさいのでマシン貸すから自分でやれば。
96:デフォルトの名無しさん
06/08/22 13:30:06
vrubyのリストボックスで、項目をダブルクリックした時に何か処理したいんだけど
どう書けばええの?
97:90
06/08/22 16:14:28
>>91
ありがとうございます。
> URLリンク(vruby.sourceforge.net)
確認しました。現状はこんな感じです。
・フォームデザイナ使用。form自体にVReyFeasibleをつけてキーイベントを拾おう。
・ありゃ、self_charイベントでは、ctrl+文字は拾えるが、alt+文字は拾えないみたい(進展がなければ、ctrl+文字で妥協しよう)
・ふむふむ、URLリンク(www.osk.3web.ne.jp) によると、keydownイベントというのが拾えるんだね。
・addHandler WMsg::WM_KEYDOWN,"keydown",MSGTYPE::ARGINTINT,nil を設定してself_keydownイベントを拾っても、やはりalt+文字は拾えないみたい
・でも出来ないはずはないんだよね。menuでは、alt+FでFileメニューをpopupしたりしているんだから。
・うーん、menu関係のソースを読んで情報を探るしかないのか?
といったところです。なにか間違った方向に進んでいそうでしたらアドバイスお願いします。
> VBとかは(&B)とか書いただけでお手軽にショートカットキーが設定できたりするのかね?
.NETの他に、ExcelやAccessのフォームなどでも、部品のcaptionに(&B)と書いておけば、
コードを書くことなくALT+Bでボタンが押せるようになります。
VB6はいじったことはないですが、VBAと同等品と聞いていますので同じだと思います。
他に、
項目名(&K) [________]
となっているとき、ALT+Kを押すと、入力フィールドにカーソルが移動します。
Windowsでは、画面操作のすべてをキーボード操作できる画面を、フォームエディタで(&B)などと書くだけで作れるという便利さがあります。
98:90
06/08/22 16:32:47
>>97の補足です。
>他に、
>項目名(&K) [________]
>となっているとき、ALT+Kを押すと、入力フィールドにカーソルが移動します。
なぜ、labelに(&K)と書いてあるのに、フォーカスが入力フィールドのほうに行くのかというと、
VBAなどのフォームデザイナでは、入力フィールドに限らず、listやcomboboxなどの画面部品をフォームに
挿入したとき、その画面部品の見出しlabelがセットになって、グループ化されて一緒に挿入されます。
その、セットのlabelに(&K)と書くことで、画面部品にフォーカスが行くようになります。
内部的には、画面部品と、その部品用のlabelというのがリンクされた情報を保持しているのかもしれません。
ちなみに、1画面内に複数、(&K)を指定すると、そのときの動作は保証されないそうです。
99:デフォルトの名無しさん
06/08/23 02:51:24
>>97
vrinitにadd_parentcall("syschar")を追加しとけば親で拾えるよ
(AltはWM_CHARじゃなくてWM_SYSCHARで飛んでくるらしい)
あと、syscharに限んないけどフォーカスないと拾えないから注意
イベント拾い専用のコントロールに常時フォーカスさせて
そいつから一括してキーイベント拾うようにするとかしてくれ
100:デフォルトの名無しさん
06/08/23 07:32:46
最近Ruby使い始めたんだがすげーいいなこれ。
GUIが一瞬で出来し、適当に書いても動くしw
101:デフォルトの名無しさん
06/08/23 08:45:00
>>96
URLリンク(blade.nagaokaut.ac.jp)
↑みたいにして????_dblclickedで処理
vr/compat/vrcontrol.rbのVRListboxのところに
addCommandHandler(WMsg::LBN_DBLCLK, 'dblclicked',MSGTYPE::ARGNONE,nil)
を直接入れちゃってもいい
ってゆうか最初から入れとけよ作者
102:デフォルトの名無しさん
06/08/23 21:04:44
>>101
>>96ではないけど、
FormDesignerで画面を作ると、リストボックスは、別モジュールで
addControl(VRListbox,'listBox1',"listBox1",72,40,296,132,1350565889)
を使って定義され、別ファイルからこのモジュールをインクルードして
使うようになってるんだけど、
この状態で、
URLリンク(blade.nagaokaut.ac.jp)
と同等のサブクラス定義ってどうやればいいでしょうか?
(FormDegignerで生成したファイルには手をつけずに、自作のファイルの中だけで定義したい。)
103:デフォルトの名無しさん
06/08/24 01:46:48
>>88 >>66のスクリプトだよねえ
>>101 確かによく使いそうですねえ。つうか、selchangedだけか。デフォルトは。
>>102 VRListbox自体を差し替えるか、VRListboxのvrinitだけを差し替えれば?
(前者は定数代入、後者はaliasで)
>>90 はVRFormじゃなくてダイアログ使うと出来る。(Formの代わりならmodelessか)
Windowsの機能で。以下サンプルのmdlgtest2.rbから抜粋&改変
なんとなくインデントが狂いそうなんでインデントを全角スペースにしてみた。modalでごめん。
require 'vr/vrdialog'
module MyDialogContents
def construct
move 0,0,150,150
centering
addControl VRButton,"btn1","button1(&a)",10,10,100,30,WStyle::WS_TABSTOP
addControl VRButton,"btn2","button2(&b)",10,40,100,30,WStyle::WS_TABSTOP
addControl VRButton,"btn3","button3(&c)",10,70,100,30,WStyle::WS_TABSTOP
end
def btn1_clicked
close( ["This","is","sample","return","value"] )
end
def btn2_clicked
close(false)
end
def btn3_clicked
close(3)
end
end
p VRLocalScreen.modalform(nil,nil,MyDialogContents) #parent,style,dialog
104:デフォルトの名無しさん
06/08/24 01:52:06
しまった、sage損なった...
105:102
06/08/24 02:24:11
>>103
> >>102 VRListbox自体を差し替えるか、VRListboxのvrinitだけを差し替えれば?
> (前者は定数代入、後者はaliasで)
すんまそん。 頂いたご返答はよく分からなかった(試したが成功しなかった)のですが、
その後自分の勘違いに気づき、簡単にできることが分かりました。
self_createdで、リストボックスを表す変数に直接定義してやれば良いみたいです。
class TheForm < VRForm
include Frm_form1
def self_created
# @listBox1.addCommandHandler(WMsg::BN_CLICKED, "clicked", MSGTYPE::ARGNONE,nil)
@listBox1.addCommandHandler(WMsg::BN_DBLCLICKED, "dblclicked",MSGTYPE::ARGNONE,nil)
end
def listBox1_dblclicked
print "ダブルクリックしました" + $/
end
# def listBox1_clicked
# print "クリックしました" + $/
# end
end
ちなみにclickedは駄目みたいですね。selchangedとかぶるからかな?
106:デフォルトの名無しさん
06/08/24 02:34:29
すごいなvruby
おらワクワクしてきたぞ
107:デフォルトの名無しさん
06/08/24 02:35:32
BN_????はボタンのやつで、LBN_????がリストボックスのやつ
108:102
06/08/24 02:42:56
>>107
>BN_????はボタンのやつで、LBN_????がリストボックスのやつ
ほんとだ。また何か勘違いしているのか?<自分
109:102
06/08/24 02:52:24
>>105 ですが、やっぱり変でした。
>>105 でリストボックスをダブルクリックすると、
listBox1_dblclicked は通ることは通るんだけど、
ダブルクリックした直後には通らず、一回画面を別画面の裏側にするとか、
画面を終了させないとlistBox1_dblclickedが動作しないです。
変な物を貼ってお騒がせしてすみませんです。
110:デフォルトの名無しさん
06/08/24 03:04:19
ん?うまくいってるでしょ。LBN_KILLFOCUSの値になってるんじゃないかな
require '_frm_hogehoge'
module WMsg
LBN_SETFOCUS = 4
LBN_KILLFOCUS = 5
end
class Form1 ##__BY_FDVR
def self_created
@listBox1.addCommandHandler(WMsg::LBN_DBLCLK, "dblclicked",MSGTYPE::ARGNONE,nil)
@listBox1.addCommandHandler(WMsg::LBN_SETFOCUS, "gotfocus",MSGTYPE::ARGNONE,nil)
@listBox1.addCommandHandler(WMsg::LBN_KILLFOCUS, "lostfocus",MSGTYPE::ARGNONE,nil)
@listBox1.addString('みかん')
@listBox1.addString('りんご')
end
def listBox1_dblclicked
puts @listBox1.getTextOf(@listBox1.selectedIndex)
end
def listBox1_gotfocus; puts "gotfocus"; end
def listBox1_lostfocus; puts "lostfocus"; end
end ##__BY_FDVR
111:102
06/08/24 04:29:48
>>110
やっと正常に動作しました。どうやらフォーカスは無関係みたいです。
・BN_DBLCLICKEDじゃなくて、ちゃんとLBN_DBLCLKを使う。
・listboxに中身を入れる
(つまり>>110のソースどおり。LBN_SETFOCUS関係の設定は不要)
で、理想的に動作しました。
実は私はlistboxの中身を空っぽの状態でテストしていました(謝)。
そして、listboxの中身が空っぽだと、>>110のソースでも>>109の状態になります。
何もないところをダブルクリックすると、その時点ではlistBox1_dblclickedを通らず、
窓を閉じたり、別の窓の後ろに動かしてからlistBox1_dblclicked を通ります。
112:90
06/08/25 00:02:19
>>103
>>90 はVRFormじゃなくてダイアログ使うと出来る。(Formの代わりならmodelessか)
ダイアログにすることで、Alt+キーでボタンが押せました。情報ありがとうございました。
113:デフォルトの名無しさん
06/08/26 02:21:41
ちょっと質問ですが、
C#で書かれた.NETのプログラムがあり、ソースが公開されているとします。
このソースに手を加え、Rubyと通信できるようにして、RubyからC#のプログラムを
コントロールしたり監視したりしたいとき、.NET→Ruby間の通信方法は、何が一番適切でしょうか。
条件は、
・C#プログラム側で発生した変化を、出来るだけリアルタイムにRuby側で感知したい。
・Ruby側から.NETにも情報を渡したい(双方向の通信)。
・現時点では1台のマシンの中だけで閉じた状態のみを想定。
114:デフォルトの名無しさん
06/08/26 02:27:41
何が一番適切か?というのは、
・.NET、Ruby側ともその通信手段のライブラリが用意されており実装は容易。
・通信の切断、再接続など、出来るだけライブラリ内で吸収していて、あまり記述しなくてもいいのが理想的。
つまり、作成も管理も一番簡単なのはどれでしょうという質問です。
115:デフォルトの名無しさん
06/08/26 02:31:32
socket
116:デフォルトの名無しさん
06/08/27 04:10:41
fxruby1.6.0がラッパしてるfox-toolkitの1.6.0でUnicodeをサポートする
ようになったらWindows9系ではfxrubyのプログラムが動作しなくなった
URLリンク(fox-toolkit.net)
Windows 95/98/ME
FOX requires the Microsoft Layer for Unicode on Windows 95/98/Me Systems.
For more information see the [MSLU website].
なんかMSLUとか言うのをどうにかすればいいらしいけど
どうしたらいいの?
117:デフォルトの名無しさん
06/08/27 04:54:05
Microsoftがライブラリ配布してるからダウンロードしてインスコすれ
118:デフォルトの名無しさん
06/08/27 05:04:43
どっか説明してるサイトとかありますか?
119:デフォルトの名無しさん
06/08/27 06:22:39
ぐぐれ
120:デフォルトの名無しさん
06/08/27 06:55:54
ライブラリの名前だけでいいんだけど
unicows.dll ← これ?
121:デフォルトの名無しさん
06/08/27 22:31:03
vrubyの画面にwebbrowserを貼り付けるサンプルは、
URLリンク(vruby.sourceforge.net)にあるが、
vrubyの画面にexcelを貼り付けられないものだろうか?
と思って検索したら、
URLリンク(rd.search.goo.ne.jp)
に「VBとかだとExcelをフォームに貼り付けたりできたじゃん(おぼろげな記憶)。それはきっとOLEとか
ActiveXでできてるだろうからvrubyでも可能なはず。OLEブラウザで名前を調べてテストしたが、
うまくいかん。あれは本当にOLEだったのか?そのへん調べてみるとOLEコンテナというシロモノらしい。
だめぽい。」
とある。
vrubyの画面にexcelは貼り付けられないということでFA?
同じ発想でOOo.orgのcalcを貼り付けられないか調査中。OOo自体はActiveXとして使えるらしいが、
URLリンク(openoffice-docj.sourceforge.jp)
OLEブラウザをみても、それに当たる物が見つからない(OOoインストール時にActiveXは選択している。)
vruby以前の問題でうろうろしているが、成功例のサンプルとかどこかにある?
122:デフォルトの名無しさん
06/08/27 22:36:13
両方無理
123:デフォルトの名無しさん
06/08/27 22:52:38
>>121
リンク先は読んでないが、Excelは「OLEサーバ」。
OLEオートメーションを使うためには、入れ物が「OLEコンテナ」である必要がある。
vrubyの実装がどうなっているのか知らないけど、そうなってないなら出来ない。
COMやActiveXを使えるからといって、OLEオートメーションが出来るとは限らない。
C/C++だってそうでしょ?
124:デフォルトの名無しさん
06/08/28 00:18:32
>>122-123
無理っすかあ。残念。
125:113
06/08/28 03:13:02
>>115
socket が一番簡単ですか?同じマシンで閉じているので
ネットワーク通信ではなくプロセス間通信でもいいのですが。
>>121のActiveXの話をみて、113に書いた条件とは少し変わってしまいますが、
C#とrubyとの接続方法として、C#でActiveXコンポーネントを作成して
vrubyに貼り付けたりというのもあるのかもしれないと思いました。
126:デフォルトの名無しさん
06/08/29 09:45:56
VR(Vert|Horiz)TwoPaneでセパレータをドラッグしたときにゴミが残るのうちだけ?
@pane_2.moveしたときに再描画されなくてPatBltで描いた線が残ったままになってる。
もう一度PatBltして線を消すとか、@pane_2.refreshをするとかすればいいんだけど、
そうなってないってことは、うちの環境がおかしいの?
127:デフォルトの名無しさん
06/08/29 15:03:12
複数Excelファイルの集計とか、全部Rubyでやってるよ。
最初はVBAでやってたけど、Ruby使い出すともう戻れないねぇ・・・
でも、Visualプログラミングはまだやる気起きないなぁ。
Delphi6で不満な局面がないし
128:デフォルトの名無しさん
06/08/29 21:33:47
>>125
別にソケットはネットワーク通信専用じゃないけど
どうしてもいやならここらへんでも(つかったことないけど)
URLリンク(jp.rubyist.net)
>>126
これかね
URLリンク(vruby.sourceforge.net)
129:デフォルトの名無しさん
06/08/30 08:33:29
VRTwoPaneFrameは修正したけど、VRTwoPaneの方は修正してないみたいだね
130:デフォルトの名無しさん
06/08/30 08:44:06
>>127
王道はずしまくりですね
131:デフォルトの名無しさん
06/08/30 19:18:23
>>121
> vrubyの画面にwebbrowserを貼り付けるサンプルは、
> URLリンク(vruby.sourceforge.net)にあるが、
> vrubyの画面にexcelを貼り付けられないものだろうか?
とりあえず、vrubyの画面にexcelを貼り付ける方法を発見。
上記のURLリンク(vruby.sourceforge.net)にあるActiveXのサンプル画面で、
"URLリンク(www.yahoo.co.jp)
と書かれている部分を、
"file://c:\\test.xls"
のような、実在するexcelファイルを指定すれば出来る。
(そのパソコンのセキュリティの設定と関係してくるが。)
次に、ここで表示したexcelを、vruby側からコントロールしたいのだが、さてどうしたものか。
132:デフォルトの名無しさん
06/08/30 19:31:16
ActiveScriptRubyのActiveScript部分のみのインストール手順(必要なファイルとか登録するレジストリ情報とか)
とかってどこかにないですかね?
ActiveScriptRubyが入っていないPCでRubyで書いたHTAとかを動かしたいときに
関連物を全自動でさくっと登録したいです
133:デフォルトの名無しさん
06/08/30 22:07:00
>>132
artonさんのWikiに質問を書いてからblogのコメントに質問があるからWiki見ろゴルァとか書くと良いらしいと日記に書いてあったヨ。
>>131
documentを取得しようとするとExcelのインスタンスが取得できた稀ガス。
134:デフォルトの名無しさん
06/08/30 23:25:07
>>133
ちょっと試してみました。
@excel = @exp.ole_interface.Document # でExplorerAxControlのインスタンスからexcelを取り出し、
@sheet = @exp_document.Worksheets.Item("Sheet1") # で、シートを取り出し、
p @sheet.Cells.Item(3,2).Value # でC2のセルを表示
できました。
135:デフォルトの名無しさん
06/08/30 23:53:06
>>134
> @sheet = @exp_document.Worksheets.Item("Sheet1") # で、シートを取り出し、
は、
@sheet = @excel.Worksheets.Item("Sheet1") # で、シートを取り出し、
の間違いでした。
これが出来ると、excelの機能をまるまるvrubyのアプリケーションに使えそうで良い感じです。
136:デフォルトの名無しさん
06/09/03 09:45:06
Excelへの印刷まではrubyから制御してるんだけどさ、
プリンタのジョブが完了したとかあと何件残ってるとか監視したいんだけど
それはWin32OLEやASRで出来るもの? 無理?
どこから監視すればいいのかわからんとです。
137:デフォルトの名無しさん
06/09/03 12:29:06
>>136
コントロールパネルからプリンタの画面を見る。
ということが、Rubyから出来れば可能。出来なければ不可能。
138:デフォルトの名無しさん
06/09/03 12:36:58
URLリンク(www.tohoku.ricoh.co.jp)
win32apiの叩き方が分からないけど、こういうのがあった。
ユーザからしてみれば、ちょっとしたことだと思うんだけど
いざやってみようとすると敷居たかいのね orz
敷居が高いというか低レベルなところでゴニョゴニョしないとダメというか
ハンドルっていわれてもいまいち理解できていない今日この頃。
グチですまん
139:デフォルトの名無しさん
06/09/03 12:48:27
ネットワーク越しの対戦型囲碁ソフトってこれで作れます?
作れるけど困難?
GUIアプリは作ったことありません。プログラミング経験は、Perl と Ruby のCGIだけです。
C#とかを勉強して、Visual Studio で作る方が近道でしょうか?
140:デフォルトの名無しさん
06/09/03 13:00:07
できると思うけど…
GTPのライブラリはあるみたい?
URLリンク(www.hiroshima-pu.ac.jp)
141:デフォルトの名無しさん
06/09/03 14:16:42
>>139
140でFA
自力でやるなら、やり方によるがネットワークプログラミングはどっちでも変わらんと思う。
地道にやると何にしろ面倒。
dRubyを使ってもいいのならRubyのほうが楽だと思う。
142:デフォルトの名無しさん
06/09/03 14:36:14
GUIだからってかまえなきゃいいんじゃない?
Labelで○●+表示して、クリックイベント拾うとかw
通信を自前のメッセージにするのかGTPにも対応するかで
困難さはだいぶかわってくると思われ。
>>141が書いてるdRuby使った案だとViewをWin32ネイティブにも
CGIでのフロントエンドにもできていいんじゃない?
(256本網道編っぽい)
143:デフォルトの名無しさん
06/09/03 15:17:11
>>140-142
サンクス。
Rubyでやってみます。
144:デフォルトの名無しさん
06/09/08 07:35:28
pstoreがmswin32でバグってるてのは多用している自分にとってびっくりだった。
次バージョンでのバグ修正を期待します。
145:デフォルトの名無しさん
06/09/08 17:08:05
winユーザーには冷たいですから
146:デフォルトの名無しさん
06/09/08 21:00:38
one-click Ruby をインストールしているマシンに
ActiveScriptRubyをインストールしたらまずいことになりますか?
やはりone-click Rubyをアンインストールしたほうがいいのでしょうか?
147:デフォルトの名無しさん
06/09/08 22:37:25
パスが違えば問題ないんじゃない?
148:デフォルトの名無しさん
06/09/09 00:50:01
One-click をインストールすると、環境変数
RUBYOPT=-rubygems
が設定されるから、場合によっては不都合あるかもな
149:デフォルトの名無しさん
06/09/09 02:41:58
コマンドプロンプト毎に環境変数設定するバッチファイル書けば?
150:デフォルトの名無しさん
06/09/09 17:37:43
IronPython正式版が出たけど、はやくRubyも.NETで動くようにならないかなと期待。
URLリンク(plas.fit.qut.edu.au)
が一番、プロジェクトとして近いのかな?
151:デフォルトの名無しさん
06/09/09 20:14:04
>>150
IronRubyてのを聞いた気が…。
152:デフォルトの名無しさん
06/09/10 01:56:51
>>147
>>148
>>149
環境変数を弄ればいけそうなのですね。
挑戦してみます。
ありがとうございました。
153:デフォルトの名無しさん
06/09/12 05:24:29
なぜWin32API.soは小文字にしない
154:デフォルトの名無しさん
06/09/12 08:26:53
固有名詞
155:デフォルトの名無しさん
06/09/25 11:55:05
WinとかWINで統一感ないね
156:デフォルトの名無しさん
06/09/26 21:36:23
Win32APIのオブジェクトって
def playsound(filename, option = SND_SYNC)
api = Win32API.new('winmm.dll','sndPlaySoundA',%w(p i),'i')
api.call(filename, option)
end
より
def playsound(filename, option = SND_SYNC)
$win32playsound ||= Win32API.new('winmm.dll','sndPlaySoundA',%w(p i),'i')
$win32playsound.call(filename, option)
end
みたいにして使いまわしたほうがいいんですかね。
オブジェクトの生成って重いんですか?
157:デフォルトの名無しさん
06/09/26 21:44:17
なぜ試さない/コードを見ないんだろう
158:デフォルトの名無しさん
06/09/26 22:15:06
定数でいいんでねか
159:デフォルトの名無しさん
06/10/02 16:26:16
USB Joypad を ruby上で利用する方法探してます。
ライブラリないしサンプルとなるコードってどっかにないですか?
160:デフォルトの名無しさん
06/10/02 21:24:23
SDLを使うとか?
161:デフォルトの名無しさん
06/10/02 21:26:31
っ URLリンク(www.kmc.gr.jp)
162:デフォルトの名無しさん
06/10/06 11:31:39
ruby -e "`cls`"
でcmd窓がクリアされないんですが他にいいやり方ないですか
163:デフォルトの名無しさん
06/10/06 11:55:04
ruby -e "system('cls')"
164:デフォルトの名無しさん
06/10/17 04:58:43
東京大学教養課程の第一プログラミング言語がRubyに
URLリンク(d.hatena.ne.jp)
URLリンク(b.hatena.ne.jp)
165:デフォルトの名無しさん
06/10/29 16:36:57
RubyでDDEを直接扱うライブラリありますか?
vrubyのGUI経由でのライブラリがあるのは知っているのですが、
データをrequestするメソッドと返り値をとるメソッドが分かれてしまっているのが
使いづらくて・・・。
166:デフォルトの名無しさん
06/11/06 21:16:53
Win32APIをDLで置き換えるってのはいつから?
167:デフォルトの名無しさん
06/11/07 02:17:53
もう置き換えてるはずなんだがな。
168:デフォルトの名無しさん
06/11/16 01:53:02
いまさらだけど
vruby061102リリース記念age
169:デフォルトの名無しさん
06/12/03 19:43:36
Bad file descriptor - connect(2) (Errno::EBADF)が出やすいのはwindowsだから?
170:デフォルトの名無しさん
06/12/04 02:12:53
なんかどっかで聞いたことあるな
Threadの中でやるとよくないんだっけ?
171:デフォルトの名無しさん
06/12/05 09:01:56
俺の中ではgemが出すエラーだな。
rubyforgeが落ちてる時の。
172:デフォルトの名無しさん
06/12/10 04:27:31
ネット系は至る所からTimout::Errorがやってくる恐怖のライブラリ
173:ビジネスニュース+
06/12/26 03:21:13
ビジネスニュース+ 板
URLリンク(news18.2ch.net)
【ネット】「Windows Vista」からネット経由でセブンイレブンのコピー機にプリントアウト![12/25]
スレリンク(bizplus板)
174:デフォルトの名無しさん
06/12/26 04:18:38
Apolo使ってる人いる?
175:デフォルトの名無しさん
06/12/26 08:25:58
>>174
visualuよりもお手軽だしDelphi部品使えるから、たまに使うけど、
Apollo側からgem使うのがメンドイので、ふつーのmingw版と
共存させてる(おかげでPATHの関係でたまにハマる)
176:デフォルトの名無しさん
07/01/04 10:34:07
Apoloに関しては、
別にDelphiだけでいいじゃんという究極の問題点があるからな
無論、正規表現とかを使いたいときはありだけどさ
177:デフォルトの名無しさん
07/01/04 10:55:57
つーかDelでも正規表現使えるように環境整備しとけって。
178:デフォルトの名無しさん
07/01/08 01:56:39
まあ、単発のユーティリティとか、プロトタイピングでしかRubyつかってないからなあ、俺は。
GUIは、Delphiでいいやという気もする
179:デフォルトの名無しさん
07/01/09 02:44:11
DelphiとPascalは死んだみたい
URLリンク(www.tiobe.com)
180:デフォルトの名無しさん
07/01/09 23:08:01
exerb 4.1.0 上げ
181:デフォルトの名無しさん
07/01/09 23:55:22
VisualuRubyのフォーム作りはFormDesignerが一番楽なのか?
更新止まってるが、代替アプリやスクリプトってないよね。
182:デフォルトの名無しさん
07/01/10 03:09:17
exerbキター
183:デフォルトの名無しさん
07/01/10 21:43:17
VisualuRubyのフォーム作りはFormDesignerが一番楽なのか?
更新止まってるが、代替アプリやスクリプトってないよね。
184:デフォルトの名無しさん
07/01/10 22:38:13
ラクっつか、それしかないんじゃ?
(VBだのDelphiだのみたいに)かゆいとこまでは手が届かないから
細かいとこは結局手でいぢってるけど、おおまかな部分をつくるものだと
おもって、あんまり気にしてないや
185:デフォルトの名無しさん
07/01/10 22:43:50
ごめん。1日遅れの二重投稿してたorz
今気づいて自分の目を疑った。
186:デフォルトの名無しさん
07/01/12 22:16:42
ActiveScriptRubyをアップデートするために1.8.4をアンインストールしたらMS系のアプリがやられた。
.NET FrameWork とかスクリプティングホストで使ってる共用ライブラリも巻き込んでないか?
187:デフォルトの名無しさん
07/01/18 22:59:34
FormDesignerがいよいよ更新再開?
URLリンク(yslab.atnifty.com)
188:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/01/19 01:59:27
そーいえば俺も困ったことになった
アップグレードしようとしたらインストーラがInternal Error吐くようになったり。
レジストリの手動削除を試してみるといい
HKEY_CURRENT_USER\Software\Microsoft\Installer\
配下にActiveRubyが作ったエントリがあるからそいつを手動削除
189:デフォルトの名無しさん
07/01/31 01:21:15
rubygemsはもっと高速化できぬものか
190:デフォルトの名無しさん
07/02/02 02:02:06
win32api と win32module だけでテキストボックスの中身を取得しようとするとどうすればいいんでしょうか?
require 'win32/user32'
include Win32
hWND = 11111 # ハンドル
str = " "*255
SendMessage.call( hWND, WM_GETTEXT, 255, str)
としてはいけないんですよね。
格納先をアドレスで指定しなければならないのですよね?
うまいことstrをAPIに渡してやる方法はないでしょうか。
191:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/02/02 02:13:42
GetWindowTextA = Win32API.new('user32','GetWindowTextA','LPI','I')
buf = "\0" * 500
code = GetWindowTextA.call(hwnd, buf, buf.size)
text = buf.unpack("A*").first
192:デフォルトの名無しさん
07/02/02 02:33:21
早速のお返事ありがとうございます。
しかし、それだとキャプションしか拾えないようですorz
193:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6
07/02/02 02:55:26
ん?
エディットコントロールのハンドルに対してGetWindowTextもしくはWM_GETTEXTやると
テキストを取得する動作になる
194:デフォルトの名無しさん
07/02/02 03:16:22
プロセスが違う場合、共有メモリとかほげほげ
195:デフォルトの名無しさん
07/02/10 11:21:11
win32oleを使ってExcelファイルを読み込むプログラムを高速化したいのですが
どうすれば速くなりますか?
読んだ後は、テキストファイルに書くだけです。
同じような構造のシートを10シート以上読み込むことがあります。
一つのシートは大体、100columns*100rowsより大きなサイズです。
全てのシートを読んだ後、データを整理して望むフォーマットで出力します。
プロファイルを取った結果、読み込んでいる部分が遅いという判断に至りました。
Rubyのバージョンは1.8.5です。
質問なのでageさせていただきます。
196:デフォルトの名無しさん
07/02/10 12:43:16
まずは読み込んで書き出す部分のソースを見ないことには何とも言えない。
コーディングが悪いのか、RubyとCOMの組み合わせの限界なのか。
197:デフォルトの名無しさん
07/02/10 12:44:58
OLEだと遅いよねー。
ODBCに登録してからの呼び出しだとアンマリ変わんないかな。
ヘタレなので元のExcel側でCSV書き出ししてから
rubyで処理するとかしか思いつきません。
198:デフォルトの名無しさん
07/02/10 15:05:49
で、あと何年待ったらパス区切り文字のデフォルトが\にならないバグが改善されるの?
199:デフォルトの名無しさん
07/02/10 22:59:42
バグじゃないから仕様変更の理由を添えて開発陣を説き伏せない限り一生変わりませんが
200:デフォルトの名無しさん
07/02/10 23:16:12
Matzにっきを読むとわかるが、反論の仕方が「〜〜で十分」なので、言うだけ虚しい。
201:デフォルトの名無しさん
07/02/11 18:28:35
現在、vrubyでランチャーのような物を作っています。
値を入力してボタンをクリックすると
コマンドラインからソフトを立ち上げ、入力フォームを非表示、又は消去したいんです。
何かに対して、Visible = false をするのかなと思うのですがうまくいきません。
MyForm < VRForm という形で宣言しています。
どうぞよろしくお願いします。
202:デフォルトの名無しさん
07/02/11 19:25:56
非表示は、form.visible = false みたいな感じだと思う
vrubyだったらhideとか定義されてたはず
203:201
07/02/11 21:26:08
>>202 ありがとうございます!
さっそくhide = true なぞを試してみます!
204:デフォルトの名無しさん
07/02/11 21:37:42
hide() だよ
205:デフォルトの名無しさん
07/02/12 13:04:12
>>193
>>194
遅くなりましたがありがとうございます。
確かに外部ソフトのeditコントロール内のテキストを拾おうとしています。
ruby+apiだけでは無理でしょうか。
ProgIDも見つからず、どうやらCOMサーバとして使用することは不可能なようです。
やりたいこと
VB(ver.5)で作られた外部ソフトのeditコントロールに入力された文字列を拾いたい。
WinSpectorで調べたクラス名:ThunderRT5TextBox
206:デフォルトの名無しさん
07/02/20 23:29:27
WinXPSP2で
Dir.glob('C:/本/*')だと何も引っかからないが、
Dir.chdir('C:/本');Dir.glob('*')だと正常に読める。
なんで?
207:デフォルトの名無しさん
07/02/21 01:05:31
$KCODEは?
208:デフォルトの名無しさん
07/02/21 02:13:30
>>206,207
SJISIでそ。
「本」の2バイト目が'{'と同じなので、誤判定していると思われ。
209:デフォルトの名無しさん
07/02/21 02:27:00
1.8.6で解決しそうなふいんき(←なぜか変換できない)
210:デフォルトの名無しさん
07/02/21 07:54:30
>>209
> ふいんき(←なぜか変換できない)
このネタいいかげんウザイw
211:デフォルトの名無しさん
07/02/21 17:18:25
206みたいな前世紀的ネタで七転八倒する言語のスレだからな
212:デフォルトの名無しさん
07/02/21 18:18:59
Rubyに限らず文字コードまわりはまだしばらく課題となるだろうが、
今ソース見てるんだけどglobにはダメ文字の対処がないな。
213:デフォルトの名無しさん
07/02/22 01:31:33
>>212
どのソース?
>>209のいうとおり1.8.6で対応したものが入るものだと思うんだけど。
214:デフォルトの名無しさん
07/02/22 01:41:01
>>213
あー、CVS見てた。
もうsvnだもんな。
忘れてた。
215:デフォルトの名無しさん
07/03/05 13:48:16
age
216:デフォルトの名無しさん
07/03/31 01:30:13
>gem install rails
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Bad file descriptor - connect(2)(Errno::EBADF)
インストールできないです。
FW全てカット セキュリティ関連ソフトも起動せずにやっても変わりません。
ちなみにプロキシは無い環境です。
217:デフォルトの名無しさん
07/03/31 05:54:09
>>216
何故、誰も見てないここで聞く?
gemの他のコマンドは利く?
gem search rails --remote
とか
218:デフォルトの名無しさん
07/04/01 21:39:14
>>217
サンクス
他で聞きます。
219:デフォルトの名無しさん
07/05/06 11:40:49
>216
rubyについては今日始めてプログラム板に来ました。
他で聞かれたようですね。串で経験があるという人がいましたね。解決済み
でしょうか。
私は、先月中旬から数日間Windows+Oracle10g環境で「Railsによるアジャイル
Webアプリケーション開発」という本の100ページまで試してみた者です。
(その後rubyを触る時間がなくて放っています)
私も同様のエラーが出た記憶があります。
他で答えていた人がいるようにプロキシが悪さをしている可能性があります。
私が覚えているrubyに関する変わった作業は、以下の二つです。
1)環境変数をさわりpathを通した。
2)gem installする時に(会社で時間外に試していたのですが)、プロキシ
不要の線から外に繋いだ。
Oracleに関しては100ページまでは以下の三つが変わった作業でした。
1)本にあるMySQL用のcreate table文やrbファイルの命令をOracle用に変更
2)table毎に順序オブジェクトを作成(例:line_items→line_items_seq)
3)NLS_LANGをAL32UTF8に変更
他の環境との関係もあり面倒なので、コマンドプロンプト内で変更
しています。
例)
>SET NLS_LANG=JAPANESE_JAPAN.AL32UTF8
>ruby script/server
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4372日前に更新/175 KB
担当:undef