第１章 tcl/tk スクリプト⇔実行型.exe 変換ツール 紹介... 1

第２章 変換ツールを作る 2

２.１ 必要ソフトを搔き集める... 2

２.２ 一気呵成に作成する... 2

２.３ インストール... 2

２.４ アンインストール... 2

２.５ お試し.. 2

２.６ おもわしくない... 2

２.７ 旧版ソフト類の使用... 2

第３章 使用方法 4

３.１変換の要論... 4

３.２～.tcl ファイル を指定すると.. 4

３.３～.tbcファイル の指定... 4

３.４～.exe ファイルの指定... 4

３.５～.vfs ディレクトリーの指定... 4

３.６関連ファイルの添付... 5

３.６.１ ライブラリーの添付｡. 5

３.６.２ 参照対象のファイル添付... 5

第４章 あれやこれや 5

４.１お試し.. 5

４.２ 実行.exe を小さくした... 5

４.３ ３２ビット版出力用ツールと６４ビット版出力用ツール｡. 5

４.４ おもわしくない... 6

４.５ TclProとtclkitの縛り.. 7

４.６ その他 鰻足... 7

第５章 圧縮exeと非圧縮exeの生成 7

５.１圧縮exeと非圧縮exe両方を生成するツール... 7

第６章 集めたファイルの伝搬 9

６.1 ファイル類の伝搬... 9

表６ 集めたファイル類とその伝搬... 9

第７章 お約束 10

# 第１章 tcl/tk スクリプト⇔実行型.exe 変換ツール 紹介

｢スクリプト.tcl｣ファイルから｢実行型.exe｣ファイルを作るツールです｡

中身はtcl/tk スクリプトに ①ラップと②バイト･コンパイルを施し､

実行型.exe に変換する グラフィカル･インターフェイス です｡

①ラップはスクリプトを実行型.exe に換えるtclkit 技術です｡

スクリプト.tclに解釈実行機能譜を組合せ､実行ファイルに仕立てます｡
ばらせば､元のスクリプトとかがそっくり取出せます｡

②バイト･コンパイルは tcl スクリプトを隠す TclPro 技術です｡

(i)～.tclを～.tbcに変え､～.tclに戻せなくします｡
～.tbcはtbcローダと組合すと実行できるファイル形式です｡

(ii)～.tbc を､tbcローダと一緒に①でラップすると実行譜に仕上ります｡
できた実行譜から～.tbcは取出せますが､～.tclには戻せません｡

このツールは､TclPro 技術とtclkit技術とを操って変換してます｡

必要ファイルは全部内蔵させてます｡
早速作って弄びませう｡

以下の章で次の事柄をクドクド説明します｡
(ｲ) 作成方法 必要ソフトの所在とか
(ﾛ) 使用方法 扱うファイルとか

(ﾊ) 蘊蓄 蛇足

(ﾆ) お約束 著作権表示

# 第２章 変換ツールを作る

必要ソフトを搔き集め､専用の生成用バッチで一気呵成に作成します｡

32ビット用ツールと６４ビット用ツールの二種のツールが可能です｡

## ２.１ 必要ソフトを搔き集める

１. 作業ディレクトリーを用意します､譬えば C:\user\何某\閑\tcl\tools32\
32ビット用と64ビット用は別々に用意すること｡

２. 必要ファイルをこの作業ディレクトリーに集めます｡
(ｲ)３２ビット用ツール作成には表２-１ のファイルを集めます｡
(ﾛ)６４ビット用ツール作成には表２-２ のファイルを集めます｡

## ２.２ 一気呵成に作成する

1.表２のファイルが揃ってる事を確認します｡

2. 生成用バッチ 極楽Tcl8613.195.8.bat を実行すると変換ツールが生成します｡

完了 続行するには何かキーを押してください．．．

3. 変換ツールの名前は「tcl2exe.exe」です｡
６４ビット用ツールは「tcl4exe.exe」です｡

## ２.３ インストール

1.「tcl2exe.exe」を好みの場所に保存して下さい｡

2. 集めたファイル(1)～(10)は関係各位に謝意を表しながらもゴミ箱へ｡

3. 本ツール使用時は､Windowsを「拡張子を表示する様式」に設定する事を奨めます｡

## ２.４ アンインストール

要らなくなったら｢tcl2exe.exe｣をゴミ箱に移して下さい｡

レジストリーには登録してません｡

## ２.５ お試し

～.tclの手持ちが不如意の場合､電網上に幾つかの資料があります｡

## ２.６ おもわしくない

「5.4節 おもわしくない」に幾かの事例があります｡

## ２.７ 旧版ソフト類の使用

表２-１､表２-２､のファイル(1)～(9)は少し前の版で代替可能です｡

代替可能なファイルを表2-7-1と表2-7-2にまとめました｡

表２-１ ３２ビット用ツール作成に必要ファイルと取得番地

(1)～(8)はファイル名を左clickするとダウンロードできます｡

(9)(10)は『tclの栞』に同梱されてます｡

番号 | ファイル名 左クリック用 | ファイルの所在やその他の情報
(1) | tclkit-gui-8_6_13-twapi-4_7_2-x86-max.exe | tclkit download の頁から貰います｡ https://sourceforge.net/projects/twapi/files/Tcl binaries/Tclkits with TWAPI/tclkit-gui-8_6_13-twapi-4_7_2-x86-max.exe/download
(2) | tclkit-cli-8_6_13-twapi-4_7_2-x86-max.exe | https://sourceforge.net/projects/twapi/files/Tcl binaries/Tclkits with TWAPI/tclkit-cli-8_6_13-twapi-4_7_2-x86-max.exe/download
(3) | sdx-20110317.kit | Starkit Developer eXtension の頁 から貰います｡ https://chiselapp.com/user/aspect/repository/sdx/uv/sdx-20110317.kit
(4) | tixtclkit.exe | Dr.DetloefGreth さんの頁から貰います http://www.dgroth.de/downloads/tixtclkit.exe
(5) | file.zip | ActivStateSoftware さんの頁の tbcload 最新版を貰います http://teapot.activestate.com/package/name/tbcload/ver/1.7/arch/win32-ix86/file.zip
(6) | tkdnd-2.9.2-windows-x86.zip | TkDNDの最新版を貰います https://github.com/petasis/tkdnd/releases/download/tkdnd-release-test-v2.9.2/tkdnd-2.9.2-windows-x86.zip
(7) | upx-4.0.1-win32.zip | https://github.com/upx/upx/releases/download/v4.0.1/upx-4.0.1-win32.zip 無くても可
(8) | 7z2107-extra.7z | 7-Zip のダウンロード頁からコマンドライン･バージョンを貰います https://www.7-zip.org/a/7z2107-extra.7z
(9) | 7zdec.exe | 『tclの栞』に同梱しました｡ LZMA SDK に収録されていたパブリック･ドメインです｡
⑽ | 極楽Tcl8613.195.8.bat | 『tclの栞』に同梱しました｡生成用バッチ｡唯一のオリジナルです｡

