Active Tcl の最新版 8.5 系 (8.5.2.1) をインストールしたら,どうもライブラリが少ない.
C:\Tcl\bin\wish85
(bin) 1 % package names http ttk::theme::classic tcl::tommath Ttk tcltest ttk::theme::default msgcat activestate::teapot::link ttk::theme::winnative ttk::theme::clam Tcl ttk::theme::xpnative platform tile ActiveTcl Tk ttk::theme::alt
たったこれだけしかない.なので Iwidget とか,標準で入ってるはずのライブラリが使えない.
というわけで,同時公開されている 8.4 系 (8.4.2.17) も,デフォルトの C:\Tcl とか違うディレクトリ (C:\Tcl8.4) にインストールする.
Active State - Online Store Home / Store / ActiveTcl / free download
C:\Tcl8.4\bin\wish
(bin) 1 % package names rcs logger counter SOAP::Utils math::rationalfunctions fileutil::magic::mimetype Plotchart tie::std::dsource math::roman tclDESjr xmlswitch SOAP::smtp soapinterop::base img::ico soundex interp::delegate::method page::analysis::peg::reachable pngtcl uri::urn ldap fileutil::magic::filetype tablelist::common page::reader::treeser SOAP::CGI tie::std::array snackogg xotcl::upvar-compat page::gen::peg::canon uevent SOAP::Service widget::statusbar textutil ident cmdline term::ansi::code::attr grammar::peg::interp tcllibc xotcl::comm::imap vfs::zip xotcl::test term::interact::menu grammar::peg Tktable vfs::template getstring TclScript xml::c sgmlparser xotcl::comm::ftp page::writer::tree xotcl::script grammar::me::tcl img::base puretclparser html fileutil::magic::rt ActiveTcl swaplist base32 page::gen::peg::ser ip style style::as textutil::adjust SASL ico ntext page::transform::realizable vfs::ftp xotcl::wafecompat transfer::transmitter pop3d nameserv::auto crc16 img::jpeg snack img::bmp xotcl::serializer jpegtcl asn textutil::trim tie::std::growfile page::writer::hb struct::list xotcl::staticMetadataAnalyzer vfs::template::version::delta fileutil::multi::op vfs::template::version pop3 transfer::connect grammar::fa::dacceptor md4 fileutil::multi crc32 globfind page::parse::pegser md5 img::xpm xotcl::mixinStrategy page::util::peg md5crypt ctext page::writer::tpc grammar::me::cpu xml interp docstrip::util math::constants xotcl::xodoc page::gen::peg::cpkg treeql page::writer::null bench::out::text sqlite3 base64 struct::matrix page::util::norm::lemon page::parse::peghb jpeg blowfish term::receive Thread term::ansi::ctrl::unix uuencode struct::tree math::statistics xotcl::package widget::ruler tcltest img::pcx struct::set logger::utils uuid tkpiechart struct::pool autoproxy trsync report comm img::sgi tdom xotcl::metadataAnalyzer cursor htmlparse domtree style::lobster page::gen::peg::mecpu math::complexnumbers sgml fileutil::magic::cgen dom::tclgeneric SOAP::xpath math::interpolate Img base32::core nameserv::common page::util::norm::peg math::geometry xslt page::writer::me nameserv::server tie::std::log javascript Tk xml::expat vfs widget::menuentry http textutil::repeat inifile control Memchan SASL::NTLM treectrl page::transform::reachable Diagrams mapproj datefield switched page::util::flow page::reader::lemon widget::toolbar stooop snit struct::stack uri sha256 dom::generic page::reader::ser img::tiff xotcl::comm::httpd widget::superframe textutil::split page::reader::peg struct pluginmgr newclock math::special math::bignum log starkit history page::transform::mecpu Tcl ripemd128 smtp Itcl img::ps term::ansi::send ftpd vfs::urltype math::fourier widget::screenruler opt transfer::copy Tablelist fileutil::traverse bibtex grammar::me::util doctools snacksphere Iwidgets tiff math::calculus Banking expat dde math::polynomials vfs::template::fish textutil::expander dommap term::ansi::code::macros tar page::config::peg grammar::fa::dexec img::gif nntp page::gen::peg::hb img::window math json SOAP::https soapinterop::B units bench::in soapinterop::C vfs::http page::writer::ser vfs::ns img::tga cgi2dom xpath vfs::template::quota page::writer::peg math::fuzzy img::png xotcl::comm::mime math::linearalgebra transfer::data::source ripemd160 Itk widget::scrolledwindow page::util::quote ncgi ftp::geturl page::reader::hb Ttrace fileutil::magic::cfront xmldefs vu widget::panelframe platform irc SOAP::Domain term::receive::bind tbcload Tablelist_tile widget::all page::compiler::peg::mecpu struct::graph page::analysis::peg::minimize otp multiplexer resolv struct::skiplist des chatwidget tablelist pop3d::udb xotcl::comm::connection tclDES activestate::teapot::link registry nmea critcl calendar doctools::changelog tooltip exif Oratcl xotcl::scriptCreation::recoveryPoint term::send img::ppm dom::libxml2 term::ansi::code::ctrl pop3d::dbox doctools::cvs nameserv sound xotcl::scriptCreation::scriptCreator aes base32::hex mk4vfs page::writer::mecpu png widget::scrolledtext yencode term img::xbm widget::dialog picoirc spf khim ipentry page::writer::identity tifftcl trofs term::ansi::code tile smtpd img::pixmap rc4 page::gen::peg::me interp::delegate::proc doctools::toc tablelist_tile vfs::tk xslt::cache page::analysis::peg::realizable textutil::tabify vfslib time math::optimize msgcat xotcl::comm::ldap wip xotcl::comm::httpAccess ldapx tie ftp XOTcl Tclx vfs::webdav math::bigfloat rpcvar Mk4tcl img::sun vfs::mk4 vfs::template::collate xotcl::comm::dav grammar::fa csv xml::tclparser textutil::string page::gen::tree::text mime autoscroll Expect SOAP::ftp profiler tipstack bench::out::csv zlibtcl Tkhtml transfer::receiver grammar::me::cpu::core fileutil xml::tcl tclparser zipvfs logger::appender cksum SASL::XGoogleToken grammar::me::cpu::gasm xotcl::trace struct::queue xml::dep SOAP::http transfer::data::destination tdomhtml vfs::tar xotcl::comm::pcache page::parse::lemon dict tie::std::file grammar::fa::op sum domtext struct::record bench xotcl::htmllib SOAP tls page::parse::peg bee widget dns tnc tie::std::rarray page::analysis::peg::emodes page::pluginmgr BWidget XMLRPC dom::tcl struct::prioqueue doctools::idx docstrip dom term::interact::pager tcom vfs::test Trf transfer::copy::queue sha1 dom::c
うむ,すばらしい.全然パッケージの数が違う.
せっかく最新版の 8.5 が出たのですが,こりゃまだしばらく 8.4 系の方がよさそうですね.
ところで,tcom という COM 操作パッケージを使うと,word ファイルを XML に変換したり,InternetExplorer を操作したりが簡単にできるそうです.
package require tcom
set ie [::tcom::ref createobject InternetExplorer.Application] $ie Visible 0
entry .url -width 100 -textvariable url set url http://google.co.jp
bind .url <Return> { global url if {$url == "quit"} {$ie Quit; exit} { $ie Visible 1 $ie Navigate $url } }
pack .url
url を IE で開いて,quit すると終了するだけ.
まぁ,VB とか使ってる人には常識なのかもしれませんが,私は Windows 機を一台も持ってない Linux な人なので,いろいろ面白いです.
Linux/Windows で使える Visual Tcl とかもある (tcl/tk 自身で書かれている) そうなので,がんばれば本当にクロスプラットフォームな VB 代わりになるかもしれませんね.
|