フォルダ名「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 件のコメント:
コメントを投稿