3. 左クリックで取得できない事態に備え､ファイル類のURLも掲ておきます｡

表２-２ ６４ビット用ツール作成に必要ファイルと取得番地

(4)'だけは手作業を伴います｡その他は表２-１と同じ要領(左クリックとか)で集めて下さい｡

番号 | ファイル名 左クリック用 | ファイルの所在やその他の情報
(1)' | tclkit-gui-8_6_13-twapi-4_7_2-x64-max.exe | tclkit download の頁から貰います｡ https://sourceforge.net/projects/twapi/files/Tcl%20binaries/Tclkits%20with%20TWAPI/tclkit-gui-8_6_13-twapi-4_7_2-x64-max.exe/download
(2)' | tclkit-cli-8_6_13-twapi-4_7_2-x64-max.exe | https://sourceforge.net/projects/twapi/files/Tcl%20binaries/Tclkits%20with%20TWAPI/tclkit-cli-8_6_13-twapi-4_7_2-x64-max.exe/download
(3) | sdx-20110317.kit | Starkit Developer eXtension の頁 から貰います｡ https://chiselapp.com/user/aspect/repository/sdx/uv/sdx-20110317.kit
(4)’ | tclcompiler1.7.3 | https://www.tcl3d.org/bawt/download.html から SetupTcl-BI-8.6.13-x64_Bawt-2.3.1.exe(https://www.tcl3d.org/bawt/download/Tcl-BI/SetupTcl-BI-8.6.13-x64_Bawt-2.3.1.exe) を取得してインストールし､そのディレクトリー C:\Tcl\lib 内からこの名前のディレクトリーを抜取る｡ 5.2節(iii)参照
(5)' | file.zip | ActivStateSoftware さんの頁のtbcload最新版を貰います https://teapot.activestate.com/package/name/tbcload/ver/1.7/arch/win32-x86_64/file.zip
(6)' | tkdnd-2.9.2-windows-x64.zip | TkDNDの最新版を貰います https://github.com/petasis/tkdnd/releases/download/tkdnd-release-test-v2.9.2/tkdnd-2.9.2-windows-x64.zip
(7) | upx-4.0.1-win32.zip | https://github.com/upx/upx/releases/download/v4.0.1/upx-4.0.1-win32.zip 無くても可
(8) | 7z2107-extra.7z | 7-Zip のダウンロード頁からコマンドラインバージョンを貰います https://www.7-zip.org/a/7z2107-extra.7z
(9) | 7zdec.exe | 『tclの栞』に同梱しました｡ LZMA SDK に収録されていたパブリックドメインです｡
(10) | 極楽Tcl8613.195.8.bat | 『tclの栞』に同梱しました｡生成用バッチ｡唯一のオリジナルです｡

(3)(7)(8)(9)⑽は表２-１(３２ビット用)と同一です｡
(5)'は表２-１の(5)と同名の別ファイルです｡--紛しくてごめんなさい｡

3. 左クリックで取得できない事態に備え､ファイル類のURLも掲ておきます

３２ビット用では 表２-１のファイル(1)～(9)は少し前の版で代替可能です｡

表2-7-1 ３２ビット用の表２-１に代替可能なファイル版番号

番号 | 本来のファイル の名称 | 代替可能な版番号(又はファイル名)
(1) | tclkit-gui-8_6_13-twapi-4_7_2-x86-max.exe | 8612, 8611, 8610, 869, 867, 866, 864, 862, 860, 8517, 8513, 8511, 8510, 859, 858, 857, 856, 855. 854. 853. 852, 851, 850, 8419, 8418, 8417
(2) | tclkit-cli-8_6_13-twapi-4_7_2-x86-max.exe | 8612, 8611, 8610, 867, 866, 864, 862, 860, 8517, 8513, 8511, 8510, 859, 858, 857, 856, 855. 854. 853. 852. 851, 850, 8419, 8418, 8417
(3) | sdx-20110317.kit | sdx-20100310.kit, sdx-20090202.kit
(4) | tixtclkit.exe | 代替不可
(5) | file.zip | 欠落 但し(1)が tclkit8419,～, 8417 の場合のみ欠落可能｡
(6) | tkdnd-2.9.2-windows-x86.zip | tkdnd2.8-win32-ix86.tar.gz, tkdnd2.7-win32-ix86.tar.gz, tkdnd2.6-win32-ix86.tar.gz, tkdnd2.5-win32-ix86.zip, tkdnd2.4-Win32.zip,
（7） | upx-4.0.1-win32.zip | 欠落可,upx308w.zip, upx-3.96-win32.zip, upx-3.95-win32.zip, upx394w.zip, upx393w.zip, upx392w.zip
(8) | 7z2107-extra.7z | 7z2106-extra.7z, 7z1900-extra.7z, 7z1806-extra.7z, 7z1805-extra.7z, 7z1801-extra.7z, 7z1604-extra.7z
(9) | 7zdec.exe | 7zr.exe ;(どちらも LZMA SDK に(7z型に圧縮されて)収録されているパブリックドメインです)

作業用ディレクトリーに新版と旧版が混在すると原則として新版を使います｡但し､

(1)tclkitと(2)tclkitshの同一版が対になって揃ってるとその対を優先します｡

tclkit8417～tclkit 8419 では旧版の(6)tkdnd2.5版(又は2.4版)が必要です｡

(6)tkdndの2.6～2.9版はtclkit8417～8419では扱えなくなってます｡
(6)tkdnd2.3版以前は日本語ファイル名認識に失敗します｡←代替対象外です

856版以前の tclkitを使うとcp932.enc なしの変換ツールになります｡
作成時に 857版以降の tclkitsh(かtclkit)が混在しているとそこからcp932.encを取込みます｡

858版以降のtclkitsh(とtclkit)はcp932.encあり､それより前の版はcp932.encなしです｡

６４ビット用では 表２-２のファイル(1)～(9)は少し前の版で代替可能です｡

表2-7-2 ６４ビット用の表２-２に代替可能なファイル版番号

