Indexへ
(9469)//【9462】→(9468)
------------------------
【タイトル】■【保存して終了】■ ボタン
【記事番号】 9462 (*)
【 日時 】07/04/21 09:40
【 発言者 】shell

 JWW作者様、ユーザーの皆さん (^o^)

 普段から、趣味と実益でjwwを使わさせていただいています、感謝(^o^) 。

 ところで、表題のような、【保存して終了】ボタンですが、現バージョンではないように思います(多分)。
 もし作者さんの意向にかなうようでしたら、検討して頂けないでしょうか。少しでもJWWの操作を簡略化できれば有りがたいと思いまして…

 横着なユーザーσ(^^)で申し訳ありません。


Indexへ
(9462)←【9468】→(9473)
------------------------
【タイトル】Re(1):■【保存して終了】■ ボタン
【記事番号】 9468 (9462)
【 日時 】07/04/21 12:26
【 発言者 】k3

▼shellさん:
> JWW作者様、ユーザーの皆さん (^o^)
>
> 普段から、趣味と実益でjwwを使わさせていただいています、感謝(^o^) 。
>
> ところで、表題のような、【保存して終了】ボタンですが、現バージョンではないように思います(多分)。
> もし作者さんの意向にかなうようでしたら、検討して頂けないでしょうか。少しでもJWWの操作を簡略化できれば有りがたいと思いまして…
>
> 横着なユーザーσ(^^)で申し訳ありません。

もし「上書保存して終了」ボタンだとすると
上書きしたくないときに
間違って、ボタンを押してしまうと
ちょっと怖い気がしますね。。。
まあ、bakファイルがあるので
復旧はできますが。。。。
微妙です。


Indexへ
(9468)←【9473】→(9474)
------------------------
【タイトル】Re(2):■【保存して終了】■ ボタン
【記事番号】 9473 (9468)
【 日時 】07/04/21 19:04
【 発言者 】shell

▼k3さん:

 RES有難う御座います。

>もし「上書保存して終了」ボタンだとすると
>上書きしたくないときに
>間違って、ボタンを押してしまうと
>ちょっと怖い気がしますね。。。

 上書きしたくないときに「上書き保存して終了」ボタンを押す危険性は、上書きしたくないときに、(現在もある)「上書き保存」ボタンを押す危険性と全く等価でしょうから、k3さんのおっしゃる心配は不要だと思います…。


Indexへ
(9473)←【9474】→(9475)
------------------------
【タイトル】Re(3):■【保存して終了】■ ボタン
【記事番号】 9474 (9473)
【 日時 】07/04/21 21:32
【 発言者 】cap

▼shellさん:
JWWは、「上書き」保存しても、「戻る」で戻すことができます。
終了してしまっては、折角のJWWの機能である「上書き保存しても過去に戻る」ことが
できません。k3さんは、そのことをいっているのです。


Indexへ
(9474)←【9475】→(9480)
------------------------
【タイトル】Re(4):■【保存して終了】■ ボタン
【記事番号】 9475 (9474)
【 日時 】07/04/21 21:50
【 発言者 】shell

