開始編

 Tcl/Tkへのリンク
 AM0250 Tcl-Tk Scripting Laboratory Tclそのものについての解説などをされています。よくお世話になっています。
    http://www.geocities.co.jp/SiliconValley/4137/
 
 上記と同じ方が異なった視点でC言語への組み込みなどの話題を扱っています。拡張に興味がある方は必見!です。
 
    R+A+D*K+R+A+F+T
 
 現在、Tclはオープンソース化されているようです。ソース等の管理元です。
  tcl.sourceforge.net
 
 Tclコアの開発チームに関する情報があります。
  Tcl Core Team(TCT)
 
 
その他、各検索エンジンで探せば結構ありますし、上記のページには更に多くのリンクが紹介されていますので、そちらも参照してくださいね!
 
 パソコンにインストールしよう
 ここでは、Tcl8.3.1のインストール手順を説明します。
 
  Tcl8.3.2 最新の正式リリースバージョン。(2000年1月23日現在)
  Tcl plugin2.0 WWWブラウザのプラグイン。
 
 
上記の Tcl8.3.2 が最新なのですが、ボクがインストールしているのは8.3.1なのでそちらのインストール画面で説明します。たぶん、8.3.2も同じだと思います!
 
(実は、TclPro1.4.1を入れているため、その中にTcl8.3.2があるんですよぉ〜♪)
 
 
 Next> ボタンをクリックすると、
 
 
 お約束の「ウィンドウズプログラムをすべて終了してください」メッセージが表示されるので、Next> ボタンをクリックして、
 
 
 ここで、Browse でインストール先を指定してください。(もちろん、しなくても可)
 
 
 インストールオプションを指定します。ここでは、C言語組込みや拡張をしない方は、デフォルトのままでいいでしょう。
 
 
 ここで、Next> ボタンをクリックすれば、インストールが始まります。必要に応じてマシンの再起動をしてください。
 
 
 おもむろに起動する
 無事にインストールが済んだら、スタートメニューからTclのデフォルトアプリケーション「wish」を起動してください。
 
 
 以下の2つのウィンドウが表示されるはずです。
 
   
 
 左側はルートウィンドウで、必ず存在します。もちろん非表示にできます。右側は、コンソールウィンドウで、UNIX版では存在しません。
 それでは、最も基本のコマンドを4つ紹介して、この章は終了します。

exit

 まず、wishを終了するための、exit コマンドです。ルートウィンドウの[×]ボタンで終了してもOKです。
 ただし、コンソールウィンドウを同様に閉じても、wishは終了しません。念のため、exit コマンドで終了するようにしてください。

cd

 次は、cd コマンドです。UNIXの cd コマンドとまったく同じで、作業ディレクトリを移動する場合に使用します。
 この時注意するのは、ディレクトリのセパレータです。元々がUNIXで作られたため、プラットフォームに関係なく、スラッシュ(/)を使用します。
 そのため、UNIXとWindowsで、ディレクトリセパレータの切り替えをする必要がありません。

pwd

 cd コマンドに続いて、pwd コマンドです。このコマンドもUNIXの pwd コマンドと同じです。実行すると、カレントディレクトリが、表示されます。

glob

 最後は、glob コマンドです。UNIXの ls コマンド、MS−DOSの dir コマンド相当ですが、結果はファイルおよびディレクトリ名のみです。もちろん、ワイルドカードも使えます。
 
 
 
 やっぱり最初は、"Hello World"
 wishを起動して、以下の
スクリプトをコンソールウィンドウに、コピー&ペーストしてみてください。
  puts "Hello World"
 puts は、正確にいうとファイルへの書き込みを行うコマンドで、デフォルトが、標準出力です。
  button .write -text "Write" -command {.msg conf -text "Hello World"}
button .clear -text "Erase" -command {.msg conf -text ""}
label .msg

grid .write -column 1 -row 1
grid .clear -column 2 -row 1
grid .msg -column 1 -columnspan 2 -row 2 -sticky we

ボタンを2つ作る。まだ、未表示。
2マス使ったり、横に一杯伸ばしたりできる。
ついでに処理も定義しておく。
ラベルを作る。これもまだ、未表示

親のウィンドウを格子状の行列に分割して、その格子にボタンとラベルを配置する。ここで表示される。

 上の例では、<write>ボタンと<clear>ボタンのクリックでラベルの文字を動的に変えています。