番号 | 本来のファイル の名称 | 代替可能な版番号(又はファイル名)
(1)' | tclkit-gui-8_6_13-twapi-4_7_2-x64-max.exe | 8612, 8611, 8610, 869, 868, 867, 866, 865, 864, 863, 862, 861
(2)' | tclkit-cli-8_6_13-twapi-4_7_2-x64-max.exe | 8612, 8611, 8610, 869, 868, 867, 866, 865, 864, 863, 862, 861
(3) | sdx-20110317.kit | sdx-20100310.kit, sdx-20090202.kit
(4)’ | tclcompiler1.7.3 | 代替不可
(5)' | file.zip | 代替不可
(6)' | tkdnd-2.9.2-windows-x64.zip | tkdnd2.8-win32-x86_64.tar.gz
(7) | upx-4.0.1-win32.zip | 欠落可,upx308w.zip, upx-3.96-win32.zip, upx-3.95-win32.zip, upx394w.zip, upx393w.zip, upx392w.zip
(8) | 7z2107-extra.7z | 7z2106-extra.7z, 7z1900-extra.7z, 7z1806-extra.7z, 7z1805-extra.7z, 7z1801-extra.7z, 7z1604-extra.7z
(9) | 7zdec.exe | 7zr.exe ;(どちらも LZMA SDK に(7z型に圧縮されて)収録されているパブリックドメインです)

作業用ディレクトリーに新版と旧版が混在すると原則として新版を使ます｡但し､

(1)tclkitと(2)tclkitshの同一版が対になって揃ってるとその対を優先します｡

(3)(7)(8)(9)は３２ビット用と共通です｡(1)'(2)'(4)'(5)'(6)’は６４ビット専用です｡

もし､(1)'をtclkit85に変更する場合は64ビット用の Ffidl0.8b.w64.zip も必要になります｡

全ての組合せを確めた訳ではありません｡

# 第３章 使用方法

## ３.１ 変換の要論

ｔcl/tkスクリプト.tcl⇔実行形式.exe の双方向変換が概ね可能です｡

扱うファイル類は表３-１､指定ファイルから生成ファイルへの流れは図３の通り｡

ファイルを指定すると勝手に変換します｡

ファイル指定はD&D(アイコン重ね)か起動後にはファイル指定窓からも｡

変換方向は対象ファイルの拡張子で勝手に判断します｡

生成ファイル名は拡張子を換えて勝手に名付ます｡

既存ファイル名と重複する場合は､日付を組合せて重複を避けてます｡

新ファイルは､元の .tcl(や.vfsや.exe)と同じディレクトリーに生成します｡

逆変換では元のスクリプトが入ったディレクトリー『～.vfs』が生成します｡

日本語名のファイルも扱えます｡

tclkitを 騙して(宥めて) 「日本語名.tcl」ファイルも扱わせてます｡

変換の道筋は二通りです｡

～.tcl⇔～.exe スクリプトに戻せる 自己使用向き

～.tcl⇒～.tbc⇔～.exe スクリプトを隠す 部外配布向き

表３-１ 扱うファイル類

名称末尾 | ファイルの概要 | コンパイル | exe変換 | 変換で生成するファイル類
～.tcl | 元のｔｃｌ スクリプトファイル | 未 | 未 | ～.tcl.exe ～.tbc.exe ～.tbc
～.tbc | ～.tclをバイトコンパイル | 適用済 | 未 | ～.tbc.exe
～.tcl.exe | ～.tclに戻せる実行形式 | 未 | 順変換済 | ～.tcl.vfs
～.tbc.exe | ～.tclに戻せない実行形式 | 適用済 | 順変換済 | ～.tbc.vfs
～.tcl.vfs | ～.tcl 入りのディレクトリー | 未 | 逆変換済 | ～.tcl.exe
～.tbc.vfs | ～.tbc 入りのディレクトリー | 適用済 | 逆変換済 | ～.tbc.exe

註: コンパイル 適用済 ⇒tclには戻せない⇒部外者向け

図３　指定ファイルから生成ファイル への流れ

...

## ３.２ ～.tcl ファイル を指定すると

1. tcl スクリプトと看做してexeに変換します｡

文字符号系は自動判別して勝手に処理します｡

(ｲ)cp932(シフトJIS)､(ﾛ)UTF-8､(ﾊ)リトル･エンディアンのUTF-16､のどれかに決付けます｡

(ﾊ)『リトル･エンディアンのUTF-16』はwordpadの『Unicodeテキストドキュメント』の符号系です｡

2. そのまま変換したexeと､～.tclをバイトコンパイルした後に変換したexe､とを生成します｡

生成ファイル名の末尾を変えて両者を区別してます｡(表３-２参照)

両者の振舞は基本的に同じです｡但し､逆変換(３.４節)で得られるファイルが違います｡
表３-２ ～.tcl から生成する実行型ファイル

元のファイル |  | 生成ファイル |
ファイル名 | ファイル名 | バイトコンパイル | 逆変換したら
～.ｔｃｌ | ～.tcl.exe | 未適用 | ～.tcl
～.tbc.exe | 適用済み | ～.tbc

～.tbcファイルはtbcローダと組合せると実行できるファイル形式です｡

～.tbcファイルは元のスクリプト.tclには戻せないと謂われてます｡

専らtclスクリプトを隠す目的に使われます｡

3. ～.tclをバイトコンパイルした～.tbcも同時に出力するのは筆者の都合です｡
自己使用が主目的なので､大目に見て下さい｡

## ３.３～.tbcファイル の指定

1. スクリプトからバイトコンパイルされたtbcコードと看做して処理します｡

～.tclから生成する３.２節の片方と同じexeができます｡

表３-３ ～.tbc から生成する実行ファイル

| 元のファイル |  | 生成ファイル
ファイル名 | バイトコンパイル | ファイル名 | 逆変換したら
～.tbc | 適用済み | ～.tbc.exe | ～.tbc

## ３.４～.exe ファイルの指定

1. ３.２､３.３､３.５節で作成した 実行形式.exe の指定を想定してます｡

～.tclが入った～.vfs という名前のディレクトリーに(逆)変換します(元の～.tclに､ではなく)｡

2. 元のスクリプト等(～.tcl又は～.tbc)は生成したディレクトリーに入ってます｡

孫ディレクトリー ～.vfs\lib\app-～ に入ってます｡

表３-４ ～.exe から生成する ～.vfsディレクトリー とその孫

元の～.exe |  | 生成ディレクトリー |  |
ファイル名 | 名称 | 孫ディレクトリー | 孫の中身 | バイトコンパイル
～.tcl.exe | ～.tcl.vfs | ～.tcl.vfs\lib\app-～ | ～.tcl | 未適用
～.tbc.exe | ～.tbc.vfs | ～.tbc.vfs\lib\app-～ | ～.tbc | 適用済み(暗号化)

