2010年3月21日日曜日

TclでTeratermを使うためのパッケージ ver0.1

フォルダ名「teraterm」をlibに置き、そのフォルダにいか2つのをおく。

pkgIndex.tcl
package ifneeded teraterm 0.1 [list source [file join $dir teraterm.tcl]]

teraterm.tcl
package require Tcl
package require Tk
package provide teraterm 0.1

namespace eval ::teraterm {
    variable ttmacro "C:/Program Files/teraterm/ttpmacro.exe"

    namespace export ttstart selectMacro
   
}

proc teraterm::ttstart {macro args} {
    variable ttmacro
   
    set cmd ""
    #exec以下の要素を \" で囲むと解釈できる
    #
    append cmd "\"" $ttmacro "\"" " "
    append cmd "\"" $macro "\"" " "
   
    foreach i $args {
        append cmd "\"" $i "\"" " "
        }
    set param [string range $cmd 0 end-1]

    return [catch {eval exec $cmd}]
   
}

proc teraterm::selectMacro {} {
    set fileTypeList {
        {{Teraterm macro} {.ttl}}
    }
   
    set filePath [tk_getOpenFile -filetypes $fileTypeList]
    if {$filePath eq ""} {set filePath ""}
   
    return $filePath
}

0 件のコメント:

コメントを投稿