過去ログ

                                Page      37
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼外部変形用コンボボックス  kojima 15/04/03(金) 19:29

 ───────────────────────────────────────
 ■題名 : 外部変形用コンボボックス
 ■名前 : kojima
 ■日付 : 15/04/03(金) 19:29
 -------------------------------------------------------------------------
   外部変形用ツールバーを作ったのですが
外部変形の数が10以上になるとボタン(ツールバー)による選択だと
スクリプトの書き換えが大変面倒なことに気付きました。

コンボボックスからのバッチファイル名選択だと、外部変形リスト(テキストファイル)に追記するだけですんでしまます。

外部変形を増やしたい時は、「編集」ボタンをクリックして、ghen_list.txtを開いて、バッチファイル名をフルパスで追記するだけです。
但し、パスの区切り文字は、\ではなく/です。
VRubyとAutoITXを使ったスクリプトです。(拡張子.rb)


#!ruby -Ks
require 'vr/vruby'
require 'vr/vrcontrol'
require 'win32ole'
$itx=WIN32OLE.new("AutoITX3.Control")
$itx.Opt("WinTitleMatchMode",2)
def bat_read(file)
    dir,fname=File.split(file)
    dir2="|#{dir.gsub("/","|")}"
    dir_a=dir.split("/")
    $itx.WinActivate("jw_win")
    $itx.WinWaitActive("jw_win")
    $itx.WinMenuSelectItem("jw_win","","[その他","外部変形")
    $itx.WinWaitActive("ファイル選択")
    $itx.ControlFocus("ファイル選択","","SysTreeView321")
    str="#0"
    dir_a[0..-2].each{|item|
        $itx.ControlTreeView("ファイル選択","Tree1","SysTreeView321","Expand",str<<"|#{item}","")
    }
    $j=$itx.ControlTreeView("ファイル選択","Tree1","SysTreeView321","Select",dir2,"")
    if $j.to_i == 1
        $itx.ControlFocus("ファイル選択","","SysListView321")
        $i=$itx.ControlListView("ファイル選択","","SysListView321","FindItem",fname,"")
        if $i.to_i != -1
            $itx.ControlListView("ファイル選択","","SysListView321","Select",$i,"")
            $itx.ControlSend("ファイル選択","","SysListView321","{ENTER}")
        else
            messageBox("#{file}がありません")
        end
    else
        messageBox("#{file}がありません")
    end
end
module Frm_form1
    def _form1_init
      self.caption = '印刷'
      self.move(300,656,600,70)
      self.top(0xffffffff)
      addControl(VRButton,'button1',"編集",425,0,80,24,1350565888)
      addControl(VRButton,'button2',"終了",510,0,80,24,1350565888)
      addControl(VRStatic,'static1',"外変選択",355,2,72,24)
      addControl(VRCombobox,'comboBox1',"",0,0,350,400,1342177795)
        font=@screen.factory.newfont('MS ゴシック',-12,0,4,0,0,0,49,128)
        @comboBox1.setFont(font)
        begin
            open("ghen_list.txt","r"){|f|}
        rescue
            open("ghen_list.txt","w"){|f|
                f.puts "C:/JWW/JWW_SMPL.BAT","C:/JWW/TENHYOU.BAT","C:/JWW/ZAHYOU.BAT"
            }
        end
        array=[]
        open("ghen_list.txt","r"){|f|
            while f.gets
                array<<$_.chomp
            end
        }
        @comboBox1.setListStrings(array)
    end
    def construct
        _form1_init
    end
    def button1_clicked
        system("notepad ghen_list.txt")
    end
    def button2_clicked
        close
    end
    def comboBox1_selchanged
        idx=@comboBox1.selectedString
        file=@comboBox1.getTextOf(idx)
        bat_read(file)
    end
end
VRLocalScreen.start Frm_form1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 37