3. 生成した ～.vfsはそのまま元の.exeに再変換できます｡(３.５節参照)
～.exe ⇔ ～.vfs の間では､対称的に双方向に変換されます｡

生成ファイル名が既存名と重複しない様名前に日付を組合せることがあります｡

## ３.５～.vfs ディレクトリーの指定

1. ～.exe の逆変換(３.４項参照)で生成した～.vfsの指定を想定してます｡

～.vfs ⇔ ～.exe の間では､指定されると双方向に対称的に変換されます｡
但し､名前は重複しない様､日付が勝手に附加されたりします｡

表３-５ ～.vfsディレクトリーから生成するファイル

| 元の～.ｖｆｓ ディレクトリー | 生成ファイル
拡張子 | 付帯事項 | 拡張子
～.ｖｆｓ | 中の main.tcl が起動対象です｡ 必要に応じて ～.ｖｆｓ\lib\ にライブラリ類を添付 | ～.exe

2. ファイル類を添付して(再)exe化する手段に使えます｡

必要ライブラリー等を添付できます｡(3.6節参照)｡

3. ～.tcl⇒～.exe の(初)変換と～.vfs⇒～.exe の(再)変換には同一のtcl2exe使うこと｡

～.tcl⇒～.exe の(初)変換時に多くのファイルが勝手に組込まれ履歴として残る様です｡

履歴と整合しない版番号のtclkitで再変換すると後々トラブル頻発する様です｡

4. ツール起動後の指定時にはツール窓の『フォルダ指定』の釦から対象フォルダー名を指定します｡

変換対象がファイルではなくフォルダー(ディレクトリー)なので他とは釦が違います｡(稚拙!)｡

D＆D指定ならファイルもフォルダーもやり方は同じです｡(と言訳しておこう)

## ３.６関連ファイルの添付

tclスクリプトから参照するファイルを添付する､とかの手順です｡
本節の見出しは『添付』ですが､『内包』して一個の.exeファイルに仕立てます｡
次の二種の手順を併用して関連ファイルを内包させます｡

### ３.６.１ ライブラリーの添付｡

tclスクリプト内の「package require命令」で指定されたライブラリーは添付(内包)が必須です｡

ライブラリー添付の手順

① スクリプト内の package require命令で指定されているライブラリー(全部)集める｡

大概のライブラリーは『pkgIndex.tcl』と『なんたら.tcl』や『かんたら.dll』が入ったディレクトリー構造です｡

② ライブラリーなしで３.２節に倣い ～.tcl⇒～.exe ｡

③ 生成した～.exe を３.４節に倣い ～.exe⇒～.vfs ｡

最終的に～.tcl.exe型にしたい場合は ～.tcl.exe ⇒ ～.tcl.vfs｡

最終的に～.tbc.exe型にしたい場合は ～.tbc.exe ⇒ ～.tbc.vfs｡

④ ～.vfs の仔ディレクトリー ～.vfs\lib にライブラリー①を収めます｡

package require 命令で指定されたライブラリ ① を(全部)収めます｡

⑤ ３.５節に倣い ～.vfs⇒～.exe｡

先に手順 ② の.exeファイルを始末しておくことを奨めます｡名前が重複するので｡

### ３.６.２ 参照対象のファイル添付

参照ファイル添付は上記３.６.１節ライブラリー添付の手順①～⑤ に次の手順を併用します｡

tclスクリプト中の参照ファイル名の書換えを伴います｡

①' 予めtclスクリプト中の参照ファイル名(譬えば filnam)を次の様に書換える｡

filnam ⇒ [file join [info nameofexecutable] "lib" "group1" "filnam"]
(註意: 角括弧[ ]は函数置換の指示です→省略しないこと)

②'③' ライブラリー添付の手順②③を行う(必要なら手順④も)｡

④' ～.vfs の仔ディレクトリー ～.vfs\lib 内に孫ディレクトリー ～.vfs\lib\group1 を作る｡

④''作った孫ディレクトリー ～.vfs\lib\group1 にファイル『filnam』を収める｡

⑤' ライブラリー添付の手順⑤ を行う｡
即ち ３.５節に倣い ～.vfs⇒～.exe｡

旧版のtclkit(1)では版番号毎に日本語ファイル名の扱いが違うので､参照ファイル名"filnam"に日本語ファイル名が可能か否かは要確認｡

参照ファイル類はディレクトリー ～.vfs内や､仔の～.vfs\lib内への収納も可能だが､孫～.vfs\lib\group1内の方が行儀が良い､即ち後々修正､再利用する際に解り易ので､繁忙派には本法がお奨めです｡

# 第４章 あれやこれや

## ４.１ お試し

試験用の～.tclの手持ちが不如意の場合は『時計』や『丸時計』や『汽車』や『暦』が『tcltk.free.fr』にあります｡他に『Tcl Programming/Tk examples』や『ここ』にも幾つか例があるようです｡

｡

## ４.２ 実行.exe を小さくした

tclkit8.6.13版に改版されて生成する『実行.exe』がデカくなったので｡

表２-１(7)upx-4.0.1-win32.zip を使って小さい『圧縮版実行.exe』を生成するツールにしました｡

圧縮版.exeと非圧縮版.exeの基本的な動作は同じです｡

生成する.exeの名前も特に変えてません｡(圧縮版の名を～.cp.exeとかにはしてません)

圧縮版は､

①exe形式実装の為のコード領域をupx圧縮してます

②筆者が 解らん(使わん) 言語の 文字符号化コードや､ 不要の(行かない) 所の時差情報を削除してます｡

文字コードは ascii,cp932,iso8859-1,iso8859-2のみ､時差情報は日本と倫敦グリニッヂのみ残してます｡

表２-１(7) upx-4.0.1-win32.zip を除いてツール作成すると非圧縮版.exeを生成するツールに戻ります｡

①upx圧縮せず､②あらゆる符号変換譜と世界中の時差情報を持ったデカ.exe 作りに戻ります｡

## ４.３ ３２ビット版出力用ツールと６４ビット版出力用ツール｡

６４ビット版tclバイトコンパイラが入手できるようになった(関係各位に感謝します)ので､６４ビット版を用意しました｡

(i) ３２ビット版ツールの名前はtcl2 exe.exe ､６４ビット版ツールの名前はtcl4 exe.exeです｡
３２ビット版の実行.exeを出力するか６４ビット版.exeを出力するかだけの違いです｡

