Tcl/Tk

no image

最新Tclkit事情

Tcl/Tkのスクリプトを単体実行ファイルとして配布するのに使うTclkitは、ActiveTclと一緒に配布されるbasekitというのを使っておけば、検証済みの最新バージョンなので問題は少ないのですが、日本語パスやスペースを含むパスから…

no image

Tcl SQLite build configuration

Prerequisites Build tool = MinGW GCC v4.9.3 Tcl build path = /c/src/tcl8.6.6/win Tcl install path = /c/bin/tcl8.6.6 SQLi…

no image

tclkitの仲間

KitCreator Build and Test Status (Nightly build) 最新のバイナリが入手可能。サイズが大きめ。 Windowsの場合はダウンロードしたファイルの拡張子をexeに変える。 http://www.r…

no image

kitgenをVisual Studio 2012でビルドする

kitgenが正式にサポートしているのはVC6からVC8(2005)までです。 VS2008~VS2013についても、いくつか変更を加えてやればビルドできます。 ただ、これはTclに限ったことではないのですが、VS2012で普通にビルドした…

no image

kitgen+VC6でtclkitを作るときの注意点

TclAppを使うと、Tcl/Tkのスクリプトと実行環境を単一のEXEファイルにラップすることができるのですが、このときprefixファイルといって、ベースとなる実行ファイルを指定する必要があります。これをtclkitとかbasekitとか…

no image

Tclでベクトル計算するサンプル

SXGAのリモートデスクトップウィンドウをアスペクト比を保ちつつ65%に縮小し、FullHDのディスプレイの右下に配置したい。手計算でも簡単にできることだが、今まで使ってなかった行列計算ライブラリの練習台に使うことを思いついた。 +----…

no image

Tcl/Tkで任意のフォルダをデフォルトファイラーで開く

たまにやるけど忘れるので。スペースを含まないときは別のやり方でも開くのですが、 一般的には以下のようにします。cmdの引数にエスケープされた状態で渡すというのがキモです。 string mapの変換ルールではエスケープシーケンスが適用される…

no image

LinkedList in XOTcl

いわゆる双方向連結リストというデータ構造ですが、かつてはリチャードストールマンに、Tclには構造体がないからlinked listを作れないと指摘されていました。今ではいくつもあるオブジェクト指向拡張を使い、クラスを導入すればTclでも他の…

no image

break可能なコードブロック

Tclにはgotoみたいに直列に書いたコードをスキップする制御構文がない。 例えばなんかデータを受信して、チェックしたり加工したりしたあとでどこかに記録するけど、 結果によらず受信回数はカウントしときたい場合、こんなコードを書いたとする。 …

no image

ソースコード中のUnicodeリテラルを展開して出力

Tclスクリプトにマルチバイト文字が入ってると、環境によっては文字化けして実行できないという問題がありました。 コメントは英語表記にしてあるのでいいとして、ギリシャ文字のシグマとか、パスワード隠し記号とかは見た目上どうしても使いたいので、そ…