▼capさん:
>▼shellさん:
>JWWは、「上書き」保存しても、「戻る」で戻すことができます。
>終了してしまっては、折角のJWWの機能である「上書き保存しても過去に戻る」ことが
>できません。k3さんは、そのことをいっているのです。

 あ、そうでしたか (^^;

 「私の場合」は、jokerさんのツリーで書いた、「保存して終了」の他に、「全保存終了」でさえ比較的常用していますので、今回のような発言(提案)を思い立ったのですが…

 実際の話、いまの JWW の機能に完全に満足していますので、今回の「提案」はいささか勇み足でした。 皆様、失礼しました m(__)m


Indexへ
(9475)←【9480】→(9483)
------------------------
【タイトル】Re(5):■【保存して終了】■ ボタン
【記事番号】 9480 (9475)
【 日時 】07/04/22 16:22
【 発言者 】cap

▼shellさん:
勇み足といううこともないと思います。
新機能追加提案でよろしいのではないですか。
たとえば、参照するだけの画面を10個ほど開いているときなど
は、用がすめば、不要なものです。一気に消して(終了)しまう
ことができればすっきりです。


Indexへ
(9480)←【9483】→(9470)
------------------------
【タイトル】Re(6):余談ですが
【記事番号】 9483 (9480)
【 日時 】07/04/23 13:07
【 発言者 】コジマ

▼capさん:
>たとえば、参照するだけの画面を10個ほど開いているときなど
>は、用がすめば、不要なものです。一気に消して(終了)しまう
>ことができればすっきりです。


私は、Ctrl+Alt+Del キーで、タスクマネージャーを起動して
Shiftキー を押して一括選択して「タスクの終了」をクリックしています。


Indexへ
(9483)←【9470】→(9472)
------------------------
【タイトル】Re(1):■【保存して終了】■ ボタン
【記事番号】 9470 (9462)
【 日時 】07/04/21 16:13
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼shellさん:
> 【保存して終了】ボタンですが、現バージョンではないように思います(多分)。

画面左上の[×]をクリックして終了しようとしたら、
図面編集をしていると「保存しますか?」ってダイアログが出ますので
「はい」を選ぶと、保存終了となります。

が、まぁそれはご承知だと思います。(^^;)

Windowsのその他の一般アプリでもあまり見かけませんけれど、
私の使っている市販のテキストエディタには、「上書き保存して終了」
というメニューがあります。

また、SendKey/SendMessageを使って JWWをコントロールさせるソフトを
使っている場合には、上書き保存(CTRL+S)をして、終了(MENU+X)を
させるようにすれば 実現可能だと思います。
WSHとかを使えば比較的簡単に出来るのではないか、とかいう話を
これまでに何度か聞いたように記憶しています。


Indexへ
(9470)←【9472】→(9478)
------------------------
【タイトル】Re(2):■【保存して終了】■ ボタン
【記事番号】 9472 (9470)
【 日時 】07/04/21 18:59
【 発言者 】shell

▼jokerさん:
>▼shellさん:
>> 【保存して終了】ボタンですが、現バージョンではないように思います(多分)。
>
>私の使っている市販のテキストエディタには、「上書き保存して終了」
>というメニューがあります。

 RES有難う御座います。
 そのエディタは例えば秀丸でしょうか。
 「保存して終了」の他に、「全保存終了」というおっかないボタンもありますが、実は、私のイメージもこの秀丸の「保存して終了」のようなモノです。
 その段階で開いていた図面を全て上書き保存して終了させる「全保存終了」は、さすがに JWW には危険すぎますが… (^^;


Indexへ
(9472)←【9478】→(9486)
------------------------
【タイトル】Re(3):■【保存して終了】■ ボタン
【記事番号】 9478 (9472)
【 日時 】07/04/22 03:42
【 発言者 】coolyoppe

> その段階で開いていた図面を全て上書き保存して終了させる「全保存終了」は、さすがに JWW には危険すぎますが… (^^;

こんにちは。

JWWの場合、ファイルは1つしか開けないので「全保存終了」は
実現するにしても複数ファイルに対応してからということになるかと
思います。

さて、jokerさんの回答にあるWSH(Windows Script Host)で動く、
「JWW保存して終了」VBSスクリプトを作成してみたので、
よかったらお試し下さい。

以下(「'実行手順」から最後)の内容をファイル「JWW_SaveQuit.vbs」
として保存して下さい。(拡張子が「.vbs」なら名前は任意でOK。)
(このVBSファイルのショートカットを作成して、スタートメニューや
タスクバーの「クイック起動」に登録しておくと素早く実行できます。
うまくいかない場合は、待ち時間の値を200とか長い設定にしてみて
下さい。)

'実行手順
'JWWは起動(最小化せず)したままで、このVBSファイルを実行。
'(このVBSファイルのショートカットを作成して、スタートメニューや
'タスクバーの「クイック起動」に登録しておくと素早く実行できます。)

'待ち時間設定(1ステップ当たりの実行スピード)
'次の数値(ミリ秒単位)を調整して下さい。(100=0.1秒)
MATI = 100
'※あまり速くすると、設定が追いつかなくなります。

'※※以下のスクリプトは変更しないで下さい。
'JWW「上書き保存して終了」スクリプト
On Error Resume next
set WshShell = WScript.CreateObject("WScript.Shell")
a = WshShell.AppActivate ("jw_win")
if a = False then
a = MsgBox("jw_winが起動していません。" & vbCR _
& "起動後に実行して下さい。",48,"実行注意!")
WScript.Quit
end if

'メニュー「ファイル(F)」、「上書き保存(S)」実行
WshShell.SendKeys "%fs"
WScript.Sleep MATI
'メニュー「ファイル(F)」、「アプリケーションの終了(X)」実行
WshShell.SendKeys "%fx"
WScript.Quit


Indexへ
(9478)←【9486】→(9490)
------------------------
【タイトル】Re(4):■【保存して終了】■ ボタン
【記事番号】 9486 (9478)
【 日時 】07/04/23 18:08
【 発言者 】shell

▼coolyoppeさん:
>JWWの場合、ファイルは1つしか開けないので「全保存終了」は
>実現するにしても複数ファイルに対応してからということになるかと
>思います。

 たしかに、私は、「複数ファイルを開く」のと、「複数のjwwを立ち上げる」との混同をしていました。

>さて、jokerさんの回答にあるWSH(Windows Script Host)で動く、
>「JWW保存して終了」VBSスクリプトを作成してみたので、
>よかったらお試し下さい。

 早速試してみました(^o^)
 うまく作動します。有難う御座います。


Indexへ
(9486)←【9490】→(9491)
------------------------
【タイトル】Re(4)マイツールバー
【記事番号】 9490 (9478)
【 日時 】07/04/24 11:57
【 発言者 】コジマ

▼coolyoppeさん:

>'メニュー「ファイル(F)」、「上書き保存(S)」実行
>WshShell.SendKeys "%fs"
>WScript.Sleep MATI
>'メニュー「ファイル(F)」、「アプリケーションの終了(X)」実行
>WshShell.SendKeys "%fx"
>WScript.Quit

初めてこの機能を知りましたが、
WScriptのSendKeysを応用すると、自前のツールバーが作れそうですね。


◎my_toolbar.rb


require 'win32ole'
require 'vr/vruby'
require 'vr/vrcontrol'
$shell = WIN32OLE.new("WScript.Shell")
def tool(array)
    a=$shell.AppActivate("jw_win")
    if a==true
        array.each{|item|
            sleep(0.1)
            $shell.Sendkeys(item)
        }
    else
        messageBox("jw_winが起動していません")
    end
end
module Frm_form1
    def construct
      self.caption = 'my_toolbar'
      self.move(75,603,907,77)
      self.top(0xffffffff)
      addControl(VRButton,'button1',"/",16,8,48,32,1350565888)
      addControl(VRButton,'button2',"□",80,8,48,32,1350565888)
      addControl(VRButton,'button3',"○",144,8,48,32,1350565888)
      addControl(VRButton,'button4',"パラメ",208,8,48,32,1350565888)
      addControl(VRButton,'button5',"記変",272,8,48,32,1350565888)
      addControl(VRButton,'button6',"複写",336,8,48,32,1350565888)
      addControl(VRButton,'button7',"移動",400,8,48,32,1350565888)
      addControl(VRButton,'button8',"複線",464,8,48,32,1350565888)
      addControl(VRButton,'button9',"2線",528,8,48,32,1350565888)
      addControl(VRButton,'button10',"保存して終了",592,8,110,32,1350565888)
    end
    def    button1_clicked
        tool(["%ds"])
    end
    def button2_clicked
        tool(["%db"])
    end
    def button3_clicked
        tool(["%dc"])
    end
    def button4_clicked
        tool(["%ap"])
    end
    def button5_clicked
        tool(["%as"])
    end
    def button6_clicked
        tool(["%ez"])
    end
    def button7_clicked
        tool(["%ei"])
    end
    def button8_clicked
        tool(["%ef"])
    end
    def button9_clicked
        tool(["%dw"])
    end
    def button10_clicked
        tool(["%fs","%fx"])
    end
end
VRLocalScreen.start Frm_form1


Indexへ
(9490)←【9491】→(9492)
------------------------
【タイトル】Re(1):Re(4)マイツールバー
【記事番号】 9491 (9490)
【 日時 】07/04/24 21:26
【 発言者 】coolyoppe

>>'メニュー「ファイル(F)」、「上書き保存(S)」実行
>>WshShell.SendKeys "%fs"
>>WScript.Sleep MATI
>>'メニュー「ファイル(F)」、「アプリケーションの終了(X)」実行
>>WshShell.SendKeys "%fx"
>>WScript.Quit
>
>初めてこの機能を知りましたが、
>WScriptのSendKeysを応用すると、自前のツールバーが作れそうですね。
>

こんにちは。

いつも有用なツールを公開していただきありがとうございます。

早速試してみました。
面白いですね!
ボタン名と、それに対応するボタンのtool([キー])のキー部分を
変更すればカスタマイズ出来るのですね!

キーの部分はWSHのSendKeysの仕様で良いようですが、
「Alt」キー=「%」
「Shift」=「+」
「Ctrl」=「^」
これらで、メニューだけでなくキーコマンドでも試してみましたが
うまく動きました。(ということで外変も個別に起動できますね!)
カスタマイズしたスクリプトは別名で保存しておけば、
複数起動して複数のマイツールバーも表示できますね。

ただ、「Tab」キーとかだと、WSHのSendKeysの仕様では
"{TAB}" という記述になるのですが、
rubyで"{TAB}"を伝えるためには、どのように記述すれば
よろしいでしょうか?

また、ツールバーは、
move(75,603,907,77)のところで、
(横位置(左から)、縦位置(上から)、横サイズ、縦サイズ)
ボタンは、
〜,"/",16,8,48,32,〜のところで、
横位置(ツールバー左から)、縦位置(同上から)、横サイズ、縦サイズ
ということでよろしいでしょうか?
(ということなら、縦長のツールバーにもカスタマイズ可能ですね。)

ちなみに、AFさんの「JWC MENU もどき」と「JwwMenu」で
「上書き保存」して「終了」を簡単に登録して実行できるようです。
http://blog.livedoor.jp/afsoft/archives/50964795.html
ソフトはこちら。
http://afsoft.jp/


Indexへ
(9491)←【9492】→(9493)
------------------------
【タイトル】Re(2):Re(4)マイツールバー
【記事番号】 9492 (9491)
【 日時 】07/04/24 23:54
【 発言者 】コジマ

▼coolyoppeさん:
>キーの部分はWSHのSendKeysの仕様で良いようですが、
>「Alt」キー=「%」
>「Shift」=「+」
>「Ctrl」=「^」
>これらで、メニューだけでなくキーコマンドでも試してみましたが
>うまく動きました。(ということで外変も個別に起動できますね!)
>カスタマイズしたスクリプトは別名で保存しておけば、
>複数起動して複数のマイツールバーも表示できますね。
>
>ただ、「Tab」キーとかだと、WSHのSendKeysの仕様では
>"{TAB}" という記述になるのですが、
>rubyで"{TAB}"を伝えるためには、どのように記述すれば
>よろしいでしょうか?
>

助田様作の 拡張ライブラリ 'win32ole' をrequireして
WSHの仕様をrubyで使用でしています。
('win32ole'のおかげで、rubyは、EXCELやWORDなどとも連携可能なのです)

>また、ツールバーは、
>move(75,603,907,77)のところで、
>(横位置(左から)、縦位置(上から)、横サイズ、縦サイズ)
>ボタンは、
>〜,"/",16,8,48,32,〜のところで、
>横位置(ツールバー左から)、縦位置(同上から)、横サイズ、縦サイズ
>ということでよろしいでしょうか?

そのとおりです。

>ちなみに、AFさんの「JWC MENU もどき」と「JwwMenu」で
>「上書き保存」して「終了」を簡単に登録して実行できるようです。
>http://blog.livedoor.jp/afsoft/archives/50964795.html

すでに公開されていたのですか。
SendKeysの活用だったのですか、知らなかったー。


Indexへ
(9492)←【9493】→(9494)
------------------------
【タイトル】Re(2):Re(4)マイツールバー
【記事番号】 9493 (9491)
【 日時 】07/04/24 23:55
【 発言者 】コジマ

▼coolyoppeさん:
>キーの部分はWSHのSendKeysの仕様で良いようですが、
>「Alt」キー=「%」
>「Shift」=「+」
>「Ctrl」=「^」
>これらで、メニューだけでなくキーコマンドでも試してみましたが
>うまく動きました。(ということで外変も個別に起動できますね!)
>カスタマイズしたスクリプトは別名で保存しておけば、
>複数起動して複数のマイツールバーも表示できますね。
>
>ただ、「Tab」キーとかだと、WSHのSendKeysの仕様では
>"{TAB}" という記述になるのですが、
>rubyで"{TAB}"を伝えるためには、どのように記述すれば
>よろしいでしょうか?
>

助田様作の 拡張ライブラリ 'win32ole' をrequireして
WSHの仕様をrubyで使用でしています。
('win32ole'のおかげで、rubyは、EXCELやWORDなどとも連携可能なのです)

>また、ツールバーは、
>move(75,603,907,77)のところで、
>(横位置(左から)、縦位置(上から)、横サイズ、縦サイズ)
>ボタンは、
>〜,"/",16,8,48,32,〜のところで、
>横位置(ツールバー左から)、縦位置(同上から)、横サイズ、縦サイズ
>ということでよろしいでしょうか?

そのとおりです。

>ちなみに、AFさんの「JWC MENU もどき」と「JwwMenu」で
>「上書き保存」して「終了」を簡単に登録して実行できるようです。
>http://blog.livedoor.jp/afsoft/archives/50964795.html

SendKeysの活用だったのですか、知らなかったー。


Indexへ
(9493)←【9494】→(9495)
------------------------
【タイトル】Re(3):Re(4)マイツールバー
【記事番号】 9494 (9493)
【 日時 】07/04/25 02:45
【 発言者 】coolyoppe

>>ただ、「Tab」キーとかだと、WSHのSendKeysの仕様では
>>"{TAB}" という記述になるのですが、
>>rubyで"{TAB}"を伝えるためには、どのように記述すれば
>>よろしいでしょうか?
>>
>
>助田様作の 拡張ライブラリ 'win32ole' をrequireして
>WSHの仕様をrubyで使用でしています。
>('win32ole'のおかげで、rubyは、EXCELやWORDなどとも連携可能なのです)

何度もすみません。
下記のようキーの送信で、例えばTABキー3回押す場合
(属性取得と属性表示)
tool(["{TAB 3}"])
だとエラーになるようなのでお聞きしたかったのですが、
tool(['{TAB 3}'])
「"」(ダブルクォート)ではなく「'」(シングルクォート)
で囲むと良いようですが・・・?

キー     コード
BACKSPACE = {BACKSPACE}、{BS}、または {BKSP}
BREAK = {BREAK}
CAPS LOCK = {CAPSLOCK}
DEL or DELETE = {DELETE} または {DEL}
END = {END}
ENTER = {ENTER} または ~
ESC = {ESC}
HELP = {HELP}
HOME = {HOME}
INS or INSERT = {INSERT} または {INS}
↑(UP ARROW) = {UP}
←(LEFT ARROW) = {LEFT}
↓(DOWN ARROW) = {DOWN}
→(RIGHT ARROW) = {RIGHT}
NUM LOCK = {NUMLOCK}
PAGE DOWN = {PGDN}
PAGE UP = {PGUP}
PRINT SCREEN = {PRTSC}
SCROLL LOCK = {SCROLLLOCK}
TAB = {TAB}
F1 = {F1}
F2 = {F2}
F3 = {F3}
F4 = {F4}
F5 = {F5}
F6 = {F6}
F7 = {F7}
F8 = {F8}
F9 = {F9}
F10 = {F10}
F11 = {F11}
F12 = {F12}
F13 = {F13}
F14 = {F14}
F15 = {F15}
F16 = {F16}


Indexへ
(9494)←【9495】→(9502)
------------------------
【タイトル】Re(4):Re(4)マイツールバー
【記事番号】 9495 (9494)
【 日時 】07/04/25 10:52
【 発言者 】元丼屋店長
【 リンク 】http://gravelroad.yh.land.to/



おもしろそうなので横から失礼します。

>tool(['{TAB 3}'])
>「"」(ダブルクォート)ではなく「'」(シングルクォート)
>で囲むと良いようですが・・・?

Ruby の引用符はダブルクォートだと、Ruby 変数の展開動作をしますので、
シングルクオートで正解だと思います。
送信するデータの中に Ruby 側の変数を組み込みたい場合にはダブルクオート
を利用するとスマートな記述が出来ます。

蛇足ですが、偶然的に類似したスクリプトを現在 Ruby で書いています。
API レベルの話だけかもしれませんが、Vista だと SendKeys が実行権限の
問題で動作しないという話があるようですが、WSH だとどうなんでしょうか?
自分のスクリプトでは、一応 ketbd_event という API を利用しています。
まあ、環境全体としての Vista 対応はまだまだ先でしょうから、いらぬ
心配だとは思いますが、Vista バンドルの PC が一気に出回ると現実的な
問題になってくるかもしれませんね。


Indexへ
(9495)←【9502】→(9505)
------------------------
【タイトル】Re(5):Re(4)マイツールバー
【記事番号】 9502 (9495)
【 日時 】07/04/25 18:39
【 発言者 】コジマ

▼元丼屋店長さん:
>Ruby の引用符はダブルクォートだと、Ruby 変数の展開動作をしますので、
>シングルクオートで正解だと思います。
>送信するデータの中に Ruby 側の変数を組み込みたい場合にはダブルクオート
>を利用するとスマートな記述が出来ます。
>

牛渡様ですよね?
フォローアップ有難うございます。

式展開 "#{変数名}" は、よく使用していますが、"{}"もその影響を受けるとは知りませんでした。
はっきり言うと、未だに シングルクオートとダブルクォートの違いをよく理解していないのですが。

話は変わりますが、「外部変形作成講座」の入門編は、無くなっていますね。
EXCEL操作も「外部変形作成講座」で知りましたので残念な気がします。


Indexへ
(9502)←【9505】→(9508)
------------------------
【タイトル】Re(6): ruby 談義
【記事番号】 9505 (9502)
【 日時 】07/04/26 01:20
【 発言者 】元丼屋店長
【 リンク 】http://gravelroad.yh.land.to/



すいません。動作検証もせず書いてしまいました...。
確かに # のつかない {} は式展開の影響を受けません。

当方では tool(["{TAB 3}"] ) で特にエラーは発生しませんでした。

クォートに関しては、おっしゃる通り #{} と ¥(バックスラッシュ)の
エスケープ文字について注意して使い分ければ問題ないと思います。

ruby 外変講座はどちらも中途半端な感じになってしまっているので、
そのうち、内容を精査して再掲したいと思っています。


Indexへ
(9505)←【9508】→(9511)
------------------------
【タイトル】Re(7): ruby 談義
【記事番号】 9508 (9505)
【 日時 】07/04/26 03:40
【 発言者 】coolyoppe

▼元丼屋店長さん:
>すいません。動作検証もせず書いてしまいました...。
>確かに # のつかない {} は式展開の影響を受けません。
>
>当方では tool(["{TAB 3}"] ) で特にエラーは発生しませんでした。
>
>クォートに関しては、おっしゃる通り #{} と ¥(バックスラッシュ)の
>エスケープ文字について注意して使い分ければ問題ないと思います。
>
>ruby 外変講座はどちらも中途半端な感じになってしまっているので、
>そのうち、内容を精査して再掲したいと思っています。

前レスでは、ご教示ありがとうございました。

今ダブルクォートで試したみたところ、当方でもエラーには
なりませんでした。
確かに昨日はツールバーが表示されなかったのですが・・・?
(表示位置座標の数値が大きすぎたか何か・・・。)

お騒がせして、すみませんでした。m(_ _)m

ついでに、すみません。
コマンドボタンのテキストは改行表示可能でしたでしょうか?
例えば(これだとだめですが)、
〜VRButton,'button1',"1行目\n2行目",〜


Indexへ
(9508)←【9511】→(9513)
------------------------
【タイトル】Re(8): ruby 談義
【記事番号】 9511 (9508)
【 日時 】07/04/26 10:24
【 発言者 】元丼屋店長
【 リンク 】http://gravelroad.yh.land.to/



>コマンドボタンのテキストは改行表示可能でしたでしょうか?
>例えば(これだとだめですが)、
>〜VRButton,'button1',"1行目\n2行目",〜

VisualuRuby 側(Windows側?)で制御コードがキャンセルされるようなので、
オーナードローという方法を使わないと複数行表示のボタンは出来ないよう
です。(継承クラスを作って表示させないといけないのでちょっと面倒です。)

代替案としては、ツールチップを表示させるという手もあるかと思います。

require 'win32ole'
require 'vr/vruby'
require 'vr/vrcontrol'
require 'vr/vrtooltip'

  :
(中略)
  :

module Frm_form1
    def construct
      :
    (中略)
      :
     tools = createTooltip
     tools.maxtipwidth = 30
     tools.addTool @button1, "ここに説明が表示されます。\r改行もできます。"
    end

  :
(後略)
  :


     


Indexへ
(9511)←【9513】→(9516)
------------------------
【タイトル】Re(8): ruby 談義
【記事番号】 9513 (9508)
【 日時 】07/04/26 10:55
【 発言者 】コジマ

▼coolyoppeさん:
>ついでに、すみません。
>コマンドボタンのテキストは改行表示可能でしたでしょうか?
>例えば(これだとだめですが)、
>〜VRButton,'button1',"1行目\n2行目",〜

雪見酒様作 のFormdesigner for vruby でいじくって確かめてみたところ
複数行表示の場合は、最後の数値1350566144が1342185472になるようです。

1行表示
addControl(VRButton,"button1","button1",25,5,150,20,1350566144)

2行表示
addControl(VRButton,"button1","but\nton1",25,5,150,20,1342185472)


Indexへ
(9513)←【9516】→(9496)
------------------------
【タイトル】Re(8): ruby 談義
【記事番号】 9516 (9508)
【 日時 】07/04/26 19:06
【 発言者 】coolyoppe

▼元丼屋店長さん:ありがとうございます。

コマンドボタンにマウスカーソルを合わせると
ツールチップが表示されました。(いい感じです!)
ショートカットの件も「ruby 〜」だと確かに文字化けしました。
「rubyw 〜」でコマンドプロンプト(DOS窓)も表示されませんし、
「rubyw -Ks 〜」のオプション起動で文字化けも解消しました。
ご教示感謝いたします。


▼コジマさん:ありがとうございます。

無事2行表示できました!
最後の引数は何かと思っていましたが、そういうことですか。
(設定値の合計で複数設定できる'あれ'のようですが?)
解決いたしました。

お二方には、お手数をおかけして申し訳ありません。m(_ _)m
ありがとうございました。


Indexへ
(9516)←【9496】→(9501)
------------------------
【タイトル】Re(1):Re(4)マイツールバー
【記事番号】 9496 (9490)
【 日時 】07/04/25 12:20
【 発言者 】uii

▼コジマさん:

教えて頂けないでしょうか?
マイツールバーのコードを実行するには具体的にどのような操作をすればよいのですか?
rubyは使用できる環境になっているのですが、実行方法がわかりません。
初歩的な質問でお恥ずかしいのですが、どうかご指導頂けませんでしょうか。
宜しくお願い致します。


Indexへ
(9496)←【9501】→(9507)
------------------------
【タイトル】Re(2):Re(4)マイツールバー
【記事番号】 9501 (9496)
【 日時 】07/04/25 18:19
【 発言者 】コジマ

▼uiiさん:
>教えて頂けないでしょうか?
>マイツールバーのコードを実行するには具体的にどのような操作をすればよいのですか?
>rubyは使用できる環境になっているのですが、実行方法がわかりません。
>初歩的な質問でお恥ずかしいのですが、どうかご指導頂けませんでしょうか。
>宜しくお願い致します。

以下の文をメモ帳(notepad)にコピペ後、全角スペースを半角スペースに一括置換して、適当なフォルダに 保存してください。
ファイル名は、何でもかまいませんが、ここでは「my_toolbar.rb」にしました。

但し、コマンドは仮に配置したものです。
希望のコマンドを配置するには、スクリプトを書き換えなければなりません。


require 'win32ole'
require 'vr/vruby'
require 'vr/vrcontrol'
$shell = WIN32OLE.new("WScript.Shell")
def tool(array)
    a=$shell.AppActivate("jw_win")
    if a==true
        array.each{|item|
            sleep(0.1)
            $shell.Sendkeys(item)
        }
    else
        messageBox("jw_winが起動していません")
    end
end
module Frm_form1
    def construct
      self.caption = 'my_toolbar'
      self.move(75,603,907,77)
      self.top(0xffffffff)
      addControl(VRButton,'button1',"/",16,8,48,32,1350565888)
      addControl(VRButton,'button2',"□",80,8,48,32,1350565888)
      addControl(VRButton,'button3',"○",144,8,48,32,1350565888)
      addControl(VRButton,'button4',"パラメ",208,8,48,32,1350565888)
      addControl(VRButton,'button5',"記変",272,8,48,32,1350565888)
      addControl(VRButton,'button6',"複写",336,8,48,32,1350565888)
      addControl(VRButton,'button7',"移動",400,8,48,32,1350565888)
      addControl(VRButton,'button8',"複線",464,8,48,32,1350565888)
      addControl(VRButton,'button9',"2線",528,8,48,32,1350565888)
      addControl(VRButton,'button10',"保存して終了",592,8,110,32,1350565888)
    end
    def    button1_clicked
        tool(["%ds"])
    end
    def button2_clicked
        tool(["%db"])
    end
    def button3_clicked
        tool(["%dc"])
    end
    def button4_clicked
        tool(["%ap"])
    end
    def button5_clicked
        tool(["%as"])
    end
    def button6_clicked
        tool(["%ez"])
    end
    def button7_clicked
        tool(["%ei"])
    end
    def button8_clicked
        tool(["%ef"])
    end
    def button9_clicked
        tool(["%dw"])
    end
    def button10_clicked
        tool(["%fs","%fx"])
    end
end
VRLocalScreen.start Frm_form1


Indexへ
(9501)←【9507】→(9510)
------------------------
【タイトル】Re(2):Re(4)マイツールバー
【記事番号】 9507 (9496)
【 日時 】07/04/26 03:20
【 発言者 】coolyoppe

▼uiiさん:こんにちは。

>教えて頂けないでしょうか?
>マイツールバーのコードを実行するには具体的にどのような操作をすればよいのですか?
>rubyは使用できる環境になっているのですが、実行方法がわかりません。
>初歩的な質問でお恥ずかしいのですが、どうかご指導頂けませんでしょうか。
>宜しくお願い致します。

外変などと同様に、バッチファイルを作って内容を、
ruby my_toolbar.rb
としても良いし、

rubyの実行ファイル ↓に拡張子「.rb」を関連付けても、
C:\WINDOWS\system32\ruby.exe
標準だと↑ですか?

また、「my_toolbar.rb」のショートカットを作成して、
そのショートカットを右クリック、「プロパティ」から
「リンク先」のパス名の前にrubyを加えて、
「ruby C:\〜\my_toolbar.rb」としても簡単かと思います。

コジマさんのスクリプトを勝手に流用(すみませんm(_ _)m)して
ズーム操作用のツールバーを作ってみましたので、
よかったらお試し下さい。
(前半部分は共通なので省略しています。)
基本設定「一般(2)」の「矢印キーで画面移動〜」にチェックして
おいて下さい。移動率や拡大率などもそこで設定して下さい。

一応、文字コマンドで文字を配置するときも矢印による
画面移動が行える(キーボードだと無理)ようです。
(ちょっと反応が遅いのと、長押しによる連続がきかないですが。)

「zoom_toolbar.rb」

前半部分省略
module Frm_form1
  def construct
   self.caption = 'ズーム'
   self.move(800,603,180,93)
   self.top(0xffffffff)
   addControl(VRButton,'button1',"↑",28,2,24,24,1350565888)
   addControl(VRButton,'button2',"←",2,15,24,24,1350565888)
   addControl(VRButton,'button3',"↓",28,28,24,24,1350565888)
   addControl(VRButton,'button4',"→",54,15,24,24,1350565888)
   addControl(VRButton,'button5',"+",82,2,30,24,1350565888)
   addControl(VRButton,'button6',"−",82,28,30,24,1350565888)
   addControl(VRButton,'button7',"全体",116,2,52,50,1350565888)
  end
  def  button1_clicked
    tool(['{UP}'])
  end
  def button2_clicked
    tool(['{LEFT}'])
  end
  def button3_clicked
    tool(['{DOWN}'])
  end
  def button4_clicked
    tool(['{RIGHT}'])
  end
  def button5_clicked
    tool(['{PGUP}'])
  end
  def button6_clicked
    tool(['{PGDN}'])
  end
  def button7_clicked
    tool(['{HOME}'])
  end
end
VRLocalScreen.start Frm_form1


Indexへ
(9507)←【9510】→(9520)
------------------------
【タイトル】Re(3):Re(4)マイツールバー
【記事番号】 9510 (9507)
【 日時 】07/04/26 07:03
【 発言者 】uii

▼コジマさん:
▼coolyoppeさん:

ご指導ありがとうございます。
実行させることが出来ました。

coolyoppeさんのズーム用も使用させて頂きながら
キー割付のアレンジに挑戦したいと思っております。
本当にありがとうございました。


Indexへ
(9510)←【9520】→(9521)
------------------------
【タイトル】Re(4):Re(4)マイツールバー
【記事番号】 9520 (9510)
【 日時 】07/04/27 03:43
【 発言者 】coolyoppe

▼uiiさん:すみません、訂正があります。

元丼屋店長さんのご指摘で、
バッチやショートカットのリンク先は、
rubyw -Ks C:\〜\my_toolbar.rb
とすると良いということです。

ということで、関連付けしている場合も、
フォルダオプション、ファイルの種類、拡張子rbのところ、
「詳細設定」、「編集」から「アクションを実行〜」のところを、
「"C:\WINDOWS\system32\rubyw.exe" -Ks "%1"」
というふうに変更して下さい。
ここでアイコンなども変更しておくと、rubyスクリプトファイルの
アイコンも全て変わるので分かりやすいかと思います。

ちなみに、コジマさんと元丼屋店長さんのご教示で、
コマンドボタンに2行表示とツールチップ(説明)が表示される
スクリプトに改変(元スクリプト作成者は、コジマさんです。
そのスクリプトはこのスレで公開された「my_toolbar.rb」です。)
しましたので、良ければカスタマイズの参考にでもして下さい。
(※4行目に追加されている部分を忘れないで下さい)

「zoom_toolbar2.rb」

require 'win32ole'
require 'vr/vruby'
require 'vr/vrcontrol'
require 'vr/vrtooltip'

(中略)

module Frm_form1
  def construct
   self.caption = 'ズーム'
   self.move(800,603,180,93)
   self.top(0xffffffff)
   addControl(VRButton,'button1',"↑",28,2,24,24,1350565888)
   addControl(VRButton,'button2',"←",2,15,24,24,1350565888)
   addControl(VRButton,'button3',"↓",28,28,24,24,1350565888)
   addControl(VRButton,'button4',"→",54,15,24,24,1350565888)
   addControl(VRButton,'button5',"+",82,2,30,24,1350565888)
   addControl(VRButton,'button6',"−",82,28,30,24,1350565888)
   addControl(VRButton,'button7',"用紙\n全体",116,2,52,50,1342185472)
   tools = createTooltip
   tools.maxtipwidth = 30
   tools.addTool @button1, "画面移動\r【上】方向へ移動します。"
   tools.addTool @button2, "画面移動\r【左】方向へ移動します。"
   tools.addTool @button3, "画面移動\r【下】方向へ移動します。"
   tools.addTool @button4, "画面移動\r【右】方向へ移動します。"
   tools.addTool @button5, "画面表示倍率\r【拡大】表示します。"
   tools.addTool @button6, "画面表示倍率\r【縮小】表示します。"
   tools.addTool @button7, "画面表示倍率\r【用紙全体】を表示します。"
  end
  def  button1_clicked
    tool(['{UP}'])
  end
  def button2_clicked
    tool(['{LEFT}'])
  end
  def button3_clicked
    tool(['{DOWN}'])
  end
  def button4_clicked
    tool(['{RIGHT}'])
  end
  def button5_clicked
    tool(['{PGUP}'])
  end
  def button6_clicked
    tool(['{PGDN}'])
  end
  def button7_clicked
    tool(['{HOME}'])
  end
end
VRLocalScreen.start Frm_form1


Indexへ
(9520)←【9521】→(9512)
------------------------
【タイトル】Re(5):Re(4)マイツールバー
【記事番号】 9521 (9520)
【 日時 】07/04/27 08:12
【 発言者 】uii

▼元丼屋店長さん:
▼coolyoppeさん:

ご指導ありがとうございます。
昨日使っていて、コマンドプロンプトが出ないように
出来ないかなと思っておりました。
感謝、感謝です。


Indexへ
(9521)←【9512】→(9517)
------------------------
【タイトル】Re(3):ショートカット
【記事番号】 9512 (9507)
【 日時 】07/04/26 10:50
【 発言者 】元丼屋店長
【 リンク 】http://gravelroad.yh.land.to/



▼coolyoppeさん:
>また、「my_toolbar.rb」のショートカットを作成して、
>そのショートカットを右クリック、「プロパティ」から
>「リンク先」のパス名の前にrubyを加えて、
>「ruby C:\〜\my_toolbar.rb」としても簡単かと思います。

rubyw -Ks C:\〜\my_toolbar.rb

が良いかもしれません。 邪魔なコマンドプロンプトが表示されません。
今回は、日本語の文字列処理を入れていないので問題ないですが、
以降の拡張のためにシフトJIS を正しく処理できるように -Ks オプション
をつけて置いた方が無難だと思います。


Indexへ
(9512)←【9517】→(9522)
------------------------
【タイトル】Re(4):ショートカット
【記事番号】 9517 (9512)
【 日時 】07/04/26 20:04
【 発言者 】coolyoppe

▼元丼屋店長さん:
>▼coolyoppeさん:
>>また、「my_toolbar.rb」のショートカットを作成して、
>>そのショートカットを右クリック、「プロパティ」から
>>「リンク先」のパス名の前にrubyを加えて、
>>「ruby C:\〜\my_toolbar.rb」としても簡単かと思います。
>
>rubyw -Ks C:\〜\my_toolbar.rb
>
>が良いかもしれません。 邪魔なコマンドプロンプトが表示されません。
>今回は、日本語の文字列処理を入れていないので問題ないですが、
>以降の拡張のためにシフトJIS を正しく処理できるように -Ks オプション
>をつけて置いた方が無難だと思います。

失礼しました。
基本的なことも分からずお恥ずかしい限りです。

余談ですが、
rubyの入門書が出始めのころ、これから何かプログラミング
言語を勉強するならオブジェクト指向がいいらしいということで
購入したのですが、目的もなかったので一度目を通したくらいで
結局プログラムの一つも作らずじまいでした。
最近になってJWWの外変で初めてrubyを見かけた時、
懐かしいなと思ったのを覚えています。
また、勉強してみようかな(^^;)


Indexへ
(9517)←【9522】//(9464)
------------------------
【タイトル】Re(5):余談(2)
【記事番号】 9522 (9517)
【 日時 】07/04/27 11:29
【 発言者 】元丼屋店長
【 リンク 】http://gravelroad.yh.land.to/



▼coolyoppeさん:
>最近になってJWWの外変で初めてrubyを見かけた時、
>懐かしいなと思ったのを覚えています。
>また、勉強してみようかな(^^;)

Rubyist が増殖するのはうれしいです。
痒いところに手がとどく言語なので、開発効率は高いと思います。
私が gHeron を記述し始めた頃は、CPU 自体の速度的な問題や
メモリ関係の安定性の問題がありましたが、最近では速度的にも
安定度でも実用上の問題はなくなってきていると思います。

Ruby を紹介していただいた sugi さんに感謝です(^_^)。