(iｉ) 出力される 実行.exe の基本動作は同じ筈です｡
ただ､ライブラリーを組込む使用法の場合､バイナリー化された(～.dll)コードは３２ビット用と６４ビット用は兼用できず､別々に集める必要があります｡
Word､Excelを読み書きする為のtcomライブラリーは３２ビット版のみ入手可能､とか､両者一長一短です｡⇒併用することになりますか｡

(iiｉ) ６４ビット版コンパイラ(tclcompiler1.7.3)(表2.2(4))は､それを包含している Bawt システムを一旦インストールしないと取出せないので､手作業で作業ディレクトリーに収納願います｡バッチでの抜取は諦めました｡
(1)SetupTcl-BI-8.6.13-x64_Bawt-2.3.1.exe を実行してBawtシステムをインストール｡ (2)C:\Tcl\lib\tclcompiler1.7.3\ を捜し､tclcompiler1.7.3\ を作業ディレクトリーに保存｡ (3)Tcl-BI-8.6.13-x64_Bawt-2.3.1 をアン･インストール の要領です｡(tclcompiler1.7.3は中にtclcompiler173.dllとpkgIndex.tclが入ってるディレクトリーです)
アンインストールは｢Windowsキー+Rキー｣⇒｢ファイル名を指定して実行｣⇒名前(O): control ⇒OK ⇒「コントロールパネル」⇒「プログラム プログラムのアンインストール」⇒Tcl-BI-8.6.13-x64_Bawt-2.3.1 指定 の要領です｡

Bawt-2.3.1インストール手順

手順 | 画面への入力 | 操作の説明
0 | SetupTcl-BI-8.6.13-x64_Bawt-2.3.1.exe 起動 | インストール用ソフト起動
1 | License Agreement ◉ I accept the agreement
⇒ | Next
| 免許事項説明 (確認の上) 〇 I accept the… に◉印を入れ｢Next｣打鍵
2 | Information Next
⇒ | Next
| 確認事項が延々と… (確認の上) ｢Next｣打鍵
3 | Select Destionation Location C:\Tcl
⇒ | Next
| インストール場所指定 そのまま｢Next｣打鍵
4 | Select Start Menu Folder BawtTcl8.6.13.0(64-bit) ☑ Don't create Start Menu folder
⇒ | Next
| 下の方の □Don't create Start…… にレ印入れる (作らん) ｢Next｣打鍵
5 | Select Additonal Tasks □ Add directories to environment variable Path
⇒ | Next
| ☑ Add directories to… のレ印消す (足(た)さん) ｢Next｣打鍵
6 | Ready to Install Destination location: C\Tcl
⇒ | Install
| 手順3～5を確認の上 ｢Install｣打鍵

....

アンインストール手順

｢⌨ ⊞Windowsキー+Rキー｣⇒⇒「ファイル名を指定して実行」

| ファイル名を指定して実行 × 実行するプログラム名､または開くフォルダーやドキュメント名､イン ターネットリソース名を入力してください｡
名前(O) | control |  |  |
|  | OK | キャンセル 参照(B)...
⇒名前(O): | control | ⇒OK ⇒⇒「コントロールパネル」
| コントロールパネル
>コントロールパネル
コンピュータの設定を調整します システムとセキュリティ ……… プログラム
プログラムのアンインストール

⇒「プログラム プログラムのアンインストール」⇒⇒「Tcl-BI-8.6.13-x64_Bawt-2.3.1 指定」

の要領です｡

(ｉv) ３２ビット用表２-１(5)と６４ビット用表２-２(5)'は別物だがファイル名が同じで紛しい｡解凍して「teapot.txt」を覗くと前者には『win32-ix86』後者には『win32-x86_64』の記述がある｡
同名の異なるファイルを扱う事になるので､32ビットツール作成用の作業ディレクトリーと64ビット作成用の作業ディレクトリーは別々にした方が無難です｡

｡

｡

## ４.４ おもわしくない

(i) 表２-１のファイル類がダウンロードできない｡

表２-１(と表2-２)の(1)と(2)(の8.6.13～8.6.10版)には次の頁から辿って(1)にはtclkit-gui-...-ｘ86-..(2)にはtclkit-cli-..-ｘ86... を採取して下さい｡

https://sourceforge.net/projects/twapi/files/Tcl%20binaries/Tclkits%20with%20TWAPI/

表２-３の(1)と(2)の8.4.17～8.6.7版には次の頁から辿って(1)にはtclkit.exe(2)にはtclkitsh.exe を採取して下さい｡

https://web.archive.org/web/20211129110826/http://patthoyts.tk/tclkit/win32-ix86/

ダウンロード支援ソフトとかを使って全部集て下さい｡

左クリックでダウンロードした後､窓がサイトの絵柄の儘で表２-１に戻らない

窓の上の帯にある『戻る』ボタンをクリックしてみて下さい

(iｉ) tcl2exe.exe ができない｡

補助バッチを実行すると『開いているファイル-セキュリティの警告窓』が開き停止する｡

アイコン右クリック⇒プロパティ⇒全般⇒セキュリティ⇒㋹許可する⇒Ok の要領です｡

作業ディレクトリーに新ファイルとして表示されない

作業ディレクトリーを右クリックから｢最新の情報に更新(E)｣してみて下さい｡

新規生成されたファイルが直ぐには表示されないことが稀にあるようです｡

｢tcl2exe.exe が邪魔です｣ と表示されて生成バッチ(10)が停止する

作業ディレクトリーを右クリックから｢最新の情報に更新(E)｣してみて下さい
作業ディレクトリーに名前が｢tcl2exe.exe｣のファイルがあるとバッチは停止します｡

集めた必要ファイル類(1)～(10)の扱い

解凍も､名前変更もしないで下さい｡

必要な前処理は(10)補助バッチが行ます｡
いきなりコロモ脱がす癖は御自制下さい｡

(iiｉ) tcl4exe.exe ができない｡

６４ビット用ツール『tcl4exe.exe』ができない｡

３２ビットWinの環境下では６４ビットツール作成できません｡
又､６４ビット用作成ツール tcl4exe.exe も６４ビット環境でないと実行できません｡

専用バッチも tcl4exe.exe も実行時に６４ビットtclkitshを呼出ています｡

(iv) ～.tcl.exe も ～.exe も ～.tbc もできない｡又は逆変換できない｡

変換ツールが(対象ファイルの)名前取得に失敗しているかもしれません｡

ツールを起動した後にアイコン重ねしてみて下さい｡

起動時のDrag&Drop では､稀にファイル名取得に失敗する事があります｡

8.6.6版以前のtclkitはシフトJIS外の漢字ファイル名を読違える｡筆者の腕では小細工しきれません｡

右クリックから｢最新の情報に更新(E)｣してみて下さい｡

稀に新規生成されたファイルが直には表示されない事があるようです｡

(v) ～.tcl.exe のみできあがり､～.tbc.exe と ～.tbc ができない｡

バイト･コンパイルに失敗しています｡

コンパイラーが(対象ファイルの)ファイル名を認識できてないかもしれません｡
それらしき旨のエラーが表示されます｡
一旦変換ツールを起動した後ファイル指定してみて下さい｡
ファイル名をローマ字にしてみるとか｡

デバッグしてみる…とか｡

(vi) ～.exe はできたが､実行するとエラーになる｡

～.exe⇒～.vfs\ から～.vfs\⇒～.exeへの再変換で躓く｡

初変換と再変換に使われるtclkitの版番号が違うと不具合が頻発する様です｡

～.vfs\内と～.vfs\lib\内の見慣れないファイルは破棄して下さい｡

～.tcl⇒～.exe の(初)変換時に多くのファイルが自動的に内包され履歴として残る様です｡
～.exe⇒～.vfs\ 操作では､そのファイル群はそのまま残るようです｡
履歴の残ったまま異なる版番号のtclkitでexeに再変換すると不具合になる様です｡
boot.tclとconfig.tcl が邪魔することがある様ですが､残りは､放置しても好いのかも…｡

①main.tcl ②～.vfs\lib\app-～ ③～.vfs\lib\tbcload(又は\lib\tbcload1.4)

④～.vfs\lib\ 内の意図的に収納したライブラリー(4.6節のもの)のみ

のみで～.vfs\⇒～.exe してみて下さい｡(③は②が～.vfs\lib\app-～\～.tbcの場合に要)
(②が～.vfs\lib\app-～\～. tcl の場合は③はなくても好いし､あっても構ない)

自動的に内包された　 不要ファイル削除 これだけ残す(～.tclの場合)

～.vfs\tclkit.ico ～.vfs\tclkit.ico ～.vfs\main.tcl

boot.tcl boot.tcl \lib\app-～\～.tcl

config.tcl config.tcl

mai.tcl mai.tcl 又は(～.tbcの場合)

\lib\app-～\～.tcl \lib\app-～\～.tcl ～.vfs\main.tcl

\dde\ \dde\ \lib\app-～\～.tbc

\rechan\ \rechan\ \tbcload\

\registry\ \registry\

\tbcload\ \tbcload\

\tcl8\ \tcl8\

\tcl8.6\ \tcl8.6\

\tk8.6\ \tk8.6\

\twapi\ \twapi\

\vfs1.4\ \vfs1.4\

\vqtcl4.1\ \vqtcl4.1\

(vii) 日本語が文字化けする｡
スクリプトの文字符号コード判定に失敗しているかもしれません｡

現(10)専用バッチはcp932､utf-8､ユニコード のみの対応です｡

8.4版はシステムの符号系のみ対応です｡シフトjis外文字は"\\u符号番号"で凌ぐとか｡

euc-jp符号系等々は予め校正譜でutf8符号系等に変換願います｡

現状euc-jpには未対応です｡筆者の腕前ではなかなかです｡

euc-jp はベクターに紹介されている『真魚』や『Epsaly』や『Mery』でutf8等に変換できます｡

①『森雞二九段』文字化けなし②インストール不要③無料｡はこの三つでした｡(’22.9.1)

tclkitは版番号によって日本語文字の扱いが違いうかもしれません｡｡

釦上に『御疲れ様』を表示させてみました｡｡

『button $butn -text name』 の name の箇所を種々変更してみました｡

(1) button $butn -text 御疲れ様

(2) button $butn -text \u5fa1\u75b2\u308c\u69d8

(3) button $butn -text [encoding convertfrom cp932 "御疲れ様"]

版番号 | (1) の結果 | (2) の結果 | (3) の結果
tclkit8417 | ä”æ‚ê—l | 御疲れ様 | Räæê l
〃 +cp932.enc | 御疲れ様 | 御疲れ様 |
tclkit8418 | ä”æ‚ê—l | 御疲れ様 |
〃 +cp932.enc | 御疲れ様 | 御疲れ様 |
tclkit8419 | ä”æ‚ê—l | 御疲れ様 | Räæê l
〃 +cp932.enc | 御疲れ様 | 御疲れ様 | ｲ鈷
tclkit850 | äæê l | 御疲れ様 | Räæê l
〃 +cp932.enc | 御疲れ様 | 御疲れ様 | ｲ鈷
tclkit857 | äæê l | 御疲れ様 | Räæê l
〃 +cp932.enc | 御疲れ様 | 御疲れ様 | ｲ鈷
tclkit858 | 御疲れ様 | 御疲れ様 | ｲ鈷
tclkit859 | 御疲れ様 |  | ｲ鈷
tclkit8511 |  |  | ｲ鈷
tclkit8513 | 御疲れ様 | 御疲れ様 | ｲ鈷
tclkit860 | äæê l | 御疲れ様 | 御疲れ様
tclkit862 | äæê l | 御疲れ様 | 御疲れ様
tclkit-gui-864 | 御疲れ様 | 御疲れ様 | ｲ鈷
tclkit866 | äæê l | 御疲れ様 | 御疲れ様
tclkit867 | äæê l | 御疲れ様 | 御疲れ様
tclkit8610 | äæê l | 御疲れ様 | 御疲れ様

tclkit8.4.17で一旦改善され､tclkit8.5.0 で逆戻り､tclkit8.6.7 で再度改善された様です｡

ｔｃｌkit857以前の版にはcp932.encが入ってません｡

cp932.enc がないと日本語が文字化けします｡

(viii) 64ビット用ライブラリーが混っている｡

殆どのライブラリーは３２ビット用と６４ビット用は別々で兼用できないようです｡

バイナリー化された(～.dll)コードは３２ビット用と６４ビット用が別々で兼用できない様です｡

(ix) できあがる.exeはWin98以降用です｡

tclkitはWin95での実行を保証してないようです｡

## ４.５ TclPro と tclkit の縛り

｢tcl2exe.exe｣は(i)TclProのByteCompileｒと､(ii)tclkitの､UserInterfaceです｡

それらを呼出してるだけなので両者の頸木を受嗣ぎます｡
(i) コンパイラの縛り

The TclPro 1.4 User's Guide 第６章 compiler に Tcl コンパイラの掟が載てます｡

ここにダメと書てあることは諦めて迂回策を練ることです｡

(ii) tclkit の縛り

所謂 StarPackです｡

tclkitの縛りはこことここに要約されています｡

｡

## ４.６ その他 鰻足

内包形式の実現｡

本ツールは､tclkit技術の威力で関連ファイルを内包させて一個のファイルにまとめることができました｡
ツールの窓の左上隅の印をクリックすると､組込だtclkitの版番号を表示します｡

～.ｖｆｓディレクトリーの扱い｡
旧版sdx.kitでは､変換対象ディレクトリーは～.vfsの名前が必須だったが､現版sdx.kitでは末尾に.vfsが付く必要はなくなってる｡末尾の.vfsを省くこともできるが､旧来のままにしておいた｡

ｔｃｌｋｉｔの.exe変換では､指定されたディレクトリー内のmain.tcl(又はmain.tbc)が起動スクリプトになる｡
本ツールでは､実行対象の指定ファイル～.tcl(又は～.tbc)は孫ディレクトリー ～.vfs\lib\.app-～\ 内に収め､main.tclが指定ファイルを呼出す｡

現版から元のスクリプトを収める位置を変更しました｡
qwrap命令による～.kitに倣いました｡
使用上の動作､能力に変りはありません｡スクリプトを取出すときに少し捜し回るかも｡

バイトコンパイルしても速くならないと謂われてますが､お暇な向きにはとくと較べてみて下さい｡

バイト･コンパイルはソース･コード隠蔽が目的と噂されてますが｡｡

tcl/tk7.6->8.0版で､仮想計算機(バーチャル･マシン)や仮想符号(tclバイト･コード)の概念(コンセプト)を導入(デプロイ)し､記述譜(スクリプト)を仮想符号(tclバイト･コード)に翻訳(コンパイル)し､仮想計算機(バーチャル･マシン)で処理(エミュレート)して高速化(スピード･アップ)した｡その際､仮想符号(tclバイト･コード)の外部出力命令(バイト･コンパイラ)と読込命令(ローダー)とを記述譜(スクリプト･)秘匿(コンシール)用のTclProとして販売(セール)(后に無料(フリー)ソフト化)した｡その経緯からか､仮想計算機(バーチャル･マシン)や仮想符号(tclバイト･コード)の詳細は公表されない｡詰り､元の記述譜への復元は面倒らしい｡
元の記述譜(スクリプト)ファイルの拡張子は .tcl ､仮想符号(tclバイト･コード)ファイルの拡張子は .tbc です｡

tclkitは元のスクリプトと実行系を一つのファイルにまとめる技術です｡

出来上がったファイルには元のスクリプトが組込まれてる｡
分解すると元スクリプトがが取出せる｡
そこで､～.tclでも～.tbcでも組込実行可にした｡⇒～.tbcから～.tclには戻せないので｡

解凍ソフトを圧縮解凍兼用の7zr.exeから解凍専用の7zdec.exeに替えました｡

どちらもパブリックドメインです､同梱ファイルも7zdec.exeに取替えました｡
どちらも対象は.tar.gzのみで.zipは扱えない｡残念｡

｡

現版はライブラリーのFfidlを集めなくなりました｡

搔集めるソフトが１つ減りました｡(昔に戻っただけですが｡)

｡

圧縮ファイル(.zip と .tar.gz)の解凍作業を7-Zipに集約しました｡

前版迄使用していたunzip.exeは使わなくなりました｡(永らくお世話になりました｡)

Windows 単独でzip解凍ができそうですが､筆者の腕前ではよく判りません｡

｡ ｡

必要ファイル(表2)内のファイル番号の(6)と(7)を入替えました｡

圧縮解凍用を番号(8)(9)にまとめました｡単なる好みの問題です｡

# 第５章 圧縮 exe と非圧縮 exe の生成

## ５.１圧縮 exe と非圧縮 exe 両方を生成するツール

本節は備忘録です｡

次の手順(1)～(4)を行う｡

(1)表２-１の必要ファイルの内(7)の存在を確認する｡

欠落可のファイルだが､混在させる｡

(2) ⑽極楽Tcl8613.195.8.batを書き変える｡

::::::::::::::::::::: .exe と .n.exe 両方生成は避けて片方だけ生成させる

if exist %tmpdir%\upx.exe del /s %tclkit%

::::::::::::::::::: .exe と .n.exe 両方生成は避けて片方だけにした

↑↑バッチファイルの600行目付近↑↑､ 次の①か②を行う｡

①『::::::::::::::::::::: .exe と .n.exe 両方…』から『::::::::: .exe と .n.…』迄バッサリ３行削除｡

②『 if exist %tm…』の行削除

又は､その行の文頭に『rem』追記 ⇒実行文から註釈文に変わる

又は､その行の文頭に『::』追記 ⇒ 実行文から註釈文に変わる｡

更に『::::::::::::::::::::: .exe と .n.exe 両方生成は避けて…』→『:::::::::: 両方生成する』
註釈文も変えないと､やっている事と註釈が噛合わなくなるので｡

(3)改めてtcl2exe.exe作成する｡
作成し直した『tcl2exe.exe』を起動すると次の様な窓になる｡

(4)画面から､『生成する実行形式』を『単』から『両』に切替える｡

『単』は (こちらが初期値)
圧縮.exe のみ生成する｡

『両』は
(i).tcl⇒.exe変換と (ii) .tbc⇒.exe変換と (iii) .vfs⇒.exe変換で (ｲ).exe と (ﾛ).n.exe を生成する｡
(ｲ).exe は圧縮.exeファイル､(ﾛ).n.exe は非圧縮.exeファイル｡

これ迄の説明文の図３と表３-１～３-５は次の様に変る｡
煩雑になる｡便利にはならない｡

図５　指定ファイルと生成ファイル

表５-１ 扱うファイル類

名称末尾 | ファイルの由来等 | コンパイル | 圧縮 | exe変換 | 変換で生成するファイル類
～.tcl | 元のｔｃｌ スクリプトファイル | 未 | —— | 未 | ～.tcl.exe ～.tbc.exe ～.tbc ～.tcl.n.exe ～tbc.n.exe
～.tbc | ～.tclをバイトコンパイル | 適用済 | —— | 未 | ～.tbc.exe ～.tbc.n.exe
～.tcl.exe | ～.tclに戻せる圧縮実行形式 | 未 | 圧縮 | 順変換済 | ～.tcl.vfs
～.tcl.n.exe | ～.tclに戻せる非圧縮実行形式 | 未 | 非圧縮 | 順変換済 | ～.tcl.vfs
～.tbc.exe | ～.tclに戻せない圧縮実行形式 | 適用済 | 圧縮 | 順変換済 | ～.tbc.vfs
～.tbc.n.exe | ～.tclに戻せない非圧縮実行形式 | 適用済 | 非圧縮 | 順変換済 | ～.tbc.vfs
～.tcl.vfs | ～.tcl 入りのディレクトリー | 未 | —— | 逆変換済 | ～.tcl.exe ～.tcl.n.exe
～.tbc.vfs | ～.tbc 入りのディレクトリー | 適用済 | —— | 逆変換済 | ～.tbc.exe ～.tbc.n.exe

註: コンパイル 適用済 ⇒暗号化されてる｡部外者向け
圧縮実行形式 ⇒通常用途 非圧縮⇒動作確認用

表５-２ ～.tcl から生成する実行型ファイル

元のファイル |  | 生成ファイル |  |  |
ファイル名 | ファイル名 | バイトコンパイル | 圧縮 | 逆変換したら | 用途
～.ｔｃｌ | ～.tcl.exe | 未適用 | 圧縮 | ～.tcl | 通常用途
～.tcl.n.exe | 仝上 | 非圧縮 | 仝上 | 動作確認とか
～.tbc.exe | 適用済み | 圧縮 | ～.tbc | 部外者配布
～.tbc.n.exe | 仝上 | 非圧縮 | 仝上 | 国外配布とか

表５-３ ～.tbc から生成する実行ファイル

元のファイル | 生成ファイル
ファイル名 | バイトコンパイル | ファイル名 | 圧縮 | 逆変換したら
～.tbc | 適用済み | ～.tbc.exe | 圧縮 | ～.tbc
～.tbc.n.exe | 非圧縮 | 仝上

表５-４ ～.exe から生成する ～.vfsディレクトリー とその中身

元の～.exe |  | 生成ディレクトリー |  |
ファイル名 | 名称 | 孫ディレクトリー | 孫の中身 | バイトコンパイル
～.tcl.exe | ～.tcl.vfs | ～.tcl.vfs\lib\app-～ | ～.tcl | 未適用
～.tcl.n.exe
～.tbc.exe | ～.tbc.vfs | ～.tbc.vfs\lib\app-～ | ～.tbc | 適用済み(暗号化)
～.tbc.n.exe

表５-５ ～.vfsディレクトリーから生成するファイル

元の～.ｖｆｓ ディレクトリー | 生成ファイル |
拡張子 | 付帯事項 | 圧縮 | 拡張子
～.ｖｆｓ | 中の main.tcl が起動対象です｡ 必要に応じて ～.ｖｆｓ\lib\ にライブラリ類を添付 | 圧縮 | ～.exe
非圧縮 | ～.n.exe

｡

# 第６章 集めたファイルの伝搬

本章も単なる備忘録です｡

## ６.1 ファイル類の伝搬

第2章で集めたファイルの類は次の様に補助バッチ､変換ツール､実行形式に伝搬される｡
大半は解凍や対話用に使われ､実行形式に組込れるものは一部だけ｡

### 表６ 集めたファイル類とその伝搬

番号 | 関連ファイル | 補助バッチ | 変換ツール | 実行形式
.tcl.exe | .exe
- | .tcl スクリプト | ー | ⇒* | ○ | ○*
(1) | tclkit-gui-8_6_13-twapi-4_7_2-x86-max.exe | 実 | ○ | ⓵ | ⓵
(2) | tclkit-cli-8_6_13-twapi-4_7_2-x86-max.exe | 実 | ○ | ー | ー
(3) | sdx.kit | 実 | ○ | ー | ー
(4) | tixtclkit.exe | ⇒ | ○ | ー | ー
(5) | file.zip | ⇒ | ⇒ | ー | ○
(6) | tkdnd-2.9.2-windows-x86.zip | ⇒ | ○ | ー | ー
(7) | upx-4.0.1-win32.zip | 実 | ー | ー | ー
(8) | 7z2107-extra.7z | 実 | ー | ー | ー
(9) | 7zdec.exe | 実 | ー | ー | ー
⑽ | 極楽Tcl8613.195.2.bat | 自身 | ⓵ | ー | ー

○保有し実行； ○* バイト･コンパイルして保有し実行； ⓵一部を実行環境として受継ぐ；

ー：無関係 ;実 起動して実行；⇒ 手渡し ；⇒* 手渡し又は､コンパイルして渡す

集めたファイル類(1)～(10)の使われ方

(ｲ) 実行形式.exe は次のもの(だけ)を引継ぐ｡

(a)tcl実行環境｡
tclkit(1)～(3)により構築される｡表７では取敢ず(1)欄に印を附す｡
upx圧縮を掛けた時には圧縮される領域である｡

(b)tclスクリプト｡
(i)元のまま保有と､(ii)バイト･コンパイルして保有､の二様式がある｡

(c)バイト･コンパイル処理用ライブラリ(5)｡
上記 (b)(ii)コンパイルして保有 専用のライブラリーである｡

(ﾛ) 変換ツールが引継ぐファイル｡

(a)tclkit関連ファイル類(1)～(3)
元のまま

生成するファイルにtcl実行環境を備えさす｡

tcl実行環境

変換ツールそのものもexe化したtclである

(b)TclPro関連ファイル類(4)(5)
スクリプトをバイト･コンパイルするファイル(4)
実行ファイルに手渡すライブラリー(5)｡

(c)使い勝手向上用(6)
Drag&Drop(アイコン重ね)実装用ライブラリー(6)｡

(d)バッチファイル(10)の一部
バッチにより作成された処理用tclスクリプト
表６では取敢ず(10)欄に印を附す｡

(ﾊ)バッチファイルで操作するファイル｡

(a)tclkit関連ファイル類｡(1)～(3)｡

変換ツールの作成に使用する｡
変換ツールでも使うので渡す｡

(b)コンパイル関連ファイル類(4)(5)
必要ソフトを抜出して手渡す｡(4)
そのまま手渡す｡(5)

(c)変換ツールの使い勝手向上用(6)
解凍して手渡す｡Drag&Drop実装用(6)

(d)圧縮用ファイル(7)
tclkitを圧縮して変換ツールに渡す｡(7)

(e)ファイル類の解凍用(8)(9)｡

圧縮ファイル類(zip､tar.gz)の解凍に使用する｡

# 第７章 お約束

極楽コンパイラ.bat は筆者による著作物です｡

このファイルの使用により生じる損害について筆者に対する民事上の如何なる請求権も放棄するならば公序良俗に叛かない範囲で自由に使用して頂いて結構です｡