●●●●TCL/TKなら俺に聞け●●●●

このエントリーをはてなブックマークに追加
1TCL神
ウィンドウプログラミングするならTCL/TKしかねーぜ。
この最強言語のことなら俺に聞け
>>1
概要を教えて下さい。
3デフォルトの名無しさん:02/10/03 16:02
2
4デフォルトの名無しさん:02/10/03 16:03
氏ね>>2
Tclの代わりにCを使いたいんですけど、出来ますか?
CからTkを使いたいって意味ね
7TCL神:02/10/03 16:07
とりあえずここから落とせ
http://www.activestate.com/Products/ActiveTcl/
8デフォルトの名無しさん:02/10/03 16:08
age
スレタイの●はウンコですか?
10デフォルトの名無しさん:02/10/03 18:19
CからTkできるよ
というかCとの連携は最初からかなり考えて作られてる
115:02/10/03 18:33
よし、じゃー hello, world でも作ってみます。
12EMH:02/10/03 18:47
>>2
緊急事態の概要を述べよ
13デフォルトの名無しさん:02/10/03 23:00
>>5
一番簡単なのはWildC++かも。C/C++インタプリタのCINTに付属している機能。
インタプリタが嫌ならTcl APIを使うしかない。
僕達はこんなスレをまっていた!
識者は適当に入門解説でもしてください。
155:02/10/03 23:47
Tcl APIで書かれたプログラム見たけど・・・
Tcl_Evalに萎えますた。(´・ω・`)
16デフォルトの名無しさん:02/10/04 09:11
Tcl_Evalを使ってそのままTclコマンドを使うこともできるけど
たとえばTcl_Eval(interp, "set str hogehoge");は
Tcl_SetVarで置き換えられるとかそういう感じになっておるよ。
厨房丸出しのスレタイですな。
185:02/10/04 18:09
ここから先に進まないっす・・・
Cからlabelとかpackって呼べないものなんでしょうか?

#include <stdio.h>
#include <tcl.h>
#include <tk.h>

int init(Tcl_Interp *interp)
{
 int stat = TCL_OK;

 if (Tcl_Init(interp) == TCL_OK &&
  Tk_Init(interp) == TCL_OK) {

  /*
   Tcl_Eval(interp,
    "label .l -text \"Hello, World!\"\n"
    "pack .l\n");
   */
 } else
  stat = TCL_ERROR;

 return stat;
}

int main(int argc, char **argv)
{
 Tk_Main(argc, argv, init);
 return 0;
}
195:02/10/04 18:14
ユーザーインターフェイスはTclで書いて
反応は Tcl_CreateCommand で関連付け

ってのが流儀なのかな?
「Tcl/Tk」は、「ティクルティケイ」と読めば良いんですか?
トゥクゥトゥック
22デフォルトの名無しさん:02/10/04 20:50
>>17
枠 が る な よ
>>22
アフォは放置汁。
24デフォルトの名無しさん:02/10/04 22:28
tcl/tkで作られたメーラーってなに?ソースコード付で
25デフォルトの名無しさん:02/10/04 22:50
26デフォルトの名無しさん:02/10/14 14:50
あげ
荒らし横行中
28デフォルトの名無しさん:02/10/20 15:15
あげ
29デフォルトの名無しさん:02/10/27 23:24
あげ
30デフォルトの名無しさん:02/10/29 18:49
tcl先生おながいします。
tcltk8.3でATOKXの入力ができましぇん、どうすればいいでしょうか。
31デフォルトの名無しさん:02/10/29 21:09
俺も今日から始めようと思うんだが、windowsでもできるの?
32デフォルトの名無しさん:02/10/29 21:27
サンスコ
2
厨房丸出しのスレタイですな。
ぱいそんぱいそんぱいそん!
37デフォルトの名無しさん:02/11/28 13:55
tcl先生おながいします。
Windows 環境のときに、ADO を使ってデータベースの処理ができますか。
使えるとしたら、JScript から Tcl に乗り換えたいのですが。
38デフォルトの名無しさん:02/11/28 17:53
素直にJscript使っとけ
42デフォルトの名無しさん:02/12/15 23:30
Tclの日本語はどうなってるの?Tcl8.0.5辺りまでならSRAにpatchあるけど
今8.4だよねえ。
43デフォルトの名無しさん:02/12/16 03:33
>>42
8.4.1からは日本語入力にも対応して、そのままでも特に問題ない様だが
ttp://www.interq.or.jp/japan/s-imai/tcltk/
44デフォルトの名無しさん:02/12/16 04:37
tcl/tkでやるまともな仕事とかプロジェクトってないようなきがするけど
45デフォルトの名無しさん:02/12/21 19:32
ActiveTclとbitwalk版のどっちがより安定してますかね?
46過去スレ:02/12/21 19:52
Tcl/Tkもいいとおもうよ。
http://piza2.2ch.net/tech/kako/966/966300886.html
47デフォルトの名無しさん:02/12/21 23:49
tkconはなかなか便利ね。
cygwinのdos窓と違ってWin用のIMEで日本語打てるし。
しかし、やはりよく落ちる。
スレタイに飾りつけてるスレは、クソスレの法則。
>>48
今更言われても……。
50名無しさん@Emacs:02/12/22 04:18
インストール済みのパッケージ一覧どうやったら出せますか?

51デフォルトの名無しさん:02/12/22 09:02
TCL/TK = CL/K
Python/Tkinter で Outlook 置き換えのオープンソースプロジェクトがあるね。
53名無しさん@Emacs:02/12/22 12:58
書籍を探したけどほとんど出版されていないんだね
Pythonよりマイナーなんでしょうか?
54デフォルトの名無しさん:02/12/22 13:25
>>53
洋書見れ。それとpythonはマイナーじゃない。(日本ではマイナーだけど)
55デフォルトの名無しさん:02/12/24 01:47
http://www.amazon.co.jp/exec/obidos/ASIN/4894710854/ref=sr_aps_b_/250-7885347-9130642
あの・・・もうちょっと安くなりませんでしょうか
>>55
http://www.amazon.co.jp/exec/obidos/ASIN/4756112935/qid=1040665216/sr=1-4/ref=sr_1_2_4/249-7631955-1678748
こっちは2000円だよ。
(ボリュームに比べたら高いけど)
57デフォルトの名無しさん:02/12/25 01:01
いちおう、トッパンのLinux入門を持ってまして
Tcl/Tkの概説とコマンド一覧が載ってるんですが、
これ見るかぎり、融通のきかないシェルスクリプトって感じがしますが。
覚えやすそうではあります。
58デフォルトの名無しさん:02/12/26 03:16
>>56
この本は役に立ちません。オンラインソフトのお試し版のようなものです。
Tcl/Tkをかじる程度しか理解できないので、まともにGUIプログラムを書け
ません。(内容も古すぎます。ソースコードも汚いです。)
やっぱり 56 の本は必要かと思います。(これも内容が古いですが、基本的
な事を詳しく説明されています。)

>>57
入門書には参考程度しか書いていません。
この言語は接着剤のようなプログラミング言語で融通のきかないところは、
C言語等で書いて呼び出して使うようになっています。
http://www.geocities.co.jp/SiliconValley/4137/tcltk.html
ここのサイトがけっこう役にたちます。
漏れ達がひろゆきを愛したように、ひろゆきも漏れ達を愛してほしい!
ウンコデタ━━━━(゚∀゚)━━━━━!!!
疑似匿名掲示板
へ? 大阪?
63デフォルトの名無しさん:03/01/09 14:45
2ch、全スレのIP記録の方針
http://live2.2ch.net/test/read.cgi/news/1042014951/
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
Lynx



>>595
奇遇だね
 カラオケは衛生的に・・(略

すいません。
「即決は無理でも」
かなり短期的に、「貸しを作って下さるか」お返事をお願いします。
現段階では、検討が厳しいかとは思いますが。

一先ず
背後は覗いて、「その件は」長きにわたって感謝申し上げるです・・うう
>>690
それはないと思う。
そんなことしたらログの量がすんごいことに……
ヤフーのトップに2ちゃんねるネタが来るとは世も末だな
なんか、ここと野鳥見てるとぼらんちあやる気なくすね
オナニーでもしてこよっと
今日の晩飯はなんだろうか?

>>393
お前空気嫁よ
逮捕されるようなしょうもないネタ振らなきゃいいだけの話だろ?
暴論かどうかは誰が判断するのかな?
ますます、ファンタスティックでスリリングでドラマティックなスレッドですわね、

 60 障害者A 2003/01/10 01:11:36 ID:PXY+/W3vq5
2チャンネルは障害者とひきこもり輩の溜まり場

2ちゃんねるで他人に「馬鹿だのアホだの精神異常者キチガイ」呼ばわり
している輩は旧PC-VANをつぶした障害者とその関係者です。

こいつらはこのようにして他人を罵ってきた障害者です。
こいつら障害者は他人の「氏名」「住所」「電話番号」等を
平気で掲載すると言う違法行為を繰り返して居る障害者です。

こんな障害者とその関係者が管理者を落し入れて居る経緯は下記のURL
旧PC-VANをつぶした障害者とその関係者が2ちゃんねるの管理者を落とし入れて居るのです。
http://www1.ryucom.ne.jp/papa/newpage2chsaiban.htm

旧PC-VAN(AWC)をつぶした障害者とその関係者がたむろして居るURLは下記
下記URLに居る者達はすべて障害者とその関係者です。
http://www.awcjapan.net/forum.cgi?bd=fa&md=title
組織力さえ有ればネットでも潰せるんじゃないのかな。
サイエントロジーとネットコミュニティのバトルはサイエントロジーの
勝利に終わったからね。
大阪のほうに差別問題に関する組織があるのだが
そういうところが訴えてきそうで怖いな
ちびくろサンボを差別だ、といったりカルピスの黒人が描いてあるラベルを
問題だと騒ぎ立てるような連中だからな
てすとん
とも限らない。
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!


─────────────────────── 2ch-net─
メルマガ登録・解除 http://www.2ch.net/mag.html


http://www.2ch.net/2ch.html / [email protected]
───────────────────────────


鳴る歩道
残念
600,000,066
2003/1/10

なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが
面倒なので、全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。


実にさらっとひろゆきらしいでつ。。。
居酒屋「すずめのおやど」を経営
株式会社すずめのおやど開発
民事再生法を申請
負債57億円

だれかに突っ込むの手伝ってくだいよぉ
最高裁への上告は認められなくなったから、これで事実上判決確定だよ。
逆転も何もないって。
勢いで上告なんかしても一発で上告却下(門前払い)だよ。

二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
http://www.m-net.ne.jp/~doba/goto/hon.htm

ようするに上告しても今の制度では100%無駄。
これで完全終了ってことか。
俺も知りたいから
どーして、そーなる!
なんかいいものをみた。今夜はよく眠れるぞー♪
93山崎渉:03/01/13 19:03
(^^)
432 名前:心得をよく読みましょう 投稿日:02/12/31 11:23 ID:ADTGAx9x
オレも記念カキコ!

警察! オレが味方だ。 射殺許可!!!!

いいよ、こんなクズ。この世からいなくなっても!
小さい子の命のほうが億倍たいせつだよ。
95山崎渉:03/01/15 18:15
(^^)
96デフォルトの名無しさん:03/01/18 20:23
Win版ActiveTcl をC言語とリンクして使ってる方、
どんなCコンパイラを使ってますか?
Digital Marsや OpenWatcom なんかのfreeなコンパイラでも使えますか?
97デフォルトの名無しさん:03/01/18 20:51
96

VC++
98山崎渉:03/01/23 20:11
(^^)
暴論かどうかは誰が判断するのかな?
最初に作ったのがこれでした。
>>> from anygui import*
>>> app = Application()
>>> win = Window(title='naitou',size=(300,140))
>>> app.add(win)
>>> app.run()
101デフォルトの名無しさん:03/04/07 20:55
だいぶ前に買ったTcl/tkの入門書が本棚から出てきた。
102山崎渉:03/04/17 15:37
(^^)
103デフォルトの名無しさん:03/05/16 20:06
昔買った「Effective Tcl/Tk」の初版が出て来た。
なにおかくそう、この本は生まれて始めて買った
プログラム本だったりするので、再びTck/Tkを
使うことにした。
104デフォルトの名無しさん:03/05/17 10:06
>>96
BC5.5でOKだよ
105_:03/05/17 10:07
6年前ぐらい学生時代にTcl/Tkを使っていたことを思い出して
なぜかとーとつにTcl/Tkを使いたくなってしまうプログラマではない漏れ
Tclの文法が不評みたいだけど、バッチファイル+シェルスクリプト上がりの漏れには分かり易い。
Win版ではCOMも使えるみたいだね。ナカナカ(・∀・)イイ!
108デフォルトの名無しさん:03/05/18 15:50
え?COM使えるの?例文きぼんぬ。
110デフォルトの名無しさん:03/05/18 22:33
win32版のwish84なんですけど、tclスクリプトを
実行してexitしてもwish84.exeのタスクが消えない
んですが。。tclを実行するたびに終了されない
タスクが増えていくんですが、これって
僕の環境だけですか?
×タスク
○プロセス

ごめりんこ
漏れのversion 8.4.2+Win2KSP2では無問題。>>110
おっと、ActiveTclね。スマソ。
ActiveTclにしてみた。とりあえず今のところ問題なし・・・
なんだったんだろう・・・。さんくす>>112
115デフォルトの名無しさん:03/05/20 02:01
うーんよくわからんな。
tkウィジェットオンリーなら拡張子を.tkにしてドラッグアンドドロップ
したほうが良いかも
116デフォルトの名無しさん:03/05/20 02:24
bwidgetを使わないでツールチップを実装するには
どうすればいいんでしょうか
117デフォルトの名無しさん:03/05/20 10:39
pop3/smtpでメール送受信したいんですが、
良いサンプルが見つかりません。
118116:03/05/20 18:31
自分で作ったむにょ。Balloonウィジェットクラスを
オーバーライドしただけだが、ここに記録しておく。。。
infoを書き換えてマウスの位置にこのウィンドウを
イベントで呼び出すだけだむにょ。

proc create_tooltip {} {
option add *Balloonhelp*background white widgetDefault
option add *Balloonhelp*foreground black widgetDefault

toplevel .tooltip -class Balloonhelp \
-background black -borderwidth 1 -relief flat

label .tooltip.info -pady 0
pack .tooltip.info -side left -fill y
wm overrideredirect .tooltip 1
wm withdraw .tooltip
}
119デフォルトの名無しさん:03/05/20 22:13
120デフォルトの名無しさん:03/05/21 20:54
デバッグで変数の中身とかをチェックしたい時どうしてます?
121デフォルトの名無しさん:03/05/22 21:53
traceコマンドを使うと指定した変数が読まれるたび/書き換えられるたびに
指定したコマンドを実行させることが出来る
122デフォルトの名無しさん:03/05/23 01:33
知らぬまに
8.4.3
でていたよ
123デフォルトの名無しさん:03/05/23 02:35
質問です。つぎのようにすると、メニュー1というメニュー項目と、その
中に果物の名前が排他的に選択できる項目ができます。これで例えば
ばななを選択した場合に、”メニュー1”となってる部分を”メニュー1(ばなな)”
というふうにラベルを書き換えたいんですが、configとかでもラベルを書き換え
たりとか出来ないみたいなんです。似たウィジェットにtk_optionMenuというのが
あるんですが、トップレベルのメニューから階層的な位置に置く方法が
イマイチよくわかりません。
このような事を実現する方法はありませんか?

. configure -menu .mbar
menu .mbar
.mbar add cascade -label "メニュー1" -menu .mbar.m1
menu .mbar.m1
.mbar.m1 add radiobutton -label "みかん" -value 0 -variable select
.mbar.m1 add radiobutton -label "りんご" -value 1 -variable select
.mbar.m1 add radiobutton -label "ばなな" -value 2 -variable select
set select 0
124デフォルトの名無しさん:03/05/23 02:36
WizOnline開発中!プログラマ緊急募集(C,Java)
http://219.96.231.242/wizonline/
2chスレ
http://game3.2ch.net/mmominor/dat/1053536167.dat





125デフォルトの名無しさん:03/05/25 18:59
tcl/tkを勉強し始めまして(環境Solaris7で,tcl8.3.0,tk8.3.0の順に
パッケージからインストール)
ttp://www.geocities.co.jp/SiliconValley/4137/dir1/tstart1.html
このページを見ながらやってるんですが,サンプルがうまく実行されません.

#! /usr/local/bin/tclsh8.3
label .la -text 出たよ
button .c -text 終了 -command exit
pack .la .c -side top

これを実行しようとすると,invalid command "label"となってしまいます.
Windows環境でtclshのパス以外同じソースではうまく実行できました.
ぐぐっても該当するようなエラーが見つからないのですが,どんな原因が
考えられますでしょうか?
今時の tcl/tk って日本語 OK なんですか?
そうだったら使ってみたいけど。
128デフォルトの名無しさん:03/05/25 19:36
いまどきのtclは内部はUnicodeだし、shiftjis<->eucの
変換ライブラリもあるからラクチンだよ。
>128
ホントだ。thanx!!
130デフォルトの名無しさん:03/05/25 19:54
>>125
Tk使ってるんっだからwishで実行しろ
131デフォルトの名無しさん:03/05/25 20:54
変数名や関数名にも日本語使えるぞ
132デフォルトの名無しさん:03/05/25 21:16
Tcl/Tkはいま旬ですか?

PythonやJava、C++とくらべどうですか?
>>132
PythonはTclと競合してるかもしれんが、
Java、C++ は使いどころが全然違うから
比較できん。
Mac OS X の TclTkAqua で日本語入力出来なかった・・・。
しかも 2ch viewer が二重カキコ・・・。スマソ...
136125:03/05/25 23:45
>>130さん
レスありがとうございました.無事実行できました.
137デフォルトの名無しさん:03/05/26 04:07
漏れならPython使うくらいならRubyかC使うが・・・。
Tclはウィジェットの取りまわしが楽だし、シェルっぽい
ところがお気楽だから使うだけ。そのお気楽さが解らずに
Pythonとどっちやろうか悩むというのは解せんな。
Tclって思ったより速いんだな・・・。
tcl/tk って C から呼び出しても interprete してるの?
C/tk の良いサイト無いですか?
142山崎渉:03/05/28 12:43
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
>141
thanx こ。
事前にググッてみたのですが、あんまり情報多くないですね。こんなに手軽そう
なのに。

ここに来る前は tcl/tk をちょっとバカにしていましたが、結構活発に開発されて
いるんですね。びくりしました。
おっと、ActiveTclね。スマソ。
これってEXEにできますか?
146デフォルトの名無しさん:03/05/31 18:59
ほれ
http://freewrap.sourceforge.net/

そのままだと日本語のエンコーディングファイルが含まれないので
なんかする必要があると思った。忘れたけど
147デフォルトの名無しさん:03/06/01 17:18
質問します。

aiueo kakikukeko tatituteto

という文字列が変数に入ってたとして、
「kakikukeko」だけを取り出すにはどうすれば委員でしょうか?
148デフォルトの名無しさん:03/06/01 18:17
splitしてlindexで二つ目を取り出せばよい
>>148
どうもありがとう!
一生懸命考えて、Cで拡張しようかと思ったよ。。。
バイトコードコンパイルするんじゃなかったか?
でも今の8.4.3にはコンパイラついてないよね。
あとfreewrapでラップしたのって、空白文字を
含んだパスが通らないような。
まんどくせーからwish.exeと一緒に配布でいいじゃん?
151デフォルトの名無しさん:03/06/02 22:22
C言語からの利用なんだけど。
DigitalMars C でナゼか Tcl/Tk 付属のLIB(tk84.lib tcl84.lib) が
Not Valid とかいうエラーで弾かれてリンクしてくれない。
VC++ だと大丈夫なのに... だれか DMC + Tcl/Tk の構成で上手く動いた
ヒト居る?
152デフォルトの名無しさん:03/06/02 22:44
OMFのライブラリをリンク出来ないやつなんじゃない?
知らないけど
153デフォルトの名無しさん:03/06/02 22:47
>>151
ActiveTclならDMCのcoff2omfでライブラリを変換すればできた気がした。
関数から関数の変数を使うことって出来ませんか?
なんかglobalやっても駄目見たいなんですけど。
初心者丸出しの質問でもよろしこ。
155デフォルトの名無しさん:03/06/02 23:14
>152,153 Thanx!!
うがっ!! 形式か... なるほど、それで Not Valid な訳...
Tcl/Tk はActiveTclでつ。うーん、しかしDMCのcoff2omfは
現在有料なんだよなぁ(^^;
確認したいけど手元に無いときたもんだ。
さて、どうやって遊んだものか...
156デフォルトの名無しさん:03/06/02 23:27
>>154
質問の意味がわかんないので「こんな風に書けないの?」的コードを書いて見せて
>>154
プロシジャ内で定義された変数は、ローカル変数となりプロシジャ内でのみ参照できます。
158154:03/06/03 16:36
あんの、初めて見て、何となくMSNメッセンジャーの
クライアント作ろうと思ったんですけど、

proc test1 {} {
  set sock [socket "hogehoge.com" 80]
  }

proc test2 {} {
  puts $sock "test"
}

これは無理っすかね?
159デフォルトの名無しさん:03/06/03 21:02
普通そういう場合はtest1からチャンネル識別子をreturnして
それを引数としてtest2に渡すんじゃなかろうか。

グローバル変数でもいいけどそしたらこうだよ。

proc test1 {} {
global sock
set sock [socket "hogehoge.com" 80]
}

proc test2 {} {
global sock
puts $sock "test"
}
>>159
サンクス。無理矢理ログインはでけた。
あとは、動的にサーバーからメッセージを受け取る方法を
考えなきゃな欄。
どうも、メッセージがないのにgetsを使うとフリーズするっぽい。
161デフォルトの名無しさん:03/06/14 21:03
小倉優子たんと藤本美貴たんのコラを発見したでつ。
(*´Д`*)2人のつるつるワレメがっ!(*´Д`*)ハァハァ
http://plaza16.mbn.or.jp/~satchel/turuturu/
162デフォルトの名無しさん:03/06/20 04:23
cygwinでToglをインストールしたいんだけど、
何をどう書き換えたら良いのか分かりません。
誰かいいページとか、ヒントください。
163デフォルトの名無しさん:03/06/20 06:41
Toglってなんじゃ
164デフォルトの名無しさん:03/06/20 07:05
( ´_ゝ`)∂ チョットこいや…
http://www.k-514.com/
165デフォルトの名無しさん:03/06/20 18:10
>>155
亀レスだが、Cでつくった関数を呼び出すだけなら
Ffidl なんてどうでしょうか?
ttp://www.interq.or.jp/japan/s-imai/tcltk/ffidl.html
167デフォルトの名無しさん:03/06/20 19:35
168デフォルトの名無しさん:03/06/20 20:40
169デフォルトの名無しさん:03/06/21 01:08
Toglって、GLUTとかMesaとか入れておく必要ある?
170デフォルトの名無しさん:03/06/23 23:03
Python/Tk神は現れませんか?
Batch/Tkこそ紙。
Expect使って、dbxでCのプログラムを起動。パラメータを条件に合わせて
変更してるプログラム見た。神だ(藁
173デフォルトの名無しさん:03/07/10 03:37
tclあげ
174山崎 渉:03/07/15 09:59

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
tkマンセー
176デフォルトの名無しさん:03/07/25 03:44
Tcl/Tkって、二つ以上のウィンドウを立ち上げて、
あるウィンドウから別ウィンドウを操作するってことは可能ですか?
177デフォルトの名無しさん:03/07/25 05:53
Tclのインタフェースってボタンしかないのか?
ハイパーリンクみたいのはできんのか?
178_:03/07/25 06:15
179デフォルトの名無しさん:03/07/25 07:16
文字列のリンクにしたい部分にtagをつけてバインドすればできるとおもうよ
180デフォルトの名無しさん:03/07/25 07:18
ていうかActiveTclについてるTkデモがちょうどそんな感じじゃないか
perl/tkやruby/tkのように
Cで使うのはどうやるんだろ

tcl_eval使うのはいやー
182デフォルトの名無しさん:03/08/01 05:18
WindowsXPなんですが、どうすればTcl/Tkをインストールできますか。
(cygwinとか使わずに。)
>>182
検索覚えようね
Google Search: Tcl/Tk
http://www.google.com/search?lr=lang_ja&q=Tcl%2FTk

ASPN : Downloads : ActiveTcl
http://aspn.activestate.com/ASPN/Downloads/ActiveTcl/
184デフォルトの名無しさん:03/08/01 21:03
ていうか、盛り上がれ!
Tcl/Tk
185デフォルトの名無しさん:03/08/01 21:09
ASPN : Downloads : ActiveTcl
http://aspn.activestate.com/ASPN/Downloads/ActiveTcl/
で、Downloadしたものをインストールしようとすると、
Errorになってしまうんですが
186デフォルトの名無しさん:03/08/01 23:11
デスクトップとかじゃなくてC:\とかASCII文字列のみの場所に置く
187デフォルトの名無しさん:03/08/02 01:33
インストールできました。ありがとうございます。
早速、デモを見て感動しました。
Cと併せれば凄い武器になりますね。
188山崎 渉:03/08/02 02:02
(^^)
189名無し募集中。。。:03/08/02 06:43
Tcletを
ttp://tcl.activestate.com/software/plugin/download.html
のSelf-installing executable (~1080 k)からダウンロードして、
実行したんですが、IEが3.0または4.0もしくはネットスケープに
インストールしますかと出てきます。
IE6なんですが、IEの方を選択してもインストールできませんでした。
どうしたらインストールできます?
>>189
Windows98SEにインストールしてみた。インストールは出来た。
IE6ではセキュリティを最低にしても動かず、Opera7では動いた。
アンインストールしようと思ったが、アンインストーラが無かった。。。
191デフォルトの名無しさん:03/08/02 10:05
Tcletはもう長いことメンテされてないはず
192デフォルトの名無しさん:03/08/02 11:56
Tkって日本語扱えますか?
Tk って標準で出来る事が少ないな。こんなもんか。
195デフォルトの名無しさん:03/08/04 23:55
キャンバスウィジェットのアイテムにタグをつけるとかは
他のGUIツールキットじゃなかなかできないぞ。

あと拡張ウィジェットセットはいくらでもあるから試すとよろしい
Tk を C から呼び出した時のパフォーマンスってどう?
やっぱりインタープリタの速度に準じるのかな。内部的には Tk コマンドを
インタープリトしてるんだよね?
>>196
API直叩けば
直接触れるのでは?

けどCから使うならgtkの方が良さげ
>197
なるほど、そうですね。

Gtk+ が使えれば良いのですけど、移植待ちです。スクリプト言語からの使用と
図形の描画は tk の方が楽だと思います。
もしかして Tk API ってかなり低レベルのライブラリ?
乱暴だけど Gtk+ に例えると、glib = Tcl API, gdk = Tk API, gtk = tcl/tk
みたいな感じ? C から直接 tk の widget 使えないのかなぁ。
>>200
激しく使える。
>201-202
それって Tcl_Eval 経由ですよね。あるいは generic の中身を全部リンクするか。
list とか button とかって直接呼ぶ方法あるのかな。
204山崎 渉:03/08/15 16:02
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
205デフォルトの名無しさん:03/08/17 18:29
教えてほしい。
 WindowsマシンでDiskDrive名のリストをgetするにはどうすればいいのか?

 明日から会社で急ぎでつ。
206_:03/08/17 18:40
207デフォルトの名無しさん:03/08/18 03:36
age
SDLのスレってありませんか?
209デフォルトの名無しさん:03/08/20 14:12
Tcl/Tk参考サイトまとめてみた
http://nul.jp/tcl/
http://www.geocities.co.jp/SiliconValley/4137/tcltk.html
http://www.geocities.co.jp/SiliconValley-Oakland/1680/
http://www.interq.or.jp/japan/s-imai/tcltk/index.html

マルチプラットフォームで、GUI作れて、国際化もバッチリなんだよぅ。
拡張使えば出来ないことなんてほとんどない。ろくに国際化出来てない
糞言語はさようなら。
210デフォルトの名無しさん:03/08/20 14:35
亀レスだけど、205は
file volume
じゃだめなの?ローカルのドライブリストが
返ってくるはずだけど。
211205:03/08/20 19:03
>>210
OKでつ。 できました。
ありがとう。 OnlineHelp嫁ってことでつな。
212デフォルトの名無しさん:03/08/23 04:25
tcl/tk8.4をソースからmakeしたんだけれど、国際化云々の話はtclの方なのか?
tkで日本語の表示が化けるけれど、パッチ当てないとだめ?
8.4のpatchなんて見当たらないんだが。

当方,lin kernel 2.0.38,X11,tcl/tk8.4.4
>>212
どの辺で文字化けするの?
自己解決しました。すみません。makeしてpatchあてずにそのままでも
LANG以外にLC_ALLを設定したらtkのwidgetで日本語表示できました。
212です。
entryの日本語入力はunix場合できますか?XIMP辺りのpatchを当て
る必要あるのでしょうか?
216デフォルトの名無しさん:03/08/23 17:05
>>215
不要。
日本語入力時下記を追加
tk useinputmethods 1
Shift + Space で漢字変換用のウインドウがでます
217デフォルトの名無しさん:03/08/23 17:07
>>215
sample1
#!/bin/sh
# the next line restarts using wish \
exec wish8.4 "$0" "$@"

# echo1.tcl

# 日本語入力
tk useinputmethods 1

wm resizable . 1 0
set font k14
set t0 "" ;# ダミー

entry .e0 -font $font
label .l0 -text $t0 -font $font -relief groove
button .b0 -text "Enter" -command {
set t0 [.e0 get]
.l0 configure -text $t0
}

pack .e0 .l0 .b0 -fill x
218デフォルトの名無しさん:03/08/23 17:08
>>215
sample2
#!/bin/sh
# the next line restarts using wish \
exec wish8.4 "$0" "$@"

# echo2.tcl

# 日本語入力
tk useinputmethods 1

wm resizable . 1 0
set font k14
set t0 "" ;# ダミー

entry .e0 -font $font
label .l0 -text $t0 -font $font -relief groove
bind .e0 <KeyPress-Return> {
set t0 [.e0 get]
.l0 configure -text $t0
}

pack .e0 .l0 -fill x
219デフォルトの名無しさん:03/08/23 19:01
http://tv3.2ch.net/test/read.cgi/geinin/1060061213/541
2ちゃんねるで今度はハイジャック予告
220212:03/08/24 07:03
>216,217,218
えー!本当ですか?私の所ではそうならないんですが、linuxのcannaかkinput2が
古いのかな。もうちょっと新しいdistで試してみます。ありがとう
221216:03/08/24 16:57
>>212
>entryの日本語入力はunix場合できますか?
^^^^^^^^
と言う事だったので↓です。特に何もしないで入力できてます。
FreeBSD4.7
XFree86 4.2.1
Canna 3.5b2
kinput2 -version -> kinput2 version 3.1 -beta2-
tcl/tk 8.4.1
【参考】
・Ctrl+\, Ctrl+oで入力できるか
・他のアプリケーション(kterm等)では入力できるか
  NG->1.Cannaが起動されているか確認。
     psまたはcannastatで確認
    2..xinitrcまたは.xsessionの確認
     kterm -geometry 80x40+0+0 -sb -km euc &
     kinput2 &  <----これがあるか
     exec fvwm2
・環境変数の設定を確認
  csh,tcsh
   setenv LANG    ja_JP.eucJP
   setenv XMODIFIERS @im=kinput2

  sh,bash
   export LANG=ja_JP.eucJP
   export XMODIFIERS="@im=kinput2"
・Linux固有の問題
222デフォルトの名無しさん:03/08/25 03:43
BWidget1.6のPanedWindowで下記の様なGUIを作りました。
↑をドラッグして|1234|の領域を拡大すると
|abcd|の領域が縮小して|123456|ab|ABCD|になりますが
|1234|abcd|AB|みたいにしたいのですわ。(WinのExplorerみたいに)
TCLの神々、やりかた教えてください。

|1234|abcd|ABCD|


    
223デフォルトの名無しさん:03/08/30 16:16
age
224デフォルトの名無しさん:03/08/30 23:43
tclの通信関連の記事が全然見つからぬ。
225デフォルトの名無しさん:03/08/31 00:04
226デフォルトの名無しさん:03/08/31 00:11
227デフォルトの名無しさん:03/08/31 01:31
Tcl標準のHTTPモジュールって
HTTPヘッダをもとに文字コードを内部エンコーディングに
変換してくれようとしてるのはいいんだけど
Tclの文字コード名(shiftjis, euc-jp...)そのままでやろうとするから
日本語の場合euc-jpはTcl名とIANA名が同じだからたまたまうまくいくけど
shift_jisはTcl名だとshiftjisだからうまくいかない。
こんな手抜き実装がなぜいつまでたっても直らないのか。
誰も指摘してないのだろうか。
228224:03/08/31 02:00
>>225鼻血が出るほど英語ですね。
でも、ありがとう。Exciteと一緒に使います。
>>226ソケットですかぁ。なーる。
ありがとうございます。
今まで、数値計算のプログラムをCで書いていて、カンマ区切りテキストで
ファイルに吐き出しては、エクセルなどの表計算ソフトに読み込ませて
グラフに表示させ、結果が気に食わないとまたCのプログラムを走らせて・・・

なんてことをやっていたのですが、手作業の時間のほうが計算させる時間
より長くてムダだぁ と思っていたところに、Tcl/Tkなる接着剤言語(?)
があると聞きました。

そこで、Tcl/Tk の入門書を読んで試してみたいのですが、全く言語仕様を
知らない、そして他の言語でもGUI環境のプログラムを書いたことはないという
ドシロウトが読むといい本はないでしょうか?
230デフォルトの名無しさん:03/08/31 22:00
どの部分をTclにやらせたいの?
数値計算の部分?
エクセルに読ませる作業の自動化?
グラフ表示の部分?
231229:03/08/31 22:40
>>230
レスありがとうございます。

計算そのものはすでにあるCのプログラムを使い、Cが吐き出した
計算結果をTcl/tkでグラフ表示したり、その結果をみて、Tclの画面で
対話的にパラメータを与えて、もう一度Cのプログラムに計算させなおして、
再度Tclで表示する・・・

と、いうようなことを考えています。

エクセルはただグラフを描くだけのために使っていますので、特にエクセルで
なければならないという必然性は全くないです。

標準入出力とテキストファイルしか使ってない、Cで書き溜めた
数値計算のプログラムがいくつかあって、いままではバラバラに
計算させて作らせたファイルを、エクセルで読み画面上でコピー&ペースト
して手作業で並べ替えてからグラフを描かせていたりしたのですが、
作業効率悪いなぁ というのが、そもそもの動機です。

シロウト考えなんですが、なにやらTcl/Tkというよいものがあるらしいと聞き、
勉強してみようかなと思っているところです。
232229:03/08/31 22:45
実は、近所の本屋さんに行ってみたら1冊だけTcl/Tkの本がありました。

『はじめてのTck/Tk』という本なのですが、買って読んでみたところ、
どうも Windows というのが Windows3.1 のことらしくて・・・
233デフォルトの名無しさん:03/08/31 23:17
正直、書籍でこれっていうのあんまりないんだよね。
Tcl好きの私の手元にも今Tcl本は何故か無い。
Webの情報だけで結構いけると思うんだけどなあ。

「Tcl/TK入門」ブレント・B・ウェルチ、という
入門の名にふさわしくない分厚い網羅的な本があって、良い本だけど、
Tcl8.0の時代ので国際化とかあつかってなくてもう古い。あと高い。
234229:03/09/01 12:05
>>233
なるほど、ありがとうございます。
取りあえず、手元の本とウェブの情報で勉強してみます。

『はじめてのTck/Tk』をぱらぱらと読んでいるところですが、私のやりたい程度
のことなら、これで十分かも。

(やりたいことは素朴なもので、単にテキストボックスにパラメータを入れて
ボタンを押すと既存の .exe ファイルを実行して、できた結果を標準入出力か
一時ファイル経由で受け取って表示するという程度なので)
235デフォルトの名無しさん:03/09/01 12:14
>>231
うーん!オレなら
C/C++で数値計算->Perl/AWKで整形->Xgraph/gnuplotで表示
って具合に処理するよ。
237デフォルトの名無しさん:03/09/01 13:22
グラフならTcl/Tk拡張のBLT。このサイトで紹介してある。
http://www.interq.or.jp/japan/s-imai/tcltk/index.html

>>236
Tcl/Tkならその一連の流れを簡単にまとめられる。
ていうかTcl/Tkってこういう時のための接着剤(グルー)だし。
数値計算ならほとんどの場合
>C/C++で数値計算->Perl/AWKで整形->Xgraph/gnuplotで表示
これですむし、>>229のようにExcelに取り込んで云々程度であれば
Tcl/Tkでまとめるより、シェルスクリプトで十分じゃねぇか。
239237:03/09/01 17:44
>>238
うーん。いや、わかるよ。
でも毎度3つのツールを使うんだったら、Cで書いた計算プログラム
をexecなりなんなりで実行して、その結果をTcl/Tkで受け取っ
て整形、最終的にBLTで表示っていうのをまとめたツールを作っ
ちゃえば、使う時に楽だと思うんだけど。頻繁に使うなら特に。
>>239
いや、だからね。接着剤の部分は
シェルスクリプトでちょいちょいと書けば十分でしょ?
って言ってるのよ。
tcl のexecもいらないよ。例えば数値計算実行ファイルをmysim、
それが吐き出すファイルをsimulate.dat, 整形プログラムをreform.pl
整形データをreform.datとすればこんな感じ。

#!/bin/sh
mysim > simulate.dat
reform.pl simulate.dat > reform.dat
xgraph reform.dat

でいいんだから。特に最後のグラフの部分をtcl/tkで書くとしても
細かいこと考えると結構面倒よ。2次元でいいならxgraphが一番手っ取り早い。
241デフォルトの名無しさん:03/09/01 20:47
グルーとしてのスクリプト言語って普通
ひとつだけ覚えてそれだけでなんでもかんでもやるもんだから
Tclじゃなくてもいいっていうのは正しい。
でも同じようにPerlじゃなくてもいいしawkじゃなくてもいい。
Tclでやろうかと思ってる人にあえて他のをすすめる理由は無いよ。

あとWindowsを使ってる(エクセルっていうからそうなんだろう)ようだから
awkやシェルスクリプトは環境的に馴染まないと思う。

「対話的にパラメータを与えて」っていう要件を考慮するとTcl/Tkは良い選択だと思うよ。

ところでExcelをCOM経由で(Tclならtcomを使う)オートメーションする
っていう方法もあるよ。
242デフォルトの名無しさん:03/09/01 20:51
そうそう、援交ものはこうでなくっちゃ。
かわいい少女のツルツルオマンコに生姦、中出し!
映像の乱れは気になりますが挿入シーンはバッチリですよ。
オマンコからトローリ流れ出てくるザーメンはマニアには
たまらないでしょう。これは必見!
素人援交女ばかり!今すぐ無料ムービーを!
http://66.40.59.73/index.html
研究用のメインOSとしてWin使って研究してるなら、それこそ
HDDを一台買って、LinuxなりFreeBSDをインストールしてメインの
開発環境はそちらに移行することをすすめるよ。研究用のメインマシン
としてWinはどうかと思うな。Winマシンは補助的には使うから不要って
わけじゃないけどね。

対話的にパラメータを与えてごちゃごちゃするならExcelで読み込んでるのと
何も変わりは無いだろ?そういうごちゃごちゃなしにザッと適当な処理を
するからオートメーションの意味があるわけよ。
まぁ、プレゼンや論文用のきれいな資料作らなきゃいけない場合もあるだろ
うから、そういう場合にはMatlabあたり使って計算しながら資料作ればいいよ。
244237:03/09/01 22:01
>>240
はい、それの方が手っ取り早いと思います。
ただ、これらをまとめたhoge.tclを作れば、GUIもつけれるし、
シェルスクリプトも一行ですむな、と。241の言うように、状況
にあわせてツールを使い分けるのは大切だし、細かいところまで
作り込むのはたしかに手間かもしれません。
245デフォルトの名無しさん:03/09/01 22:33
243には自分の気に入ってる環境がすでにあるんだから
それでやればいいってだけの話だよ。

環境が違う人には違うソリューションがあるよ。
面倒をかけずにさっさと済ませるためのスクリプティングなのに
「環境をかえろ」なんて本末転倒だよ。
数値計算シミュレートの研究するにはそれにふさわしい環境があるんだよ。
>>245
ど素人はすっこんでな!
247229:03/09/02 22:38
>>246
いくつかのサイトを見て、Tcl/Tkやいろんな人が入門用に作って
下さっているサンプルをダウンロードして試しているところなのですが、
数値計算の研究者はTcl/Tkを使ってはいけないのでしょうか・・・

そういうわけでは、ないですよね? 今、ちょこまかとサンプルをいじって(壊して?)
楽しんでいるところなのですが、対話的に数値実験をする環境を作るのに、
よさそうなんじゃないか、という感触を持っているんですが。

混乱のタネのまいたようでしたら、すみません。おじゃましました。
248229:03/09/02 22:48
> 数値計算の研究者は

いや、学位は持ってませんので、シロウトですね。お叱りが来る前に訂正して
おります。すみません。まあとにかく、「今よりマシ」になるなら十分ありがたいので、
まずは最初に思いついたように Tcl/Tkの勉強をやってみようと思います。

もちろん、FreeBSDやLinuxに興味がないわけではないのですが(そもそも、
Tclに興味を持った理由のひとつは、複数のOSで動くから、ということもあるので)、
何か知らないことに手を出すときは、一回に一つにしておきます。
249デフォルトの名無しさん:03/09/06 16:00
誰かTclBlendをWindowsでコンパイルできるひとバイナリを配布してくれ。
MinGWで挑戦してるがどうもだめだ。
250デフォルトの名無しさん:03/09/06 16:29
>>249
本家のココにWin用のバイナリあるけど、これじゃダメなのか?
http://www.tcl.tk/software/java/download.html

Tclのバージョンは8.3みたいだけど
251デフォルトの名無しさん:03/09/06 20:57
そっちは古いバージョンなのさ。
TclはともかくとしてJavaのバージョンを選ぶんだよ。
252デフォルトの名無しさん:03/09/07 00:41
だったらそう言えばいいものを・・・
Tcl/Tkのサンプルプログラムを見ていて気がついたんですが、
創始者の先生の顔のビットマップ画像ファイル face.bmp って、
WindowsでいうBMP画像ではないのですね・・・

中味を見たら、Cのヘッダファイルみたい。
254デフォルトの名無しさん:03/09/09 23:04
255253:03/09/10 00:52
>>254
はい、それでーす。

いろんなTkの入門サイトを見る限りでは、BMPに対応してないはずなのに、
ファイル名は .bmp だし、デモのソースコードでも、-bitmap face.bmp と
書いてあるので「おや、BMPに対応しているんだ」不思議に思いつつ、
手元にある別のBMP画像のファイルを指定すると読めないし、
ぎゃくに、GIMPで face.bmpのほうを表示してみようとすると、これまた
読めないので、一瞬何事かと思ってしまいました。
256デフォルトの名無しさん:03/09/10 22:52
まだこのスレあったのか?
257デフォルトの名無しさん:03/09/11 00:05
書きこんでるならきくまでも無いな
incr Tclっていつ本家に吸収されるの?

計画はあったと思うけど。

最近追いかけてないので。
259デフォルトの名無しさん:03/09/17 22:10
ActiveTclに含まれてれば事実上本家みたいなもんだとおもうけどなあ
>>259

知らんかった。Thx!

Tclって全然
「オブジェクト指向スクリプト言語」として
見られてないよね。
もったいない。わりとこなれてるのにね。
261デフォルトの名無しさん:03/09/25 22:01
249だけどやっとTclBlendのWinコンパイルできた
262デフォルトの名無しさん:03/09/27 01:03
Tokyo Chinease Land / TaKadanobaba Kamata
263デフォルトの名無しさん:03/10/11 13:18
あげとくか
canvasとlineを使って有向グラフを書くツールを作ろうとしているのですが、
ドローツールによくある

 図形(線)の端をドラッグするとマウスの動きにあわせて伸び縮みする

機能が実現できないでいます。

今はマウスの移動イベントが発生するたびに、前のlineオブジェクトをdeleteして
新しい座標でcreateすることを繰り返しているのですが、100ピクセルも動かす
と固まってしまいます。

おそらくオブジェクトの生成・破棄の回数が多すぎるからだと思うのですが、
正しい方法をお教えいただければ幸いです。
265デフォルトの名無しさん:03/10/23 10:59
>>264
つい2週間まえからTclの勉強を始めたばかりなんで、
はずしていたらすみません。

解説書をみると、
キャンバスにあるアイテムの座標は、
(canvasName) coords tagOrId ?x1 y1? ... ?xn yn?
という書式で変更できるみたいですね。

canvas .c
pack .c
set myLine [.c create line 0 0 100 100 -arrow both]

for {set i 0} {$i < 200} {incr i 5} {
.c coords $myLine $i 0 100 100
update
after 100
}
>>265
ありがとうございます!
まさに求めていた方法でした。

私もはじめたばかりで、ヘルプをみながら書いているのですが、
これが分かりにくくて…なにか本を買ったほうがよさそうですね。
canvas coords example -- zip & base64

UEsDBBQAAgAIALS0Vy+mXet/hAMAAG0KAAAIABUAdDAxYS50Y2xVVAkAA6PZlz+j2Zc/VXgEAOwD
AQKdVsFu2zgQPduA/2Eaq0CbwIlYtJe0KbDbusihXRTdHLZwjYKWGImoRHkpyrER+N93hpRkypay
QA+CJM68x+HM45DTZ1dVqa9WUl0JtQETZWU6Ga959IsnArT4t5JawN2vyXgyVjwXJZoEiA3P4C5k
8EjjG64lX2UCeGTkRtxyFWfik8wyxMcAUp2Mr7JKeLgii/+BEOj9HcK3AK0llqWBN55rytUrfHwf
GsqkEhTKWhcRFOrnWouyxMkfI65gC7s9RToaDNS32WCCbR1NsCPaUSkMSCNyWATEeC9VDA/SpIYn
EFVaC2WW6Cbv4XFRGi1VAplQiUkhINgSbm4g3GM+TKVVy4josmYkryjBMesPMzI1jM8aypybKIXz
2z/++vh5fg6BdeqwHrgKdS+TCmvnEcIChyNu4O/55/mHu/nHmqIJJxV3/x9RzxQt3eyeqhucpnfv
F0eLTPAnqnMqmKG1HU/ch3S4mCrVuB/FkxdGFmoomicV15WN70PqOVayXUaPRnpE1YS67JHOFPJi
Y6PARTYLtENtPhZiu9ao4llAcS2b/539/94UvJb64a/Vez1FvUgnDlm6tP7GHjiAB3bCdhfCItNc
JQ19VBQ6LrvQEFgbOopV1/EEdYleeM4vW2I2QOwxdJhpzY6Svo45OxTW1aV2gd+x2GI2cSXh8iKg
ei/7jKwx/hiNTszsKSxDLFyAM/sajrTgRvx0gvidnte7b06lS+nBSZpE2lmxkpHB9GbCE52/ABKd
+/+BFKPG6eLIqfkf3MkDvYcqVXc31xdtpCsSp/V+92dlTKG+0oEwY+/hDI+t62vviLBez7fwfHfW
B/zmmlUH2jawQewX21I8SN1jOgCEuG1gF9FTUKsvV84QUDpbBjvW356Oh5oD8SDpTtGcyJE1QNoA
eYMdG0qw1wScwnCrdhVnUTXbsuPKBlzbCWtXt31r+pdQfzHPwW3Gg0c3Kh/PWnw4gGct3iuBGzjU
IOcSzwSX7YccjDQY/iWcxZoniW1ulENqgPVaSQLF2paZxzGcf+Bqw8vLFd6lEl1U1C1TTC16RdYC
lxHMHmSMBK/CEGapkElq6JtcPAWg3xu8HeHD3LvXzkJnZwN4dnjQTjc8NDSq5bjn3s3LiK/Fe3gU
W2n2dS72b2EKPTe/KRmtuilRk/EUNjK/LnOuDTUsRbebVWmK9c1rUFW+Enoy/g9QSwECFwMUAAIA
CAC0tFcvpl3rf4QDAABtCgAACAANAAAAAAABAAAAtoEAAAAAdDAxYS50Y2xVVAUAA6PZlz9VeAAA
UEsFBgAAAAABAAEAQwAAAL8DAAAAAA==
Tcl/Tkのmanual はリファレンスだから、読んでもよくわからないコマンドも多いですね。

サンプルコードを読んで学ぶのなら、
ソースdistributionの tk?.?.?/library/demos/* とか、
http://aspn.activestate.com/ASPN/Cookbook/Tcl/
http://wiki.tcl.tk
のへんに、参考になるものがたくさんあります。

特に Richard Suchenwirth さんの作品集は楽しくて、刺激されます。
http://mini.net/tcl/1683
>>266
> なにか本を買ったほうがよさそうですね。

検索エンジンで「Tcl 入門」とか探すと、結構いい情報が得られるよ。

本は、最近のバージョンに対応したものは、日本語ではないみたい。
おまけに、少し前にでた本も、軒並み絶版だったりして(涙)。

アマゾンで、Tcl/Tk: A Developer's Guide って本(英語)を買ったけど、
初心者向けに問題集が用意してある点なんかはいいけど、各コマンドの
オプションについて一部分しか記述していなかったり、付録CDのファイルに
抜けがあったりで、いい本を作ろうとして途中で力尽きているような感じが
したなぁ。

(CでTclを拡張するサンプル、インクルードすべきヘッダファイルがCDに
入っていない・・・ いや、実は違う名前のヘッダファイルの中味がそれだったり
する。5年前に出した本の付属CDのファイル名らしい)

同時に買った、Practical Programming in Tcl and Tk は、Tcl/Tkについて
網羅的に取り扱っている本で、amazon.comの読者の評判もかなり高い。
ただ、これはこれで何もかも載せているから、ひとつひとつの説明のページは
ちょっと少ない。

やっぱり、ウェブで情報を集めて、動かしながら試すのがいいのでは?
初歩的な質問で済みませんが、Windows版のTcl/TkでDLLをロードするには
パスの指定などはどうやればいいのでしょうか?

あるサイトでTcl/TkとCで作ったオセロゲームがあるのを見つけて、ためしに
やってみようとダウンロードしたのですが、load コマンドのところでエラーに
なってしまいます。DLLはスクリプト本体と同じフォルダにあります。
(Dドライブの下に、TCLという名前のフォルダを作り、そこにダウンロードしました)

パスが通っていないのかと思って、ドライブ名からそのフォルダまで全部書いて
みたり、file join [pwd] などと付け加えてみたりしてもダメ。auto_path に今の
フォルダ名をlappendしてもダメ・・・

「this library or a dependent library could not be found in library path」
と、いうエラーメッセージが表示されるのですが、これって、そもそもどういう
意味なのでしょうか?

ActiveTcl 8.4.4を使っています。最初から付属してくるいろんなライブラリ(DLL)は、
load ファイル名.dll でロードできるので、パスの指定なのだろうなとは思うのですが、
それ以上のことが分かりません。
>>267-269
貴重な情報ありがとうございます。
おかげでドラッグ可能なグラフの表示ができました。

確かに、ウェブで検索すると説明ページがたくさんでてきますね。

キーイベントが拾えなかったり(.でなくcanvasオブジェクトにbindしていたため)、
起動時にウインドウがアクティブにならなかったり、packでのレイアウトが意図
通りにならなかったり…などなど、些細なところでいちいちつまずくので、
一度ちゃんとした本でtcl/tkの全体をおさえたいと思ったのですが、
ウェブのサンプルプログラムをたくさん見たほうがはやいかも知れません。

紹介されたページに行ってみます。


272デフォルトの名無しさん:03/10/25 15:35
Tkについて質問です。一般的に、*/Tkにおいて、
他のサーバとの通信のためにselect/pollと併用したい場合、
Tkのイベントハンドラとの関係はどのようになるのでしょうか?

1つの方法としては、自分でselect/pollを用いてメインループにし、
そこにTkが用いるものも登録して、そのイベント発生時にはTkを呼ぶ方法。

もう1つの方法としては、メインループはTk側のままであって、
自分が使いたいイベント(タイマーとか、通信ならファイルハンドラとか)を
Tk側に登録して、適時コールバックしてもらう方法。

こんなふうに2つほど考えられそうなのですが、現実としては、
どんな関数をどう用いればよいでしょうか。もしよければTcl/TkとPerl/Tkの場合を。
273デフォルトの名無しさん:03/10/25 17:52
linux + XFree86 の環境で、tk8.4 の widget に日本語を表示させる場合の
デフォルトのフォントは、どこで設定されているのでしょうか?

症状は、python + Tkinter で text 領域に日本語を表示させているのですが、
日本語の文字が全て□になって正常に表示されません。

Debian でごそっと X 関連のパッケージを入れ換えたら、何か変になってしまったのが原因で、
プログラムは動いていたものなので、フォント周りの設定か、パッケージ不足かだとにらんでいます。
*/Tk 一般というのは知らずに喋るんですが、
Tcl/Tk では、 fileevent コマンドで、ファイル
ディスクリプタまたはソケットディスクリプタに
対して、コールバックルーチンを登録します。
Perl/TkならPerlスレで訊くのがよいのでは。
Search Path Used by Windows to Locate a DLL
--
1. The directory where the executable module for the current process is located.
2. The current directory.
3. The Windows system directory. The GetSystemDirectory function retrieves the path of this directory.
4. The Windows directory. The GetWindowsDirectory function retrieves the path of this directory.
5. The directories listed in the PATH environment variable.
276デフォルトの名無しさん:03/10/26 16:31
>>270
それって↓でダウソしたのかな。
ttp://www.geocities.co.jp/SiliconValley-Oakland/1680/
だとしたらTcl/Tkのバージョンが合ってないんじゃないかと。
Tcl_CreateInterpやTcl_Init等Tclの関数を使わないでTkだけをC言語から使う手段はありますか?
278270:03/10/28 01:31
情報ありがとうございます。

>>275
なるほど、やっぱりカレントディレクトリも読み込みの対象になるのですね。
だとすると、読めないはずがない・・・ と、思ったら・・・

>>276
はい、そのサイトで勉強させてもらっているところでした。なるほど、再コンパイルが
必要なようですね。

どうもありがとうございます。
279デフォルトの名無しさん:03/10/28 05:14
いまさらTCLなんか使ってどうするの?大学の授業でしかつかわなかったなー。
280273:03/10/28 10:51
自己レスです。根本解決ではありませんが、どうも Debian のあるフォントパッケージが
悪さをしているらしく、そいつを purge したら正常に表示するようになりました。
ちなみに問題をおこしていた(と思われる)のは Debian/sid の msttcorefonts パッケージです。
281デフォルトの名無しさん:03/10/28 15:11
>>279
釣られてあげよう!
キミはTclの楽しさをしらないだけだぁ!
282デフォルトの名無しさん:03/10/28 20:48
いや、TCLはウィンドウプログラムでは役立つと思う。けど、まじで
社会でてつかわないんだよ。使うような場面あるか?ウィンドウズだったらVBだし
283デフォルトの名無しさん:03/10/28 20:52
●●●マスコミの盗聴、盗撮は許されるのか?その1●●●   http://natto.2ch.net/mass/kako/974/974478132.html
518 名前: 文責:名無しさん 投稿日: 2001/04/13(金) 17:49
>>514
マスコミの範疇にはいる会社は、全部、盗聴/盗撮を利用していると
考えて差し支えない。たとえば、原作....というドラマが放送さ
れたりしますが、実は、その原作の奥に、507みたいな本当の原作が隠
れていることがある。最近のNHKの朝の連続テレビ小説や夜のドラマに
はそのようなものがあるらしい。あえて有名作家の名前を冠するのは507
みたいなアイディア発想者のクレームを封殺するため。で、アイディアを
盗用したシナリオ・ライター(作家、編集者...等)は何かの媒体で
「自分」の作品を誉めることで、間接的にアイディア発想者を誉めて、
黙らせようとする。さもしい根性だよ。

591 名前: 文責:名無しさん 投稿日: 2001/04/16(月) 10:54
そう言えば、あがれの著名人が私についての盗聴内容やノートをネタにした
作品を読んだ時は、がっかりしたなあ・・・。
この人、この程度の人だったんだ、って・・・。
結構たくさん持っていた、その著者の本を、持っているのもつらくて
破棄してしまいました。

592 名前: 文責:名無しさん 投稿日: 2001/04/16(月) 10:56
>>591
>あがれの著名人
「あがれ」ではなくて「憧れ」でした。(笑)
284デフォルトの名無しさん:03/10/28 21:44
Tclは良いのだよ、Tclは。。
>>282
わたしはネットワークエンジニアですが、Tclを使いますよ。
以上です。
>>282

USで売れてる業務アプリには何故かカスタマイズ言語が
Tclなのがいくつかあるので使う場面あるよ。
MatrixOneの製品とかAdexaの製品とか。
>>282
使いたい人だけが使えばいいので、使い道を思いつかないなら無理に使う必要は
ないんじゃない?
>>285 ネットワーク試験機の Ixia や Smartbits ね。
アルバイト先のLSI設計ツールが、Tclを中に組み込んでいたなぁ
そのソフトを見たときは、Tclってのがいったい何なのか、全然
知らなかったけど。
Tclインタプリタを自作のアプリに組み込めるのは
わかったけどTkは組み込めるの?
ここまで書いた。

#include <stdio.h>
#include "tcl.h"
#include "tk.h"
void main(){
/*ここ不明*/
}
292デフォルトの名無しさん:03/10/29 21:23
Tclインタプリタを組み込んだらTkくみこんだも同然じゃないか
293デフォルトの名無しさん:03/10/29 22:15
>>290
組み込める。
Tclインタプリタを組み込まずにTkを組み込めるの?
Tkは Tcl_Interp の中で動くもの
296デフォルトの名無しさん:03/10/30 01:14
>>294
ソースコードもあるけど、あらかじめコンパイル済みの
オブジェクトファイルも手に入るから、自作のCプログラムにヘッダをインクルードして、
Tcl インタプリタと Tk のライブラリの両方をリンクする。
Perl/Tk Ruby/Tk tkinterとかもtclインタプリタ組み込んでるの?
298デフォルトの名無しさん:03/10/30 07:27
TkInterはすくなくともそう
Cだとメモリ上の構造体をバイナリで書き出したり、
Javaだとオブジェクトをシリアライズしたりするといったような
初期設定を簡単に保存する方法はありませんか?
300デフォルトの名無しさん:03/10/30 14:16
>>299

putsで "set 変数名 $変数名" というように、今の変数の値と名前を
ディスクに保存してやれば、後からそのまま読み込んで使えないかな?
301デフォルトの名無しさん:03/10/30 22:12
Tclは「すべて文字列」言語だからハッシュでも配列でもそのままシリアライズできるんじゃ?
>>300-301
色々調べてたらTclで構造体みたいなのは連想配列で代用するそうですね。
300さんの方法はトリッキーだなあと思ったのですが、Tclではデータを
スクリプトで書くのが推奨されてるようでして、連想配列でやるならファイルに
array set MyData {Name 小倉優子 Age 20}みたいなのをputsで書くようです。
301さんのそのままっていうのはまだちょっとよくわかりません・・・。
ちょっその方向で調べてみます。ありがとうございました。
303デフォルトの名無しさん:03/10/30 23:26
こんな感じじゃだめなん?

set freeze(abc) def
set freeze(ghi) jkl

set f [open frozen w]
puts $f [array get freeze]
close $f

set g [open frozen]
array set thaw [read $f]
foreach i [array names thaw] {
puts $i=$thaw($i)
}
304デフォルトの名無しさん:03/10/30 23:35
下から4行目は
array set thaw [read $g]
のつもりだtった
305デフォルトの名無しさん:03/10/30 23:37
これからはエディタで確かめてから書き込みをしなさい
306デフォルトの名無しさん:03/10/30 23:38
なんで小倉優子?
307デフォルトの名無しさん:03/10/31 00:24
freewrapのwindows版で作ったexeってパスに
日本語を含むと実行できんのね・・・。
なんとかならん?
>>307
やってみたけど(Freewrap5.5 + WinXP JP)、確かに、
exeを日本語名フォルダの下に置いて実行すると
アボートしますね。cp932.enc をアーカイブに含めても
同様にだめです。mesgが出ないのでどこでエラーが
生じているか良くわからない。
Starpack <http://mini.net/tcl/3663> の方は
どうだろうか??
309デフォルトの名無しさん:03/11/02 13:12
単一実行ファイル化手段の日本語化は整理されてないから
うまくいったらどこかホームページにでもあげてよ
310デフォルトの名無しさん:03/11/03 16:31
>>308
Dev Kitでダメなので、Starpackも無理なんじゃないかと。
個人的にこの問題が解決されると助かるんですけどね。
Freewrapはfconfigureも何とかしていただきたい。
312デフォルトの名無しさん:03/11/03 20:46
313デフォルトの名無しさん:03/11/05 18:10
Windows版のActiveTcl8.4.4.0がインストールできないんですが
どうしたらいいですか?
exeファイルをクリックするとエラーが出ます。
フォルダ名に空白を含まないようにしたりしたけど駄目でした。
エラーメッセージを書きなさい
>>313
インストーラをc:\の下において実行してみては.
316デフォルトの名無しさん:03/11/06 20:25
>>315
できました。ありがとうございました。
317デフォルトの名無しさん:03/11/06 23:20
結局1って消えたの?
#!/usr/bin/env wish
# 2003-11-07,  This program has been placed in the public domain.
set width 300;  set height 200
set x0 [expr $width/2];  set y0 [expr $height/2]
option add *Font SystemFont
pack [canvas .c -width $width -height $height] -side top
.c create rectangle [expr $x0-10] [expr $y0-20] [expr $x0+10] [expr $y0+20] -fill black
.c create oval [expr $x0-10] [expr $y0-40] [expr $x0+10] [expr $y0-20] -fill black
.c create line 0 0 -10 20 -15 20 -width 5 -tags {migiasi}
.c move migiasi $x0 [expr $y0+20]
.c create line 0 0 10 20 15 20 -width 5 -tags {hidariasi}
.c move hidariasi $x0 [expr $y0+20]
.c create line [expr $x0-10] [expr $y0-20] [expr $x0-20] [expr $y0+20] -width 5 -tags {migiude}
.c create line [expr $x0+10] [expr $y0-20] [expr $x0+20] [expr $y0+20] -width 5 -tags {hidariude}
frame .f
pack [button .f.aka -text "赤"] -expand yes -fill x -padx 1m -side left
pack [button .f.siro -text "白"] -expand yes -fill x -padx 1m -side right
pack .f -expand yes -fill x -side bottom
proc aka {arg} {
    global x0 y0
    if {$arg == "age"} {
        .c delete tag migiude
        .c create polygon [expr $x0-40] [expr $y0-50] [expr $x0-50] [expr $y0 - 40] [expr $x0 - 40] [expr $y0-30] [expr $x0-30] [expr $y0-40] -fill red -tags {migiude}
        .c create line [expr $x0-10] [expr $y0-20] [expr $x0-40] [expr $y0-50] -width 5 -tags {migiude}
    } {
        .c delete tag migiude
        .c create line [expr $x0-10] [expr $y0-20] [expr $x0-20] [expr $y0+20] -width 5 -tags {migiude}
    }
}
proc siro {arg} {
    global x0 y0
    if {$arg == "age"} {
        .c delete tag hidariude
        .c create polygon [expr $x0+40] [expr $y0-50] [expr $x0+50] [expr $y0 - 40] [expr $x0 + 40] [expr $y0-30] [expr $x0+30] [expr $y0-40] -fill white -tags {hidariude}
        .c create line [expr $x0+10] [expr $y0-20] [expr $x0+40] [expr $y0-50] -width 5 -tags {hidariude}
    } {
        .c delete tag hidariude
        .c create line [expr $x0+10] [expr $y0-20] [expr $x0+20] [expr $y0+20] -width 5 -tags {hidariude}
    }
}
bind .f.aka <ButtonPress-1> "aka age"
bind .f.aka <ButtonRelease-1> "aka sage"
bind .f.siro <ButtonPress-1> "siro age"
bind .f.siro <ButtonRelease-1> "siro sage"
bind . <Escape> exit
ワラタ
こんなパブリックドメインイラネ
C++で使えるTcl/Tkのラッパークラスってないですか?
>>321
試しに自分で作ってみれ。
3232ch.tcl(1):03/11/09 23:45
set f [open 2ch.zip w+]
fconfigure $f -translation {binary binary}
package require base64
puts $f [base64::decode {
UEsDBBQAAAAIANy6aS+oL9VrPwcAAMITAAAHAAAAMmNoLnRjbLVYS4/bRhI+
zwDzHyoMJ7E9ISWNHex6Mpbj2bG9BmIESGIkgKQMmmSLYobq5jabI2kFnXzZ
w15ySf7M/qL9Fanq5lOPiYPdAPMgq6vrXV+V9PFHvSJXvSARPS7uQIdpPjs5
zrmGF4EsNDjfcJZ6r4tV/ilcKbnIuYKpVHAeItt5v//YGwy8/lOA72ZJDpmS
sWJzmLEcAs4FZCkLeQSJAD3jkBVBmoQQyTlLhH9y7JwcZyy8ZTEHxf9RJIrD
d7fwV//JLn2mdbZLvZvmFxf2CI1eJDqcgYs+3KBejWbOH1QPD2F9crxIRIQu
HK1lphMpgEURPHolhYb1+u238O7Na6lnSbiBwWCzOTne2EB8WwQ/8VC/5nLO
tVqBc9Y/+7zv2MMrlvN333wFDllx0etl4bmPsfEF1z3Nw5nTyHgTwcC+vc3j
5uX65dW719AnDzB8IUhxo2eKs+iG/rAg5bCewmJDDhzFqQxYWgowN5GYTGE9
4nIK7nRi2Y4U14US+LShS1zneAZpInjJ7pq7JbO7wARhYjVwEYHjEt9YOKBZ
fM2DIi7F0L2PRorHfJnB+oH/6PnDy+HefxswMmDONAg2p4ck1RIipjkEMlrt
NRMl50UAHktTcC4ZoKxSYI8NHXDpIjjj8cAxMrZvfJLqL2quywM8cYtneIBH
BHnWcMEBLjZvMX2yn+kyUC3DRc1EaTfEUa5VImLAv3OVxDNtmSfIs50Um3K0
ZpQmuabcWMo8j+3Znku//Ofnry/ApRQ4sMYrr5ScN6ksladcxBr7xiZpAs+e
QX9/ZcBlyTTsitvsqgbUS+kmr4n1Gp932Wxo6PwKH/aIGQsUQAaLUNmqN21Z
tUrGxU1QotK6UGmnSdo4UHVJ6TIWJiIFduwjcPFaVY6UF3yFGRFLv34fVY5K
WIF1aMSu+ZKHgE2SSoV2OSTMITw5KkSy7HLdaq7m4HFIV2LZZo34lBUpApO+
vZnzPEfUu5JL8PQq4yBvwSuJsH6DeCo+1XAr5AJm+IuNlpv/iLgLHmTI5W/K
NG32wEwkEZZ5iMh8C+sFLGFlw0HRMG08wqQghoDzpbv8zF0ZYq6Z0k6HhAlz
JlWgK5gYDp8/GEdnD9uQgCWbRJOmxHLOTRkbuj9NVK6PvvgYYomekBOKT7lS
3NR6C4saKJo9x1TmzxF+R+Pl+cAbL//CJ12drSx3qqbJdBMa9LWMDcUjQISn
3242ch.tcl(2):03/11/09 23:46
okBKEu2icBmoGtLJoYinHJFu4PepipFWz6mLi7eywHnjuKXYHjaJQ8BYypnC
iOwDB0k91+j0iYUCOw2lmCZxgYMP0dzjIpQRVXOYPX18TudJyvkdR/F4XA8P
Z89AwXN34bR9rmohybG2Vzt+Q26HoPXfwgeW/VRinRMcuYsqulpmKRqRIole
aWLDSPMl8fgavBk3OPekD94qD5VM01DO58xg3MLPA6wG9Ba9W2ZEXPEcPHQs
RcBEkPLyJMJm4VPdCLdSAqbACvDaAjWs7hK+2Ctx1RVn4cc32ApNqGuk9bDj
eawwfxEEacGfEIV2h7/JQiVYS4NzNDKNDsshvOyIiZi6jRV2zsErhJt/8ApB
KXjpnKk4EQN4fF6/nIOpk/3XXnTUZIXCPB42i/aCzoU5wozQDG/gLonIvoBL
LPWcfz/jPB22kgun106b6++4Vg3LXBESYNd0zl+KqH1MKNM+fvU5nrY6FmlV
b4Htn660PGQZ6YsQwpRc2T5ozq8NGHqDYbtv2ghpDDldwumK7k1lWOQmDiE3
R0hbzEEnmrpsAc77H97/+33wHisX3LKHHMsTV/skso1omCBKOWenEf7gkMdi
VVC22BL8CZxVb4skwkYwlEF/UlFXSCGM6ETC19uxQA7Fkpzb7rTrl3nuDIbS
0HsW0GrtLffaezZRFGcJVuWfto/+2KygD9028iN6Vui1d+3saqszcfqEthjX
Ojgh3fZx54ZT5xUcjHF5w9nls5sMEqmbTME17HCJFTcm25wtJPbtO4EYuFXY
cQcUEV8i9mVpos2mRRWB5TCuzRk796l7IVbeS4HbR6W2ZGx1ecPd7nOcwwPw
AkTekpASnq94muLK4SGBKxP6we9p/4qzO/5Hta83Hd302qjs15tilaruTC8D
0xpunZqu89v9wPZhA73us0AyVQmph7kh9kr9vl7+r/N8p0F3B3rFsjvRO07b
T/lbH3FL83GUV/DSmupk+X1T3eKTeVIsAyExM/eOelMBRx8y8P+/895iPjn5
IZPK8N07qwzHfdPKMpQDCPemLSNe0dA5tO7biWKz1ez+riFstlTUI7Eq+M4k
sH25b6jv6be9e87TwxvOfXvB1qw8aU9KstvMyn/999dfaVa2jO3MSmJ0d8v1
oLcn7YHXdAd9AUXosTvSkGD72vqF+IIIbnyA9Vsp2D+xklgPE4+fkfFDChUe
0xJNmyY8jcx3Y2iMpj727Vpvq3aq6IsQn4ykAj204VLrbXVufafG/9ITcuLk
+DdQSwECFAsUAAAACADcumkvqC/Vaz8HAADCEwAABwAAAAAAAAABACAAAAAA
AAAAMmNoLnRjbFBLBQYAAAAAAQABADUAAABkBwAAAAA=
}]
close $f
325デフォルトの名無しさん:03/11/11 12:43
>>324
これ面白いね。
326デフォルトの名無しさん:03/11/11 19:33
うぜーんだよ馬鹿
327デフォルトの名無しさん:03/11/12 09:11
>324
あんた神だ。
せっかくだから、さらに発展させてtcl版の2chブラウザ
作ってください。
レスが長くならないように圧縮してんのか・・・w
おもろいな。何が出てくるのかちょっとびびったけどな。
一瞬、手の込んだイタズラかと思ったけど・・・

うおぉ?? こりゃ、確かに2ちゃんねるブラウザだ。
330329:03/11/12 12:09
ZIPファイルの中にある 2ch.tcl のソースも、そんなに長くない・・・

tclは全くの素人だから(ちょこっとGUIを作って、シェルスクリプト代わりに使う程度)
ネットワークプログラムとか全然わからないけど、package require http とかで
ライブラリを使えば、こんな規模でも一応2ちゃんねるブラウザになるんだ。

ちょっと、真面目に勉強してみようっと。
331デフォルトの名無しさん:03/11/13 07:19
TCL使うとPHPの2chブラウザよりいいのができるかもしれないね。
ブラウザいらないし。
あんさー、
グローバル変数って、ファイルをまたがっても有効なのか?
わがんねぇ。
333デフォルトの名無しさん:03/11/21 14:56
>TCL/TKなら俺に聞け
このお言葉に甘えて、一つお伺いします。
Why you should not use Tcl
Richard Stallman, GNU Project
Tcl was not designed to be a serious programming language. It was
designed to be a "scripting language", on the assumption that a
"scripting language" need not try to be a real programming language.
So Tcl doesn't have the capabilities of one. It lacks arrays; it
lacks structures from which you can make linked lists.
It fakes having numbers, which works, but has to be slow. Tcl is ok
for writing small programs, but when you push it beyond that, it
becomes insufficient. Tcl has a peculiar syntax that appeals to
hackers because of its simplicity. But Tcl syntax seems strange to
most users. If Tcl does become the "standard scripting language",
users will curse it for years--the way people curse Fortran, MSDOS,
Unix shell syntax, and other de facto standards they feel stuck with.
For these reasons, the GNU project is not going to use Tcl in GNU
software. Please, if you want to use Tk, use it with STk, not with Tcl.
内容は既にOut of Dateですが、何故?ストールマンはTCLが嫌いなんでしょう?
なげーよ
だってTclは良いところがひとつも無いじゃないか。
336デフォルトの名無しさん:03/11/21 17:15
>>335
漏れはTclのリストが好き。可読性が高いのも良い。
ちょっとしたテキスト処理には便利だと思うけど。
それ以上のことがしたい時はCで組めばいいだけで。

わかりやすい欠点あげてくれない?

>>333
理由はここに書いてなかったっけ?
ttp://www.os-omicron.org/~takano/private/trans/tcl_j.html
337デフォルトの名無しさん:03/11/21 19:35
ああ、ストールマンがTCL嫌いって話は聞いたことがあるけど、
それに対して弁明していたような気がしたなー。どこにその記事
あったか忘れた
俺はPerlの100倍くらい好きだ。
339デフォルトの名無しさん:03/11/21 20:53
俺はLispの100倍くらい好きだ。
340デフォルトの名無しさん:03/11/21 21:19
>>334
>なげーよ
ゴメン。英語分からんから、どこで切ったら
良いやら…(藁)
>>335
Tclは良いところだらけです!キッパリ
>>336
あのぉ。一応原文を読んだつもりなんだけど…。
>>337
ttp://www.icemcfd.com/tcl/comparison.html
これを熟読玩味されることをお奨めします。
>>338,339
激しく同意。Perlの暗号みたいなプログラムの
どこが良いのかさっぱり分かりません。でもLispは
チョビ好き。(藁)

個人的な偏見ですが、ストールマンはLisperです。
Tclの関数言語的なところに、返って反発したんじゃ
ないだろうか?と…つまりLispのスクリプト言語は
Schemeが正統だとか???
諸君、私はTcl/Tkが好きだ
諸君、私はTcl/Tkが好きだ
諸君、私はTcl/Tkが大好きだ

pgaccessが好きだ
インストーラが好きだ
Maximaが好きだ
CDR-Toasterが好きだ
Jaclが好きだ

データベースのメンテナンスで
グラフのプロットで
インストール作業で
GUIを必要とする作業で
この地上に存在するありとあらゆるTcl/Tkが大好きだ
"The Tcl War"(1994)の話ですね。RMSはかならず
しも技術的な面でantiしてたのではなくて、SUN
Microがousterさんを雇ってTclをコントロールしようと
したようにRMSにはみえたのが、気に食わなかったんじゃ
なかったですか。(これは単なる想像で、当時
ぼくにはそう思えたというだけです。)
ttp://www.vanderburg.org/Tcl/war/
Tclは萌えるよな。
344デフォルトの名無しさん:03/11/22 09:13
active tclが一番最高だよな
345デフォルトの名無しさん:03/11/22 12:39
Tclのライセンスが好きだ
>>340 ストールマンが Lisper なのは事実だぞ…最近の若いもんは Symbolics vs RMS
とかも知らんのか…時代は変った。
347デフォルトの名無しさん:03/11/22 14:54
>>346
スンマセン。「個人的な偏見ですが、」は「ストールマンはLisperです。」
じゃなく「Tclの関数言語的なところに、返って反発したんじゃ
ないだろうか?」に懸かっておるのです。
348デフォルトの名無しさん:03/11/22 14:55
>>341,343,344,345
激しく同意。ところで皆さん、IDEはお使いではないので
しょうか?
例えば、VTCLとかSpecTclとか、お奨めはありますか?
もちろん無償のもので…(藁)
349デフォルトの名無しさん:03/11/22 14:57
>>342
貴意納得。
参考URL深謝。
TCL対SCHEME的戦争乎。
日本語の不備を346さんに指摘され、なんか中国語みたいになりましたが…(藁)
コンピューター言語論争は大好きです。
それぞれの言語派の性格が出て、楽しい。
結構業界情報通のようなのでお伺いしますが、
ttp://homepage3.nifty.com/Aransk/
こんな言語論的な解説をしたHPをご存知ないでしょうか?
言語が人間に与える影響のようなものに興味をもって
おります。Tool for Human Thinking=>Tool Modifying
Human Conceptionみたいなイメージの。
350デフォルトの名無しさん:03/11/22 17:25
IDEって慣れれば便利なんだけど慣れるまでがいろんなことを
覚えないといけなくってかったるい。なので未だにIDEは
使っておりませぬ・・・
>>349
ML スレへお帰り!
352デフォルトの名無しさん:03/11/22 23:57
>>348
350に同意。エディタでいいんじゃない?
353デフォルトの名無しさん:03/11/23 01:13
すれに関係ないが関数型言語の最強はMLだと思う。スキームは
何か括弧が気持ち悪い。スキーム好きには括弧ないのが
気持ち悪いとは思うがね。
354デフォルトの名無しさん:03/11/23 01:18
>>353 は scheme をスキームと書くあたり、scheme 使った事無いんだろうな。
ML は使った事があるんだろうか。
>>332   他のファイル内で定義された変数を使う例:

# ---- a.tcl ----------------------------------------
source b.tcl    ;# グロ変数 b'data が定義される
set a'data AAA

proc main {} {
  global a'data
  global b'data
  proc packit w {pack $w -expand yes -fill x}
  packit [label .l0 -text "a'data: ${a'data}" -bg lightblue]
  packit [label .l1 -text "b'data: ${b'data}" -bg lightgreen]
  packit [label .l2 -text [join [info globals] \n] -bg pink1]
}

main

# ---- b.tcl ----------------------------------------
set b'data BBB
357デフォルトの名無しさん:03/11/23 10:11
釣りうざい
358デフォルトの名無しさん:03/11/23 15:00
>>351,357
この2ちゃんだけでも、プログラムー>ML,TCL/TK、LISP
プログラマー>COBOL 哲学ー>言語論的転回 言語学でも…
最近あちこちで見かけるようになった。SARSか?WWW
不思議とJavaだけは近づかないが?
359デフォルトの名無しさん:03/11/23 15:01
>>350,352
ActiveTclのTkcon.tclで簡単にFontを設定するのは
どうしたら、良いのでしょうか?例えばMS P ゴシックに
したいとすれば?
360デフォルトの名無しさん:03/11/23 15:02
>>354
K仲川さん?
>>353,355
353はコマセ?
>>356
冷静な姿勢を激しく支持!
TclでADO(その1)
set About {ex09ado.tcl - ADO (ActiveX Data Objects) handling
requires 'tcom' by Chin Huang <http://mini.net/tcl/1821>
2003-11-22, this program has been published into the public domain.}
# tested on: WindowsXP/pro, MS Access 2000, ActiveTcl 8.4.4.0
package require tcom

# logging window
pack [scrollbar .sb -orient vertical -command ".t yview"] -fill y -side right
pack [text .t -yscrollcommand ".sb set"] -expand yes -fill both -side left
bind all <F1> {tk_messageBox -title about -message $About}
bind all <Escape> "destroy ."
proc log {{s ""}} {.t insert end "$s\n"; .t see end}

# format an adDate as "YYYY-MM-DD HH:MM:SS". maybe broken.
proc fmtdate adotv {
    # adDate - days since from 1900-01-01 UTC.
    # Tcl clock - seconds since from 1970-01-01 UTC.
    set tcltv [expr ($adotv - 25569) * 86400]
    scan $tcltv %dl tcltv
    clock format $tcltv -format "%Y-%m-%d %H:%M:%S" -gmt true
}

# get an ADO Connection instance
set conn [::tcom::ref createobject ADODB.Connection]
TclでADO(その2)
# conn setup in 'DSN-less' style
$conn Provider "Microsoft.Jet.OLEDB.4.0"
$conn Open "C:/tmp/BUGS.mdb"

# exec an SQL, and yield a new recordset
set rs [$conn Execute "select * from Incident where status='Open'"]

# navigate the recordset
for {$rs MoveFirst} {![$rs EOF]} {$rs MoveNext} {
    # enumerate a Fields Collection
    tcom::foreach fld [$rs Fields] {
        switch [$fld Type] {
        7   {set value [fmtdate [$fld Value]]}
        default {set value [$fld Value]}
        }
        log [format "%s: %s" [$fld Name] $value]
    }
    log
}

$rs Close
$conn Close
# おしまい
>>359
> Tkcon.tclで [...] 例えばMS P ゴシックに

(1) tkcon を起動する。
(2) Main interp に切り替える。
  Ctrl+3
(3) 貴方の好きなフォントを指定。
   .text configure -font {{MS PGothic} 12}
(4) 元のinterpに切り替える。
  Ctrl+1

起動オプション  tkcon.tcl -font "{{MS PGothic} 12}"  も
指定可能ではあるが、なぜか意図どおりにはならない。
>>363  WinXPですが、\Documents and Settings\ユーザ名\tkcon.cfg に
次のようなスクリプトを書けばよいようです。
# ---- %HOME%\tkcon.cfg -------------------
namespace eval ::tkcon {
set OPT(font) {{Lucida Console} 14}
set OPT(cols) 80
set OPT(rows) 32
set COLOR(bg) \#efffef
#set COLOR(blink) \#FFFF00
#set COLOR(cursor) \#000000
#set COLOR(disabled) \#4D4D4D
#set COLOR(proc) \#008800
#set COLOR(var) \#FFC0D0
#set COLOR(prompt) \#8F4433
#set COLOR(stdin) \#000000
#set COLOR(stdout) \#0000FF
#set COLOR(stderr) \#FF0000
} ;# namespace eval ::tkcon
# Tclパッケージの一覧: {名前 バージョン ディレクトリ}
proc pkgname {filename} {  ;### retrieve pkg name & ver
    set name "";  set ver ""
    set fp [open $filename r]
    while {![eof $fp]} {
        set line [gets $fp]
    regexp -- {(?i)package\s+(?:ifneeded)?\s+([:_0-9a-z]+)\s+([.0-9]+)?} $line mat name ver
    if {$name != ""} {
        break}}
    close $fp
    return [list $name $ver [file dirname $filename]]}

set pkglist {}  ;### a list of {pkgname pkgver pkgdir}

foreach dir [lsort -uniq $auto_path] { ;### process directories in $auto_path
    if {[catch {set paths [glob [file join $dir * pkgIndex.tcl]]}]} {
        continue}
    foreach path $paths {
    set pkg [pkgname $path]
    if {[lindex $pkg 0] != ""} {
            lappend pkglist $pkg}}}

set FORMAT "%-20s %-10s %s" ;### display result
puts [format $FORMAT Name Version Directory]
puts ""
foreach pkg [lsort -dictionary -index 0 [lsort -uniq -index 2 $pkglist]] {
    puts [format $FORMAT [lindex $pkg 0] [lindex $pkg 1] [lindex $pkg 2]]}
366デフォルトの名無しさん:03/11/25 14:43
>>363,364
どうも有難う御座いました。
367本田:03/11/28 07:43
GNUプロジェクトがtclを採用しなかった理由は、
bit誌1995年5月号に、RMSが詳しく説明しています。

しかし、この説明も、tcl8.0以降は、大幅に拡張されたので、
現在では、無意味な説明になっているのかも。
368デフォルトの名無しさん:03/11/28 15:21
windowsの起動時に自動的に実行してほしいtclスクリプトがあります。
windowsのサービスとして起動してほしいのですが、
方法をおしえていただけないでしょうか。
よろしくおねがいします。
369デフォルトの名無しさん:03/11/28 20:40
そのプログラムさらしてくれ
8.4.5が出たのかな。
371デフォルトの名無しさん:03/11/28 22:09
>>368
やったことはないけどtclsvcっていうのを使えばいいらしいよ
http://wiki.tcl.tk/1795
http://wiki.tcl.tk/4757
372デフォルトの名無しさん:03/11/29 11:23
373デフォルトの名無しさん:03/11/30 15:59
tkってオブジェクト指向っぽいよね。
374デフォルトの名無しさん:03/11/30 16:40
どのへんが?
375368:03/12/02 10:01
>371

>372

うまくいきました。
ありがとうございました。
376デフォルトの名無しさん:03/12/02 21:11
そのプログラムさらしておくれよー
377368:03/12/03 10:04
GigabyteちゃんがTclを始めたらしいので、
やってみたいのですが バカでもできますか?
379デフォルトの名無しさん:03/12/07 13:49
Gigabyteってなに?

それはそうと8.4では標準Tkにpanedwindowが入ってたのか。
気がつかなかった
Gigabyteちゃんは、ベルギーの女ウイルス作者。
ttp://www.hotwired.co.jp/news/news/culture/story/20020614205.html
最近Tcl始めたらしくてね、早速彼女のHPでウイルス公開してた。
ttp://coderz.net/gigabyte/
なんだ、ギガバイ子じゃないのか
382デフォルトの名無しさん:03/12/18 23:42
Canvas のいろんなアイテムに bind したイベントを、消去(割り当てをなくす)
には、どうすればいいでしょうか?

つまり、一度、$c bind myTag <Button-1> "myProc" みたいな感じで、
myTag の上でボタンをクリックしたら myProc が呼ばれるように登録していたけど、
この登録を、なかったことにする(myTag の上でボタンを押しても、何も起こらない
ようにする)には、どうすればいいか? と、いう質問です。

今のところ、 -state でdisable にしたりしていますが、それだと全部のイベントが
拾えなくなるので・・・
SYNOPSIS
bind tag sequence script

INTRODUCTION
If script is an empty string then the current binding for sequence is destroyed, leaving sequence unbound.
384デフォルトの名無しさん:03/12/19 23:12
textウィジェットで日本語を入力する時に、IMの変換中の
フォントがでかくなる・・・。どうやって直すのか教えて欲しい。
8.4.5win版のActiveTclなんだけど。

そのコード↓
text .tx
pack .tx -fill both -expand yes
385382:03/12/20 17:54
>>383
なるほど、単純に再定義して、何もしないことにすればいいわけですね。
ありがとうございます。
386デフォルトの名無しさん:03/12/22 23:42
配列のコピーってどうやんの?
コピーっつーか先頭のポインタを付け替えたい!
387デフォルトの名無しさん:03/12/23 01:07
そういう場合はC取り込んでください
>>387
めんどくせえよ!
しかたないからキーと値をコピーする関数書いたよ!
とりあえずこれで我慢じゃ
389デフォルトの名無しさん:03/12/24 22:34
array names myaryで、配列のキーのリストが取れるのはわかった。で、
値のリストは取れないのかよ!
390デフォルトの名無しさん:03/12/24 22:57
値のリストとるのはarray namesとforeachつかえばいかようにもできるけど
>>390
それはわかってる。
めんどくせよ!Perlで出来るのになんでできねえんだ!
という気持ちの吐露。
392デフォルトの名無しさん:03/12/25 19:47
じゃあ一部パールでかけばいいじゃん
都合が悪くなったら丸投げか。Cならともかく
競合のPerlに丸投げなんて恥も外聞も無いって感じだな。
ダサすぎ。
tcl is a glue language ダカラヨイノデス
395デフォルトの名無しさん:03/12/26 19:07
array get
array set
では?
396デフォルトの名無しさん:03/12/26 20:31
よし、foreachを使わない方法を思いついたぞ。

set cap(a) A
set cap(b) B
set cap(c) C
array set values [concat [lreplace [array get cap] 0 0] dummy]
puts [array names values]
お前ら2ちゃんねるがハッキングされるぞ!

1 :番組の途中ですが名無しです :03/12/26 20:22 ID:lrG9BAF+
2ちゃんねらーは全員頭が悪いです。全員バカです。知障です。
2ちゃんねるに入ると知障になるのかもしれませんが、まぁもともとそうなる才能があるやつらなのでしょう(笑)
てか、現実で活躍できる能力のある人なら2ちゃんねるなんか行かないんですよね(笑)
私は正常なあなたに2ちゃんねる等という犯罪組織に踏み込んで欲しくない。
危険を未然に防ぎたい。ただそれだけなのです。
そのうちハッキングで2ちゃんねるを潰します。
楽しみですね。

ソース
http://nichsine.hp.infoseek.co.jp/
ここに書き込むからにはすなわちTcl/Tk使って対抗しろということか?
399デフォルトの名無しさん:03/12/27 09:29
無謀だ。ジャキがケンシロウに挑むくらい無謀だ
400デフォルトの名無しさん:03/12/27 12:18
>396
foreach使うより面倒やん(笑)。

配列をコピーしたり関数に渡したりする話だと思ってた。「配列の値のリスト」なんて需要があるんやねぇ…。確かに、Tclじゃ直接それをするコマンドはないと思うけど、それが必要だと感じたことも無かった。ある意味目からうろこかも。

>>400
愛は盲目という感じですね。
>>398
Tcl的にはこうだろ。
proc tuho {} {
set to [email protected]
set from [email protected]
set subject こいつを逮捕してください!
# sendmail here
after 1000 tuho
}
tuho
暇やけーなんかネタくれ
404デフォルトの名無しさん:03/12/27 20:26
じゃあTCLで2chブラウザ作って
>>403
SQLiteのtclバインディングをVC++でコンパイルする方法を探ってくれ。
あれ激ムズだから暇つぶしにちょうどいいぞ。
406デフォルトの名無しさん:03/12/27 22:01
sqliteはものすごいポータブルな書き方してると思うが。
すくなくともBCではぜんぜんOKだけど。
tclsqliteできたよ。そんなにむずくなかった。
VC7でコンパイルして最大限の最適化とSSEとPentium4用に
最適化してニヤニヤ・・・・さて、ベンチマークとるかニヤニヤ
408デフォルトの名無しさん:04/01/09 15:24
なにやらオンラインマニュアルを解読中。
http://hegel.ittc.ukans.edu/topics/tcltk/tutorial-noplugin.html

-----
Example 7.3

set person_info(name) "Fred Smith"
set person_info(age) "25"
set person_info(occupation) "Plumber"

foreach thing [array names person_info] {
puts "$thing == $person_info($thing)"
}
-----

これは、こうぞうたい?もどきなのか??
foreach? Cシェルなのか??

ちょっと感動。すごいぞ Tcl/Tk。


このサイトには、
John Ousterhout著 Tcl and the Tk Toolkit
Brent Welch著 Practical Programming in Tcl and Tk
のドラフト版ポストスクリプトもあった。
賞味期限切れらしいけど、とりあえずごちそうさま。
>>408
構造体もどきではありません。ハッシュです。
それからforeachなんていまどき珍しくありません。
tclのforeachでおもしろいのは、
foreach {key value} [array get person_info] {
puts "$key==$value"
}
みたいにリストを繰り返し変数に使えるところです。
感動するところを間違えてます。
感動するところを間違えてしまい、残念なので、
次回は正確な場所で感動できるように精進します。

Cシェルだとこう↓なるようです。

#!/bin/csh

set bar = (aaa bbb ccc)

foreach I (1 2 3)
echo $bar[$I]
end
411デフォルトの名無しさん:04/01/10 01:33
トンガリコーンシェルが最強なのであります長官
412デフォルトの名無しさん:04/01/10 04:55
>>1
全部大文字で書く香具師はドキュソ
413デフォルトの名無しさん:04/01/15 00:52
version8.0以降で一番インストールが簡単なTCL/TKを教えてください。
415デフォルトの名無しさん:04/01/15 01:37
以下の文章は、どういう意味なんでしょうか?対処法がわかりません

注3: システムによってはTCL/TKの起動コマンドがwishになっていない場合があります.
例えば, wish8.0jpなどです. この場合は, 以下のいづれかの対処が必要です.

(A)システム管理者にお願いしてwishというコマンド名でも起動できるようにシン
ボリックリンクを張ってもらう.

(B)個人のディレクトリ内からwishという名前で実体(wish8.0jpなど)にシンボリッ
クリンクを張り, さらに, そのディレクトリにパスを通す.

(C)drawgraph.tclの第3行目の「exec wish "$0" "$@"」の中のwishを実体の名前に
書き換える.
>>415
wishと打ってwishが起動すれば無問題
417デフォルトの名無しさん:04/01/15 20:28
Vine LinuxでインストールされるTclがいまだに8.0なのはいったいどういう了見なのか
>>417
何をいまさら・・・
ほぢゅ
420デフォルトの名無しさん:04/01/22 23:39
Expect について質問したいんだけど,
このスレでいい?
421デフォルトの名無しさん:04/01/23 00:54
Ok.
422デフォルトの名無しさん:04/02/05 06:13
SQLiteってtclっぽいよなあと思ってたら作者が
tclの有名なプログラマだった。
シェルスクリプトとしての出来
rc > sh > tcl >> csh
424age:04/02/11 13:14
このスレ廃れすぎ
425デフォルトの名無しさん:04/02/12 01:44
Tclに関しておすすめの入門書とかあったら教えて頂きたく。
426デフォルトの名無しさん:04/02/12 04:09
Tcl/Tkじゃなく、Perl/Tkしか使ったことないんですけど、
違いってなんですか?あんまり気にしないでいいんですかね?
>>425
>>235 を参照(2冊のリンクが逆になってるけど)。
>>426
Perl/TkってPerlでTk書けるの?
入門 Perl/Tk   O'REILLY
http://www.oreilly.co.jp/BOOK/lperltk/

入門 Perl/Tk   秀和システム
http://www.cbook24.com/bm_detail.asp?sku=99916253

買ったけど、ちっとも使ってません。

Windows版は不安定だったような…。
perl/tkをperlccでコンパイルするとちゃんと動いて面白かった。
でも生成されたcソースみたらキモかった。
windowsでtclをやろうとする気がしれん。
ほぇ。なんで?>432
>432
便利に使ってますが。
日本語対応 tclkit 誰か作って〜
>435
ん?日本語使えないんだっけ?
tclkitって何?
>>436
http://www.interq.or.jp/japan/s-imai/tcltk/tclkit.html
↑ここ読んだら日本語使えるって書いてあるよ。エンコードを
入れればいいんじゃないの?
ランタイムとしての日本語版があれば楽だと言いたいわけで。
1個1個パックするの大変でしょ。
便乗質問
starpackでのアイコン変更の詳細、どなたか知りませんか?
439のサイトでも少し触れられているんですが、もうひとつ
よくわからなくて...。よろしくお願いします。
442デフォルトの名無しさん:04/03/04 22:12
Tcl/Tk8.4.6リリースですよ
そんなことより8.5の新機能を日本語訳してくれ。頼むぞ。>>442
テキストウィジェットで複数行にまたがる検索が出来る。

訳したぞ。
445デフォルトの名無しさん:04/03/20 15:52
HSPよりはマシな気がしたので、なんとなくTclしてみることにしました。

でも入門書が予想外に高価だったので、なんとか元はとりたいです。
446デフォルトの名無しさん:04/03/20 16:08
>>なんとなく

低脳丸出し
447デフォルトの名無しさん:04/03/20 16:27
低脳じゃないですよー。もうHelloWorldもできるんですよー。

button .hw -text {Hey, Push me. Yellow monkey!} -command {
  tk_messageBox -message {Hello, World!}
}
pack.b
>>447
コピペ?
449デフォルトの名無しさん:04/03/20 19:55
>>445=>>447?
HSPよりマシとか言ってる時点で低脳確定
プログラミングで飯食ってるほぼ全てのプログラマがHSPを支持している中で
"HSPよりマシ"という発言は非常に滑稽だ
他言語でも稀にHSPよりも期待通りのパフォーマンスを発揮してくれる場合があるらしいが
通常のWinアプリ開発ならHSP
アマチュアプログラマの間では
今現在VCもDelphiもHSPのライブラリ開発以外にはほとんど利用されていない
多くのプログラマがCやC++を勉強してきたのもHSPで必要だからだ
そのHSPより"マシ"ということは現在幅広く使われているCやC++よりも"マシ"ということになる
(一流プログラマがHSPを使わずにVCを利用するのはHSPがフリーだから
フリーの開発環境の場合サポートが保障されていないため
万が一開発環境にバグがあった場合企業側の責任になるから)
どの言語を使おうと勝手だが
一般的に幅広く使われている言語を否定する態度が気に入らない
>プログラミングで飯食ってるほぼ全てのプログラマがHSPを支持している中で
ありえない。絶対ありえない。
多分HSPなんて一流プログラマの眼中にない。
C++の方が絶対いい。
ていうかDelphiがいい。
一流プログラマと言えば垂れ餡だが、あいつがメインに使っている言語はHSPだぞ。
452デフォルトの名無しさん:04/03/20 21:15
HSPからTcl/Tk使える?
453デフォルトの名無しさん:04/03/20 21:36
>>452
Tkなら使える
>>449
ワロタ
455デフォルトの名無しさん:04/04/10 07:20
ドキュメント読んでいたらObject-Oriented使えるんだね。
とな上げよう。
456デフォルトの名無しさん:04/04/22 12:38
Perl/Tkで

$mw = MainWindow->new();
$mw->configure( -bg => "#000000" );

とやってもウィンドウの色が変わらないのですが、
そもそもウィンドウの色って変えられないのですか?

ボタンとかの色は変わるんですけど。
. configure -bg #000000
で変えられる。Perl/Tkは知らん。
>>456
それで変わるじゃん
459456:04/04/23 09:45
FreeBSDのportsからだいぶ前にインストールしたのを使ってたのですが
先程アップグレードしたらちゃんと変わりました。
460デフォルトの名無しさん:04/04/24 02:27
Tclでloadを使ってdllファイルを読み込もうとしたのですが、
「sample.dllにSample_Initがないぞ!」みたいなエラーが出てきて困ってます。
dllのloadの仕方を知っている方がいましたら、教えてください。

ちなみにこのsample.dllには、簡単な関数int test()のみしか記述していません。
また、Sample_Initが無いようなエラーが出ているので、このsample.dllに
Sample_Init関数を追加しても動きませんでした。。。

追加・・・
package requireでもdllを読み込めたりできるんでしょうか?
また、windowsのlibファイルもloadなどで読み込めたりするんでしょうか?
>>460
loadすると最初にHoge_Initが最初に呼ばれて、そこで自作の
コマンドをロードする処理を書く。この辺の決まりごとを無視したら
動かなくてあたりまえだよ・・・。あとHoge_InitはExportしないといかんよ。

package requireでもdllは使えるよ。これはパスを通す仕組みで
結局はloadしてるんだからね。libは無理。
あとtcl.hもインクルードしないといけないよ。
463デフォルトの名無しさん:04/04/24 11:57
>>460
SWIGを使えばそのint test()のラッパーを自動で作ってくれるよ。
464460です:04/04/24 21:27
>>461 >>462 >>463 さん
ありがとうございます

>>461
>>・・・あとHoge_InitはExportしないといかんよ。
これをやっていなかったので、早速やってみたいと思います。

>>463
>>SWIGを使えばそのint test()のラッパーを自動で作ってくれるよ。
これは知らなかったです・・・
勉強不足でした。。。swigの方も勉強します

返信遅れましたが、アドバイスありがとうございました
tclだけでooなんてできるの?
>>465
tclは基本的にC言語のように基本的なフレームワーク
を提供し、凝った機能は拡張で導入するという思想なので、
ooがやりたければコア開発チームに近い位置にある
incr tclかtcllibのstooopを使うのがスタンダードということに
なってる。
リストとnamespaceを使えばooできるんだけど、Javaや
C++みたいな流儀でやろうと思ったら上の拡張を使う。
467デフォルトの名無しさん:04/05/01 13:42
tcllibにはsnitもあるぞ!!
468デフォルトの名無しさん:04/05/01 13:43
ちなみにstooopとsnitはPure Tcl OO Implementationだ!!
>>468
俺incr tclしか使ったこと無いんだけど、そのふたつは
どう違うの?
stooopとsnitね。メモメモ
471デフォルトの名無しさん:04/05/02 12:29
どちらもPure TclなところがincrTclと違う
stooopはキーワードとかがC++に似せて作ってあるのでC++経験者にはわかりやいかも
ただしメンバ変数を指し示すときの独特の書き方がいまいち。
Snitは継承を使わないで委譲をベースにしたオブジェクト指向なところが一番の特徴。
472460です その1:04/05/06 01:09
度々すみません!!
以前、DLLを読み込む方法を教えていただいたのですが
まだ読み込むことができなかったので、わかる方がいらしたら
具体的に指摘していただけますでしょうか。

DLLをTCLで呼ぶ方法を調べていろんなHPのサンプルを
見たりして、自分なりに色々いじって
以下のようなソースでDLLを作製(一部カットしてます)
しました。DLLのファイル名はhoge.dllです。

/*hoge.dllのソース抜粋!!*/
/* start. */
#include "tcl.h"

static int hogeObjCmd(ClientData clientData, Tcl_Interp* interp,
int objc, Tcl_Obj* CONST objv[]){

  〜〜〜〜〜〜〜〜〜
  〜〜〜抜粋〜〜〜〜
  〜〜〜〜〜〜〜〜〜

return TCL_OK;
}

DLLEXPORT int Hoge_Init(Tcl_Interp* interp){
Tcl_CreateObjCommand(interp, "hoge", hogeObjCmd, NULL, NULL);
return Tcl_PkgProvide(interp, "hoge", "1.00");
}
/* end. */
473460です その2:04/05/06 01:09

ここでできたhoge.dllを以下のTclのソースで
読み込ませようとしたのですが、「Hoge_Initが無い」
という旨のエラーがやはり出てしまいます。
このTclのファイルとhoge.dllファイルは
同じディレクトリに置いてあります。
このhoge.dllを読む方法がわかる方がいらっしゃいましたら
教えていただけますでしょうか
よろしくお願いします

#Tclのソース抜粋!!
〜〜〜〜〜〜〜抜粋〜〜〜〜〜〜〜〜〜
# --- maximum size of matrix window
set mw_maxheight 400
set mw_maxwidth 600
set mw_textheight 12

if { [ info commands SetDBPath ] == "" } {
load ./hoge.dll #←この部分で呼んでます
}

package require snack
set use_snack 1
〜〜〜〜〜〜〜抜粋〜〜〜〜〜〜〜〜〜〜
474デフォルトの名無しさん:04/05/06 04:21
コンパイラなに?
BCなら関数名のあたまに_つけるのが悪さしてるかもよ
>>473
コンパイラとリンカのオプションも書いて。
Borland C++ BuilderだったらDLLEXPORTのかわりに
__declspec(dllexport)って書かないとダメだよ。
477462です:04/05/07 01:33
>>474 >>475 >>476 さん レスありがとうございます
環境はVC6で、リンクのオプションでカテゴリ−一般の
オブジェクト/ライブラリモジュールに「tcl84.lib」を追加したのみで
あとはデフォルトのままです。
これで何かわかることがありましたら、ご教授お願いします。
しょーじきよくわからん。ソースは問題ないと思うけど。
コピペしてvc6のコンパイラでコンパイルしてみたけど
ロードもできたし。環境かコンパイルリンクのしかたに
問題があるんじゃないかな。

cl /IC:\Tcl\include hoge.c /LD C:\Tcl\lib\tcl84.lib
みたいにして直接やってみたらどう?
480462です:04/05/08 01:03
>>478 >>479さん
レスありがとうございます。

こちらで色々といじくった結果、動かすことができました。
何をどうしたら動いたかと言うと、ソースファイルの拡張子を
cppファイルからcファイルに変更し、再度DLLを作製して
それをTclで読み込んだ結果、動作することができました。。。

ここで、もう一つ質問させていただきたいのですが、
cppファイル(C++)で作製したDLLは、Tclで読ませることは
できないのでしょうか?
ネットや参考書を調べると「C言語」でDLLLを作製するようなことが
多々書かれているのが見うけられたもので・・・
また、C++でDLLを作製したい場合には、何か解決する方法は
あるのでしょうか?
何かわかることがありましたら、ご教授お願いします。
481デフォルトの名無しさん:04/05/08 01:10
>>480
extern "C"
482462です:04/05/08 01:17
>>481 さん
ありがとうございます!!
(すっかり忘れてました・・・)
ずこーな結果なわけだが・・・
484デフォルトの名無しさん:04/05/08 10:55
とほほ。
485名無し@沢村:04/05/26 21:18
Starpack
Tcl/Tkでつくったスクリプトを実行ファイルに変換するツールだな。
が、わし英文読めんけん、このページのどっからDLしていいかわからんのよ。
このページの何行目の何という文字をクリックするとDLできるか、教えて〜♪

http://www.interq.or.jp/japan/s-imai/tcltk/tclkit.html
486デフォルトの名無しさん:04/05/26 21:41
沢村市ねよ
Tclkit
http://www.equi4.com/pub/tk/8.4.6/tclkit-win32.upx.exe

Starkit
http://www.equi4.com/pub/tk/8.4.6/tclkit-win32-sh.upx.exe
rename the downloaded file to "tclkitsh.exe"
Try it out:
launch, i.e. double-click on the "tclkitsh.exe" runtime
this time, a command prompt appears - just type "exit" to close it

http://www.equi4.com/pub/sk/sdx.kit
http://www.equi4.com/pub/sk/sdx.bat
test, by typing "sdx" from the command prompt
you should see a few lines of information returned by SDX
490名無し@沢村:04/05/26 23:36
>>489
両方DLした。
何かTclkitはGUIぽくて、Starkitはコンソールぽいことだけがわかった。
何かTclkitをクリックしたら起動エラーが出て、Starkitをクリックしたらコンソールぽい画面だ出た…。
で、どう使うの?
491デフォルトの名無しさん:04/05/27 00:43
辞書ひけや、ボケ
492名無し@沢村:04/05/27 13:19
>>489
ボケ!!TclkitとStarkitは実行ファイルつくるやつじゃねーぞ!
実行ファイルつくるのはStarpackだ。StarpackはどっからDLするの?
つーか、このページからDLできることはわかってるが、このページのどっからDLするかわからんから、教えて♪

http://www.interq.or.jp/japan/s-imai/tcltk/tclkit.html

493名無し@沢村:04/05/27 13:26
あ…違った…
つーか、このページの
http://www.interq.or.jp/japan/s-imai/tcltk/tclkit.html
Starpackつー文字をクリックして、出てくる、
http://mini.net/tcl/3663
からDLすることまでは突き止めたが、このページのどっからDLできるかが、どうもわからんのよ。教えて♪
>>493
日本語すら読めないようだなw
(・3・) エェー 書いてある通りにしたら出来たYO
http://www.interq.or.jp/japan/s-imai/tcltk/tclkit.html
鄙びたスレだったのに糞コテが集まってきたな・・・。
こんなのが集まるくらいなら鄙びてた方がましだ・・・
498名無し@沢村:04/06/02 18:30
>>495
ええ、どうしてもできん!!
そもそもTclkitとStarkitは、それぞれ入手方法とつくりかたが書いてあるのに、
Starpackはつくりかたしか書いてない…
この辺りがどうしてもStarpackが入手できないネックになってるんだが…
誰か教えてくれんかのう…^^;

http://www.interq.or.jp/japan/s-imai/tcltk/tclkit.html
>>489のファイルをフォルダに入れる。(日本語を含まないパス)
tclkit-win32.upx.exe
tclkit-win32-sh.upx.exe → tclkitsh.exe に名前を変更する。
sdx.kit
sdx.bat

hello.tclスクリプトを用意する。

hello.kitを作る。
>sdx.bat qwrap hello.tcl
hello.kitが作成される。これが「Starkit」

hello.kitを逆ラッピングする。
>sdx.bat unwrap hello.kit
hello.vfsフォルダが作成される。

hello.exeを作る。
>sdx.bat wrap hello.exe -runtime tclkit-win32.upx.exe
hello.exeが作成される。これが「Starpack」
500名無し@沢村:04/06/03 05:48
>>499
だ〜から、「Starpack」の作り方はすでにわかってるのよ!
わからないのは入手方法。どっからDLできるか教えて

>>502
なかなかおもろい物を見つけてきたな。使わないけど・・・
504名無し@沢村:04/06/03 21:28
おみゃーらよ、Starpackのダウンロードの仕方はわからないままだが、
いろいろ検索した結果Starpack使わなくても実行ファイルつくる方法見つけたぜ!!
それはVisual C++でC言語のソースつくって、そのソースでtclをインクルードして、
コマンドプロンプトから、
cl -o sampletk.exe -I"C:\Program Files\Tcl\include" \
sampletk.c "C:\Program Files\Tcl\lib\tcl84.lib" \
"C:\Program Files\Tcl\lib\tk84.lib"
と打ち込めば、つくれるってよ。
でもサンプルコピペしてこの通りやってみたんだが、
ソースファイルのタイプ'\'は認識できませんでした。
とか、
入力ファイル"\.obj"を開けません。
とかいうエラーが出るのよ。
で、sampletk.objまではどうやらつくれてるみたいなんだが、sampletk.exeがつくれとらんのよ。
おみゃーらよ、どこが悪いのかな?
また、いちいちコマンドプロンプトを開かなくても、Visual C++でそのままパス設定してビルドする方法ないの?
おみゃーらよ、2つの疑問について教えちくれ〜♪みなみなさま方〜♪
ここか?
ttp://www.geocities.co.jp/SiliconValley/4137/dir4/tapi23.html
ttp://www.geocities.co.jp/SiliconValley/4137/tcltk.html

ホントにサンプル「そのまま」入力したんかい。沢村はおもろいな。

ついでに教えといてやるが、その方法で作った実行ファイルは
Tcl/Tkがインストールされてない環境では動かないぞ。
506名無し@沢村:04/06/04 06:22
>>505
なんだ、Tcl/Tkがインストールされてない環境では動かないの?
なら、やっぱりStarpackがないとダメなんか…
StarpackのDL方法わからんけどな…
でも、>>499を深読みすると、必要なファイルは、
tclkit-win32.upx.exe
tclkit-win32-sh.upx.exe → tclkitsh.exe に名前を変更する。
sdx.kit
sdx.bat
だけで、「Starkit」と「Starpack」はこれらのファイルを使ってつくる成果物で、
それ自体DLするものではないというふうにも読めるけど、そうなの?
それともやっぱり「Starpack」はどっかからDLしてこないとダメなのかな?
また、
http://www.equi4.com/pub/sk/sdx.kit
と、
http://www.equi4.com/pub/sk/sdx.bat
だが、
sdx.batのほうはクリックするとMSDOSのバッチファイルがDLできたけど、
sdx.kitのほうはクリックすると、何やらプログラムっぽいものが書いてある文字化けしたページが開いただけだけど、
これはそのままsdx.kit.htmlをDLして使うものなの?
html拡張子のままフォルダに入れて使って大丈夫?文字化けしたままでも大丈夫?





右クリックで保存を知らないとは・・・
508名無し@沢村:04/06/04 21:38
おみゃーらよ、>>499の通りにやってみたよ。

tclkit-win32.upx.exe
tclkit-win32-sh.upx.exe → tclkitsh.exe に名前を変更する。
sdx.kit
sdx.bat

をひとつのフォルダに入れ、hello.kitをつくったよ。
ちなみにhello.kitをクリックしてみたら、ちゃんと動いたよ。やたね〜♪
でもその次の、
>sdx.bat qwrap hello.tclというコマンドを打ち込んで、hello.kitを作る段階でくじけたよ。
おみゃーらよ、hello.kitは作成されなかったのよ。
エラーらしきものは出た。
エラーメッセージは次のようなものだ。
couldn't read file "sdk.kit/main.tcl":no such file oe directory
while executing
おみゃーらよ、おれはどこが間違っていたのかな?教えてはくださらんか〜みなみな様方〜♪


509デフォルトの名無しさん:04/06/04 22:17
TCL=TTS=糞言語
平和だったこのスレにも煽りが!
>>508
sdx.kitが壊れているかもしれない
もう一度ダウンロードして、やり直して
512名無し@沢村:04/06/05 05:49
>>511
サンキュー
だが、sdx.kitのダウンロードはちと難解だ。
http://www.equi4.com/pub/sk/sdx.kit
をクリックしても文字化けしたページが出てくるだけだし、
ためしにすべて選択、コピーして、テキストエディタに張り付けsdx.kitという名前をつけたものをフォルダに入れたんだが、
それでsdx.kitが壊れているのかな?
どうやったらこわれないようにダウンロードできますか?
513名無し@沢村:04/06/05 06:14
ふつーダウンロードのページをクリックすると、ダウンロードのダイアログボックスが出てきて、ダウンロードできるだろ?
だが、http://www.equi4.com/pub/sk/sdx.kit
をクリックしてもダウンロードのダイアログボックスは出てこんで、文字化けしたページが出てきただけだったのよ。
ためしにすべて選択、コピーして、テキストエディタに張り付けsdx.kitという名前をつけたものを保存してフォルダに入れたんだが、
その方法でダウンロードしたsdx.kitは、どうも壊れていたらしいのよ。
どうやったらこわれないようにダウンロードできますか?
514名無し@沢村:04/06/05 06:19
そもそも何でsdx.kitに限って、
http://www.equi4.com/pub/sk/sdx.kit
をクリックしてもダウンロードのダイアログボックスは出てこんで、文字化けしたページが出てくるの?
ええい!!何でsdx.kitはひねくれているの?
おかげでこれがネックになって、なかなか実行ファイルがつくれないでいる!!
ちんぽがムズムズする!
沢村に画像処理スレでTcl/Tkの存在を教えてしまったエンガチョは
この僕です。みなさん迷惑かけてすいません。

>>514
右クリックして対象をファイルに保存。
516名無し@沢村:04/06/05 21:35
>>515
すみません。右クリックしても「対象をファイルに保存」というメニュー項目は出てこないのですが…^^;
出てくるメニュー項目は、上から順に、
前に戻る(B)
次に進む(O)
セパレーター
名前をつけて背景を保存(S)
壁紙に設定(W)
背景のコピー(C)
デスクトップ項目として設定(D)
セパレーター
すべて選択(A)
張り付け(P)
セパレーター
ショートカットの作成(T)
お気に入りに追加(F)
ソースの表示(V)
セパレーター
エンコード(E)
セパレーター
印刷(I)
最新の情報に更新(R)
セパレーター
プロパティ(P)

と「対象をファイルに保存」というのは出てこないんですが…
どうなってるんでしょうか?よろしくお願いします…^^;



>>516
パソコン初心者板総合質問スレッドvol.733
http://pc6.2ch.net/test/read.cgi/pcqa/1086433107/
518名無し@沢村:04/06/05 22:01
突然だが、おみゃーらよ、やったぜ、出来たよ!!
もしやと思ってインターネットテンポラリファイルを調べてみたら、tcl[1].kitってのが見つかったので、
tcl.kitに名前を変えて、フォルダに入れてやってみたら、今度はうまくhello.exeができたぜ!!
ちゃんと動いたぜ!!おれって天才かもね♪
が、おみゃーらよ、これでやっと単独で動く実行ファイルができたと思ってよろこんだのだが、
hello.exeをフォルダの外に出してクリックしてみたら、今度は起動エラーが出たが…
フォルダの中ではちゃんと動くのに、フォルダの外に出すと起動エラーが出る…
これって、も、もしかして、この方法で作成した実行ファイルを動かすには、tclkit-win32.upx.exeが必要ってこと?
もしかしてStarpackでは単独で動く実行ファイルはつくれないってこと?
教えてくださらんか〜みなみなさま方〜♪
もし、単独で動く実行ファイルがつくれないんなら、おれtcl/tkはもうやめるけど…
どうなんですか〜みなみなさま方〜自分じ教えちくだされ〜♪
Starpackの制限事項
Starpackのパス上に日本語フォルダ(non-ASCII文字のフォルダ)があると起動エラーになる。
→ Starpackを日本語を含むパス上に置いてはいけない。
http://www.interq.or.jp/japan/s-imai/tcltk/tclkit2.html
520名無し@沢村:04/06/05 22:14
>>519
ありがて〜え!!
自分じ教えちくれてありがとうぞざいました〜♪
そうだったのか…日本語フォルダ(non-ASCII文字のフォルダ)があると起動エラーになるのね…
じゃあStarpackでつくったフリーソフトを配布するときは、日本語フォルダがあるパス上にこのソフトを置かないでください、と書けば大丈夫なのね…
なんかそれってtcl/tkでつくったことがすぐバレてしまうけど…
まあ、それくらいは我慢すっかなあ…
よっしゃあ、これでtcl/tkについては完璧にわかったことだし、さっそくちょっとフリーソフトでもつくってみまっさあ!!
521名無し@沢村:04/06/05 22:18
まあおれとしてはTCL/TKでつくったことがバレては、恥ずかしいというかすたるので、
ちゃんとVisual C++でつくったふりしたかったんだが、そういう制限事項があるんじゃ、
Visual C++でつくったふりはできないなあ…
まあ、tcl/tkでつくったことがバレてもいいかあ…
そんくらいは我慢すっかあ…
よっしゃあ、これでtcl/tkについては完璧にわかったことだし、さっそくちょっとフリーソフトでもつくってみまっさあ!!
>>520
freewrapで日本語パス上に置けるように改造したのを
誰かが配ってたような。
でもTclスクリプトで配布したほうがいいよ。
MacOS9/MacOSX/Win/POSIXで動くし。OS9はちょっと
怪しいけど・・・。
>>521

tcl/tkでプログラム書くと恥ずかしいとか、かっこ悪いからVC++で書いたフリするとか、あんた他人の作ったプログラムを何だと思ってるわけ?

馬鹿はプログラム書くな。

524名無し@沢村:04/06/06 07:59
あと、2つ質問。
メニューやコントロールに日本語の名前をつけるとtclスクリプトのときはちゃんと表示されるんだが、
Starpackで実行ファイルをつくると文字化けするんだけど、どうしたら日本語表示されますか?
あと、Starpackでつくった実行ファイルのアイコンはtclkit-win32.upx.exeのアイコンと同じになるんだけど、
どうやったら自作のアイコンと入れ替えできまつか?
まあ、後者のほうは直接実行ファイル内のアイコンリソースを書き換えるという方法がなくはないけど、
これだと面倒臭すぎるし…
皆々様がた〜♪自分じ教えてくださらんか〜♪
http://www.interq.or.jp/japan/s-imai/tcltk/tclkit.html
日本語を使う場合、日本語のencodingも一緒にラッピングする必要があります。
hello.vfs/lib/にtcl8.4/encodingフォルダを掘って、そこにTclのencodingファイル
を入れます。Windowsならcp932.encとshiftjis.encを入れておけば良いでしょう。

http://www.interq.or.jp/japan/s-imai/tcltk/tclkit2.html
StarpackのアイコンはデフォルトでTkの赤いアイコンになっていますが、
.icoファイルを一緒にラップすることで置換することが出来ます。
以下の解像度のアイコンをすべて用意する必要があります。
526名無し@沢村:04/06/06 13:41
>>525
うわっ、ありがてえ〜♪
そのとおりやってみたところ、自分じちゃんとできました〜♪
アイコンは手をぬいて、32×32/16だけしか入れませんでしたが、実行ファイルのアイコンはちゃんとかわりました。
他のサイズのアイコンもいれればwindowsのタイトルバーのアイコンもかわることは想像に難くないです。
自分じ教えちくれてありがとうございました〜♪
もうtcl/tkは120%わかったっス♪
527デフォルトの名無しさん:04/06/08 11:28
Perl/Tk で、canvas に text を使って漢字を表示し、
その canvasを bmp ファイル等で出力するようなことは
可能でしょうか?そんなことやってるサンプル等
ありませんでしょうか?
Perl/Tkって、Tkの拡張使えるの?使えるんだったらImg使えばできるよ。
529デフォルトの名無しさん:04/06/22 04:44
freewrapとStarpackではラップしたとき同じ結果なんでしょうか?
今はfreewrapの日本語パスの通る改造版でラップしています。
こちらははGUIが使えて簡単なのですが、
オリジナルアイコンがどうも反映されなくてexe実行ファイル自体には
反映されるがそのほかの部分は反映されない。バグ?
またオリジナルのfreewrapは使い方がわからないです。
ドロップ&ドラッグで出来るみたいだけど、複数のtclファイルからなる
場合はどうするんでしょう?

>>529
複数のtclファイルもまとめて引数で渡す。DnDの
場合はよくわからん。。。
531デフォルトの名無しさん:04/06/25 04:42
というより本家のfreewrap(5.6.1)を使うと日本語表示が文字化けして使えない。
そんなもんなの?windowsでshift_jisで書いてるんですがね。。。
ぎゃーじんさんが作ったやつは大抵そんなもんだろ。
GCCだってShift-JISはそのままじゃまともに通らないし。
面白そうだから弄ってみようかと思ったが、$に引いた。
構文の変さ加減はどうでもいいねん。しかし$に引く。
534デフォルトの名無しさん:04/06/25 23:11
$にひくんだったらPerlもシェルスクリプトもひくのか。
シェルスクリプトを書いたことのない人は大抵
Tclの文法を変だという。Windowsユーザーに多い。
%fuck%
>>535
shとcshとtclとperlのスクリプトを同時にメンテしてると気が狂いそうに
なるんですけど。
538デフォルトの名無しさん:04/06/26 14:08
じゃあどれかひとつで書きなおしなさい
Win32版の8.5β、枠線がステキになってますね
これは8.4でも出来るのかな

些細なことだけど
この前アルファ版出たばかりなのにもうベータ版が出てんの?
542539:04/07/01 00:58
アクチヴな奴のバージョンとごっちゃにしてましたたスマソ
>>539
で、枠線ってなに?
544デフォルトの名無しさん:04/07/10 19:05
みんなTclってるかい?
545デフォルトの名無しさん:04/07/10 20:33
VBは仕事で使うがTclは全然使わない。
学生の時につかったきりだから懐かしいよ。
>>544
使ってるけどPythonが最近ブレークしかけなのに対して
全然マイナーなままなのでちょっと悲しい。
>>544
今の職場とその前の職場(通信機器開発)品質管理の人たちがテストスクリプトをExpectで書いてます。
>>547
ああ、Expectは便利だよね。
ってか、あれを使ってない人は何を使っているんだろ?
あんな便利なもの
549デフォルトの名無しさん:04/07/12 23:18
TeraTermマクロとかかな?。。。
550デフォルトの名無しさん:04/07/15 20:41
expectはさいこーだよーん
でも知名度が低いのはかなしーねー
普通にputtyとか使ってる人がおおいのかなー
うぇーん
551ほんたま:04/07/16 00:09
おみゃ〜らよ、おみゃ〜らさーん♪
おりはよ、「Slim de Can」を使ってやっとメインウィンドウにコントロールをつけるサンプルの作成に成功したぜ。わはは♪
「Slim de Can」ってすげ〜な〜、イベントドリブンプログラムが作成できるとこまでついに進化したよ。
おりはもう神だね♪どうよ?

http://hp.vector.co.jp/authors/VA015412/
552ほんたま:04/07/16 13:53
おみゃ〜らよ、おみゃ〜らさーん♪
おりはよ、「Slim de Can」を使ってあるボタンをクリックしたらある処理を行わせ、別のボタンをクリッしたら別の処理をおこなわせるプログラムの作成についに成功したよ。
つまり「Slim de Can」はすでにイブントドリブンプログラムがつくれる環境になっているということを自ら証明したという次第よ。
おい、「Slim de Can」はすでに簡単なゲームくらいはころっとつくれるぞ。誰かつくらんか?
「Slim de Can」ってすげ〜な〜。
おりはもう神だね♪どうよ?

http://hp.vector.co.jp/authors/VA015412/
>>12
プログラム終了
554ruby/tkの初心者:04/07/23 02:39
イメージビューアを作ってるんだが、
tkで画像を表示できるのは >255のbitmapとgifだけですか?
それ以外(jpg,png)を表示したいのですが。
>>554さん、
Jan Nijtmansさんの Img というパッケージがあります。
http://wiki.tcl.tk/1404
Ruby/Tkというのが拡張パッケージを扱えるのかはまったくしらんけど、
tclのコードをevalすれば使えるのかもしれない。
556デフォルトの名無しさん:04/07/24 01:49
tclMagick/tkMagickもあるぜ!!
ImageMagickそのまま使えるぜ!
http://tclmagick.sourceforge.net/
557デフォルトの名無しさん:04/07/25 15:11
下がってるので Age
5588.4.7きてマスタ:04/08/12 18:58
* Fixed [glob -path] bug when in the root directory
* Fixed unicode-char path installation on Windows NT-based platforms
* Properly subsitute more values in Windows tclConfig.sh
* Improved stack overflow prevention on Windows
* Fixed mem leak in [fconfigure $serial -xchar]
* Fixed crash with [cd] with a volumerelative $HOME
* Fixed clock %G %V formats for ISO8601 week numbers
* Fixed support for non-WIDE_INT aware math functions
* Added [http::config -urlencoding] option
* Fixed utf-8 encoding of \u0000 on system I/O
* Prevented dde hangs with non-responsive apps
* Added round() wide integer support
* Cleaner exit and correction of mem leaks when using the threaded
memory allocator and reinitializing
* Improved build configuration on 64-bit systems
* Added read support of PPM/PGM with the -data option
* Correct issue with displaying maximize window button on KDE-3.2.1
* Fix drawing of unicode chars in menu titles on Windows
* Correctly post Tk clipboard data to the Windows clipboard on exit
* Fix the panedwindow -opaqueresize option to work as per the docs
* Reduce Tk tk_messageBox default font size to 14-point
* Prevent possible segfault in -maxundo
* Fix XIM initialization on Solaris
* Complete the implementation of the CG version of the X drawing
emulation layer on Mac OS
* Fix several Mac OS X usability issues
559デフォルトの名無しさん:04/09/10 20:40:16
もっとティクろうぜ
560デフォルトの名無しさん:04/09/10 21:08:15
>>559
よし、じゃあ何かネタくれ。
561デフォルトの名無しさん:04/09/10 22:01:44
マルチウインドウを作るための拡張ありませんか?
MDIって言うんですかね。
window .remocon -width 320 -height -200
pack [button .remocon.play -text "再生" -command play]
pack [button .remocon.1ch -text "NHK" -command "channel 1"]
みたいなことが出来ないでしょうか。
562デフォルトの名無しさん:04/09/10 22:31:05
>>561
mkWidgetsとか。
563561:04/09/11 00:01:32
すみません。MDIではなくてSDIでした。
おとなしくTk_CreateWindow()あたりを使います。
564デフォルトの名無しさん:04/09/11 00:16:28
何が知りたいのかすらわからん・・・
565561:04/09/11 00:26:17
wishしたらウインドウ . が1つ出来ますよね。
複数欲しいんです。なるたけお手軽に。
566デフォルトの名無しさん:04/09/11 00:59:12
これではあかんのか?

#!/bin/sh
# \
exec wish "$0" ${1+"$@"}

toplevel .a
toplevel .b
567561:04/09/11 01:07:55
ずばりそれでした!
toplevel toplevel toplevel


おやすみなさい
568デフォルトの名無しさん:04/09/16 00:21:52
BWidgetでバルーンヘルプのフォントを設定する方法を教えてください
569デフォルトの名無しさん:04/09/16 03:23:34
package require BWidget
button .b -text 破壊
DynamicHelp::add .b -text Destrooooooy!!!
DynamicHelp::configure -font {Arial 30 bold}
pack .b
570デフォルトの名無しさん:04/09/17 07:27:38
回答してもお礼も何も反応がないというのは
つまらないものだな。
571568:04/09/17 22:02:32
だな。
572デフォルトの名無しさん:04/09/18 02:06:43
俺が代わってお礼を言うよ
573デフォルトの名無しさん:04/09/18 09:10:46
俺も代わりに。>>569ありがとう。
574デフォルトの名無しさん:04/09/18 18:34:18
おまえら・・・良い奴だな・・・
575デフォルトの名無しさん:04/09/23 02:24:45
かっこいいTkアプリコンテスト
http://aspn.activestate.com/ASPN/Tcl/Tk_Contest/
576デフォルトの名無しさん:04/10/06 12:50:23
except のスレ立ててもいい?
577デフォルトの名無しさん:04/10/06 22:25:40
>>576
このTCL総合スレが2年もかかって570スレだからそんなのすぐ落ちちゃうと
思われるからここでいいんじゃない? かなりの部分は共通だからね。
578デフォルトの名無しさん:04/10/06 23:38:51
expect
579デフォルトの名無しさん:04/10/09 20:39:05
◎手軽さと機能のバランスがグー。
◎マルチプラットフォーム。
△見た目がいまいち。センスは悪くないが、ネイティブのツールキットを
  使わないので、他のアプリと比べると浮く。

…Tcl/Tk Aqua羨ますぃ。
580576:04/10/11 23:22:59
>>577
了解しますた。

処で、except 本(http://www.oreilly.com/catalog/expect/)を捜しに、
堂島のジュンク堂に逝ったのですが、except 本は疎か、Tcl/Tk の本すら
あんまり置いてませんですた。

漏れの知らぬ間に世間でのブームは去ってしまったのでしょうか?
581デフォルトの名無しさん:04/10/11 23:37:03
>>580
釣りだとは思うがexpectな。
582576:04/10/12 12:31:26
 ∧||∧
(  ⌒ ヽ<…
 ∪  ノ
  ∪∪
583デフォルトの名無しさん:04/10/12 12:44:28
>>579
WinとMacはネイディブだよ?UNIXだってMotifクリソツじゃん。
なにが不満なんだ?GtkかKDEっぽいのにしろってことか?
584デフォルトの名無しさん:04/10/12 14:37:44
Winってネイティブなんだ。エディットボックスで右クリックメニューが
でなかったりとか、挙動が微妙に違うので自前で用意してるのかと思ってたよ。

個人的にWindowsで動かしたときに格好悪いなぁと思うのは、
http://anygui.sourceforge.net/img/wx_w2k_0_1a3.jpg
http://anygui.sourceforge.net/img/tk_w2k_0_1a3.jpg
下側のように、スクロールバーが出っ張ること。
Text widgetとscrollbar widgetを別々に扱っている以上、しょうがないのは
判るんだけど。
585デフォルトの名無しさん:04/10/12 15:34:34
>>584
あーなるほどねー言いたい事はわかるわかる・・・。
その絵ではスクロールバーの出っ張りはpackで配置してる
けど、frameの中にgridで組んで、frameのreliefをsunkenに
するといいよ。
tclsh
package require Tk
frame .f -relief sunken -bd 2
scrollbar .f.x -command {.f.text xview} -orient horizontal
scrollbar .f.y -command {.f.text yview} -orient vertical
text .f.text -relief flat \
    -xscrollcommand {.f.x set} -yscrollcommand {.f.y set}

grid .f.text -row 0 -column 0 -sticky nsew
grid .f.y -row 0 -column 1 -sticky ns
grid .f.x -row 1 -column 0 -sticky ew
pack .f
586デフォルトの名無しさん:04/10/12 19:10:29
>>585
おぉ.すばらしい.これで何となく野暮ったい感じがなくなった.

…今度はXでの見た目が微妙になる罠.
587デフォルトの名無しさん:04/10/12 21:22:43
Winもネイティブじゃないっしょ。
例えばテキストエリアで右クリックしたときの挙動違うし。
588デフォルトの名無しさん:04/10/20 20:28:33
>>579
Tcl/Tk Aqua は Input Method 対応してないよ。
それにかなりバギー。
589デフォルトの名無しさん:04/10/20 21:52:16
Tclのコメントを正確に認識して色を変えてくれるエディタってありませんか?
プラットフォームは Linux, Windows です。

私が試したのは vim, emacs(tcl-mode), k2editor, Source-Navigator で、
vim, Source-Navigator はうまくいきました。
k2editor はコメント開始と終了を指定する正規表現の書き方がわからずあきらめました。
emacs は行末の \ 記号を判別する部分に問題があります。

よろしくお願いします。
590デフォルトの名無しさん:04/10/20 22:14:28
>>589
完璧にやろうとするとむずかしい気がする。
¥の行連結もややむずかしめだけど、たとえば以下の上だけをコメント扱いにするとか。
構文的には同じだけど、引数がevalされるかどうかはコマンド(for/puts)で違う。
vimと Source-Navigatorはこういうのできてるの?

for {set i 0} {$i < 10} {incr i} {
# 10回繰り返す
puts "hello"
}

puts stdout {
# この部分は改行と#から始まる4行のただの文字列
hello
}
591589:04/10/20 22:29:09
>>590
Source-Navigator では両方ともコメント扱いでした。"正確"ではないですね。
vim は現在使えないので不明です。
592589:04/10/20 22:38:27
上で紹介されてる ASED Tcl/Tk-IDE を試してみましたが、
行末 \ 記号とputsの引数認識は対応していませんでした。
593デフォルトの名無しさん:04/10/21 22:56:30
あの、BLTとかtkMagickとかの便利なパッケージ使いたいと思ってるんですが、
こういうのってfreewrapでwrapできるんですかね?
フリーソフト作ってて、freewrap日本語版でwrapできるのが必要条件なんです。

入れて試してみればいいじゃんと言われそうですが、「できるよ」という
声があればやる気がおきますんで。
594デフォルトの名無しさん:04/10/21 23:01:42
できるよ
595デフォルトの名無しさん:04/11/09 22:45:43
昔はTclControlとかいうTclスクリプトを実行できるActiveXコントロールが
あったみたいだけど、いまはそういうことってできる?TclControl自体は
もうメンテ止まってるみたいだし、ActiveTclには入ってなさげだし。

VBでコントロール作る代わりにTclで作って他のアプリに組み込んでやろうかと
考えてる。
596デフォルトの名無しさん:04/11/11 23:54:57
煤iシグマの上N-1、シグマの下n=0、シグマの右exp(jnu) u=2πdsinθ/λ)
という級数の計算をさせたいのですが、虚数(ここでいうj)の扱いがわかりません。
とりあえずざっと書いてみた感じ下のようになるのですが、jはどうすればいいのでしょうか
j以外のパラメータは普通に実数として扱えるのでこれでいいと思うのですが

proc Calc { seg } {
# まず関数内で使用するグローバル変数を決める。
global g_pai g_ramda g_d g_ant
set answer 0
set totalPoi 0

set tmu1 [expr 2.0 * $g_pai * $g_d * sin($g_ant) / $g_ramda]

for {set tim 0} {$tim < $seg} {incr tim} {
set answer [expr exp(($tmu1) * j * $tim)]
            # とりあえず書いてみたがドースンノカ↑

set totalPoi [expr $totalPoi + $answer]
}

return $totalPoi


}
597デフォルトの名無しさん:04/11/12 00:47:12
オイラーの公式
exp(ix) = cos(x) + i・sin(x)
598デフォルトの名無しさん:04/11/12 00:51:47
>>595
マニアックすぎて答えられないスマン。VBからtcl84.dllの
関数をコールするとかできないの?VBあまり使ったこと
ないから適当に言ってるけど・・・
599本田:04/11/12 03:03:17
>>595
>tcom -- Access and implement Windows COM objects with Tcl
http://www.vex.net/~cthuang/tcom/
600デフォルトの名無しさん:04/11/13 21:18:07
>>599
うん。それならActiveTCLに入ってるけどあくまでCOM呼び出し
可能なメソッドを定義できるだけだよね(ActivePerlとかの
COMサポートと同じレベル)。TclControlはGUIコンポーネントと
して他のアプリケーションに埋め込み可能なコントロールを
作ってくれる。

>>598
やっぱマニアックですか…WindowsでCOM/OLE/ActiveXするなら
結局VBとかVC[#++]になるのかな
601デフォルトの名無しさん:04/11/14 15:28:23
こんな古いライブラリやめちまえ!!
QtとかGtkとか使えよ!!
602デフォルトの名無しさん:04/11/14 21:47:25
嫌。
603本田:04/11/15 01:39:02
604本田:04/11/18 04:28:03
>>601
>froglogic Tq is a library which eases migration from Tk based applications to Qt®.
http://www.froglogic.com/pg?id=Products&category=tq
605本田:04/11/20 16:50:19
>>601
>Tcl meets GTK+ and Gnome
http://www.dr-baum.net/gnocl/
606デフォルトの名無しさん:04/11/22 11:02:51
607デフォルトの名無しさん:04/11/23 18:07:33
GTKのTcl bindingじゃなくて、GTKをTkのインターフェイスでwrapしたものが
ほしい。
個人的にはPyGTKをTkinterのインターフェイスでwrapしたものがあれば十分だが。
608デフォルトの名無しさん:04/12/01 22:54:04
8.4.8出たのでageとく
しばらく触っていなかったのでスタティックリンクのDLL生成方法忘れていた
609デフォルトの名無しさん:04/12/02 00:07:45
ぶっちゃけGtkを完全にラップするよりTkがGtk風のL&Fを実装するのが先。
あとGnoclとかはTk風のインターフェースでGtkをラップしたものだよ。
610デフォルトの名無しさん:04/12/09 21:33:48
8.4.9がもうでたよ
611デフォルトの名無しさん:04/12/09 23:14:15
大手自動車会社のとある部署でTcl/Tk使ってたよ。
Tcl使ってどんなことやってるのか知らないけど。
612デフォルトの名無しさん:04/12/09 23:14:59
好みだと思うけどPerl/TKとTcl/Tkってどっちがいいんだろうね?
613デフォルトの名無しさん:04/12/09 23:54:09
Perl/Tkは昔のTkをPerlにポーティングしたものと聞いたが、
今のTkのバージョンアップに付いていけてるのだろうか・・・。
614デフォルトの名無しさん:04/12/10 01:16:34
Jacl って使われてるの?
615デフォルトの名無しさん:04/12/10 01:34:36
Sun時代の遺物・・・それがJacl
616デフォルトの名無しさん:04/12/11 03:34:12
http://www.interq.or.jp/japan/s-imai/tcltk/perl.html

なんかお互いに、だいぶ過去の相手より優れてるって主張ばっかり…
いつの相手と比べてるんだよ
617デフォルトの名無しさん:04/12/11 04:29:14
まあね
618デフォルトの名無しさん:04/12/19 23:20:00
いま走らせてるスクリプトがあるディレクトリを知るコマンドってない?
そのディレクトリに移動して起動してればpwdでいいけど、絶対パスで
起動しているときに、そのスクリプトのディレクトリ(かスクリプトファイルの
絶対パス名)を知りたいんだけど。
619618:04/12/19 23:37:36
自己解決しますた。info scriptだね…
620デフォルトの名無しさん:04/12/23 22:36:44
CからTk使うのってどうやんの?evalするしか方法ないの?
621デフォルトの名無しさん:04/12/24 00:23:43
622デフォルトの名無しさん:04/12/24 14:16:24
>>621
そこはもう全部読みました。要するにevalするしか無いんですね?
623デフォルトの名無しさん:04/12/24 17:04:15
Tk APIを使うんですよ。
624デフォルトの名無しさん:04/12/27 16:09:50
Perl/Tkをperlccにかけてコンパイルするととっても素敵
出来上がったcソースみるとゲロはきそうになるけど
625デフォルトの名無しさん:05/01/11 05:36:53
お前んとこのperlccは正常なcソースを吐いてくれんのか
626デフォルトの名無しさん:05/02/06 00:08:21
今日から Tcl/tk はじめます。
可読性のよい構文が気に入りました。

みなさんよろしく。

627デフォルトの名無しさん:05/02/06 00:11:24
>>626
君も変わり者だね。俺もTclは超読みやすいと思ってるけど
まわりはそう思ってないんだよね。なんでかな。
628デフォルトの名無しさん:05/02/06 00:36:00
>>622
おそらく君には無理。BLTやTixのソースコード嫁。Tcl/Tk入門を嫁。
629デフォルトの名無しさん:05/02/06 01:39:06
>>628
そういうお前は読んだことないだろ。
630626:05/02/06 02:33:41
>>627
awkやrubyもよみやすいと感じます。
shは空白の扱いがシビアすぎ。
lispとsmalltalkはなんでかしらないけどキツイですねぇ。

あとドキュメントが充実しているのがイイ!
よーしパパHello Worldつくっちゃうぞー
631デフォルトの名無しさん:05/02/06 03:44:06
>>629
あるよボケ
632デフォルトの名無しさん:05/02/06 03:45:22
>>626
きょうから始めたくせに戯言こくなよ。
633デフォルトの名無しさん:05/02/06 14:28:21
人が作ったウィジェットを使うのと、自分で一から作るのは違うよ。
evalせずにどうやってCからデフォのウィジェットを使うんだい?
BLTのソースを読んでわかるんだ?ふーん
634デフォルトの名無しさん:05/02/06 21:25:54
人の意見も無視してりゃ、ヘルプさえまともに読めない。
挙句の果てには挑発して回答を引き出そうとする始末。最悪だな。
もう一度言ってやる。Tk APIだ。<tk.h>だ。わかったらぶつくさ言わずにリファレンス熟読しろ。
635デフォルトの名無しさん:05/02/06 21:54:35
いや、出来ないのわかってるから皮肉を言ってんだけど。
ハッタリをどこまで続けるのかなあと。
636デフォルトの名無しさん:05/02/07 00:19:00
アクセレーターがこんなに短くすむなんて感動した
clipboardのappendとか痒い所にも手が届く感じがたまらん

TextとかtagはTurtorialないと厳しいなぁ
例がたくさんないとわからん。そろそろ実践しなきゃね。

また明日。
637デフォルトの名無しさん:05/02/07 23:10:57
おめぇの日記じゃねんだよ
638デフォルトの名無しさん:05/02/09 04:56:53
ちょっと質問。
http://tmml.sourceforge.net/doc/tk/text.html
の「BINDINGS」に関することなんだが。

読んだ所、Ctrl-SpaceやCtrl-wにも対応しているようなのだが、
cygwin版のwishやActiveStateから落としたTcl/tkじゃあ反応しないんだが、
これはなんで??みんな問題なく使えてる??

ちなみにCtrl-a ,Ctrl-e ,Ctrl-o, Ctrl-k, Ctrl-v etc.は問題ない。

<サンプルcodeはここから>
#!/cygdrive/c/Tcl/bin/wish.exe
pack [text .t]

if [catch {open "./foo.txt" r} fd] {}
.t insert end [read $fd]
close $fd
<ここまで>

(でカレントディレクトリにはfoo.txtという適当なファイルがある。
 んで、TclはWindowsでCドライブ以下のTclフォルダにインストール済みという状況。)
639デフォルトの名無しさん:05/02/09 16:27:55
Ctrl-wはwin32だとCtrl-xになってるよ。
event add <<Cut>> <Control-w>
とかして自分でイベントを作るしかないね。
640デフォルトの名無しさん:05/02/09 22:52:47
>>620
C++でよければC++/Tkてのがsf.netにあるから試してみるといいよ
中でEvalしてるけどね Evalしない方法は Tcler's Wiki で見た気がする

とにかくお前さあ、たまにはcom.lang.tcl見ろよな
お前と全く同レベルのカスが湧いてるから
他人のふりみて我がふりなおせるんじゃないかな

まー俺もお前と同レベルのカスなんだけどさ
641デフォルトの名無しさん:05/02/09 23:54:34
> #!/cygdrive/c/Tcl/bin/wish.exe
これはヘボいな
642デフォルトの名無しさん:05/02/10 00:17:08
>>640
Tcler's Wikiも探したけどそんなの無かったよ。
643デフォルトの名無しさん:05/02/10 00:24:15
だいたい、packerやplacerのようなジオメトリマネージャをどうやってC/C++で実装するんだよ。
644デフォルトの名無しさん:05/02/10 00:56:06
>>642
インタプリタからコマンド情報を得てそのコマンドをコールする例あったはずだよ?
おれのかんちがいかな
645デフォルトの名無しさん:05/02/10 00:57:31
>>643
あんたはやれば出来る子だよ
646デフォルトの名無しさん:05/02/10 02:05:34
>>644 それで得られる情報はAPIとして公開されているものとなにも変わらないよ。
623の云うようにTk APIを使うしかない。
ただしジオメトリマネージャがAPIとして公開されていないので、目に見えるようにするには
TclスクリプトをEvalして使うしかない。
647デフォルトの名無しさん:05/02/10 17:26:51
>>642
補足だけど、Tcl/Tk入門にものってたよ これは今確認した
Tcl_Evalのバイパス(610p)で解説されてる方法を使えば
>>633
>evalせずにどうやってCからデフォのウィジェットを使うんだい?
あたりは解決できる

>>646
そうなんだ じゃあTk APIとやらを調べてみるよ
アドバイスありがとうTCL神
648デフォルトの名無しさん:05/02/17 14:40:15
Starkitを使ってexeファイルを作るんだけど、アイコンの変換の仕方がわからない。
Webサイトには

>以下の解像度のアイコンをすべて用意する必要があります。
> 16x16, 4-bit (16-color)
> 16x16, 8-bit (256-color)
> 32x32, 4-bit (16-color)
> 32x32, 8-bit (256-color)
> 48x48, 4-bit (16-color)
> 48x48, 8-bit (256-color)
>例えば、hello.exeのアイコンを変更したい場合は、
>hello.vfs/tclkit.icoにアイコンを置いて再ラップするだけです。
>.icoファイルの名前は、必ずtclkit.icoにしてください。

て書いてあるけど、複数のファイルを全部同じ名前で同じ場所に置く事はできないし。
試しに1つのアイコンでwrapしてみたけど、ダメだった。

誰かわかる人教えて。
649デフォルトの名無しさん:05/02/17 17:22:01
アイコンって複数を一つのアイコンにまとめられなかったっけ

VSについてたアイコンエディタだとできた気がする
650デフォルトの名無しさん:05/02/17 20:55:10
>>648
よしじゃあ複数のアイコンを一つにまとめるプログラムを作るんだ!!
651デフォルトの名無しさん:05/02/17 21:17:44
652デフォルトの名無しさん:05/02/17 21:24:08
Download: Windows95/98/Me用ソフト > アミューズメント > アイコン > アイコン用ユーティリティ
http://www.vector.co.jp/vpack/filearea/win95/amuse/icon/tool/index.html
653648:05/02/19 12:00:04
みんなありがとう。
マルチアイコンなんてあったのね。やってみる。
試してみたら結果を書くYO。
654デフォルトの名無しさん:05/02/19 12:50:00
なぜかtclの構文が気に食わない。もうちょっと洗練された構文がすきだす
655デフォルトの名無しさん:05/02/19 13:48:10
Tcl/Perl/Tk きぼんぬ。
656デフォルトの名無しさん:05/02/19 23:37:42
>>654
シェルコマンドだと思えば普通の構文だよw
657デフォルトの名無しさん:05/02/20 00:33:11
>>654
Tcl9.0で構文を「こういう具合に拡張してくれ」と訴えればよい
http://wiki.tcl.tk/883
658デフォルトの名無しさん:05/02/20 06:38:42
大学の時かなり極めたけど、python勉強しだしたからもうコレはイラネ


659デフォルトの名無しさん:05/02/20 13:10:59
>>658 もったいないお化けがでるよ
660デフォルトの名無しさん:05/02/20 13:12:23
What features should be added to 9.0?

PHP風に構文全部書き直してください
661デフォルトの名無しさん:05/02/21 04:09:57
>>660
TCLは何の略か言ってみろ
662デフォルトの名無しさん:05/02/21 18:15:22
トルク コンバーター ラングエッジ
663デフォルトの名無しさん:05/02/21 18:17:17
http://www.interq.or.jp/japan/s-imai/tcltk/advocacy.html
からperlが最強ということがわかりました
664デフォルトの名無しさん:05/02/21 18:28:24
やり方わかんないです
教えてください
泣きそうです
1. freecommandlinetools.exe を実行します。無料の C++Builder 5
コマンドラインツール開発システムをインストールしたいドライブと
フォルダを選択します。

2. インストール先の bin ディレクトリで次の手順を実行します。
a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。
b. bcc32.cfg ファイルを作成します。このファイルは,Include
および Lib パスのコンパイラオプション(コンパイラの -I
および -L スイッチ)を設定するものです。ファイルには次の
行を含めてください。
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
c. ilink32.cfg ファイルを作成します。このファイルは,Lib
パスのリンカオプションを設定するものです。ファイルには
次の行を含めてください。
-L"c:\Borland\Bcc55\lib"
665デフォルトの名無しさん:05/03/01 20:23:52
Active Tcl 8.4.9.0 には text Widgets の search のオプションに -all が使えない。
ttp://tmml.sourceforge.net/doc/tk/text.html
には書いてある。Active Tcl の方が新しそうなんだけど、-all 消えたの?
マッチしたもの全置換するときとか苦労しませんか?
666デフォルトの名無しさん:05/03/01 22:12:33
それは8.5のマニュアルだ。
667デフォルトの名無しさん:05/03/01 22:55:13
>>666
アリガト
ttp://tmml.sourceforge.net/coredocs.html
の右下に Last updated: 25 Jun 2002 とかいてあるもんだから間違えてしまった。
普通に考えれば -all なんて機能増えることはあっても減ることはなさそうだね。
668デフォルトの名無しさん:05/03/04 18:54:58
今日、電車乗ってたら、前にキモオタが二人乗ってきた。

なんか一人がデカイ声で「貴様は〜〜〜!!だから2ちゃんねるで馬鹿に
されるというのだ〜〜〜!!この〜〜〜!」
ともう片方の首を絞めました。
絞められた方は「ぐええぇーー!悪霊退散悪霊退散!!」と十字を切っていた。
割と絞められているらしく、顔がドンドンピンクになっていった。

渋谷でもう一人、仲間らしい奴が乗り込んできてその二人に声をかけた。
「お!忍者キッドさんとレオンさん!奇遇ですね!」 「おお!そういう君は****(聞き取れず。何かキュンポぽい名前)ではないか!
 敬礼!」
「敬礼!出た!敬礼出た!得意技!敬礼出た!敬礼!これ!敬礼出たよ〜〜!」
俺は限界だと思った。
669デフォルトの名無しさん:05/03/11 19:27:55
いつのコピペだよ…
懐かしすぎ
670デフォルトの名無しさん:2005/04/30(土) 22:58:54
ソースコードを隠す方法はありませぬか。TclProというコンパイラが
あるようですが、フリーでないというのとかなり古いツールみたいで
他の方法がないかと探しています。
671デフォルトの名無しさん:2005/05/01(日) 06:14:04
>>670
tclkit?
672デフォルトの名無しさん:2005/05/01(日) 14:14:59
>>671
starkitはunwrapするとコードを読むことができます。
673デフォルトの名無しさん:2005/05/03(火) 18:39:37
tclproのコンパイラを8.4対応にしたの誰か配ってるよ。
674デフォルトの名無しさん:2005/05/09(月) 17:51:37
ウィジェットの親子関係を付け替える方法がわかりません(><)

.frame1.myButton
.frame2

.frame1
.frame2.myButton
675デフォルトの名無しさん:2005/05/13(金) 21:49:12
cからtcl/tkの関数を呼ぼうと思ったのですが、
一番最初のinterp = Tcl_CreateInterp()の呼び出しで落ちてしまいます。

vc6でコンパイルしactivetcl\libの下のtcl84.lib, tk84.libをリンクしてるのですが、
デバッガで追ってみると、なぜかtcl.libからcygwin1.dllが呼び出されてそこで
落ちてます。

原因をご存知の方はいらっしゃいますでしょうか?

環境: windows xp, activetcl 8.4
676デフォルトの名無しさん:2005/05/13(金) 22:04:57
解決しました。
cygwinのdirectoryにあるtcl84.dllが使われていたためでした。
libをstatic linkしてようが関係ないんですね。愚かでした。
677デフォルトの名無しさん:2005/05/15(日) 07:02:30
複数のtoplevelの重ね順ってどうやって取得すんの?
tk_focusNext使おうと思ったけどできんかった
678デフォルトの名無しさん:2005/05/15(日) 08:14:14
すみません自己解決しました。
wm stackorder .
679デフォルトの名無しさん:2005/05/15(日) 08:20:44
>>676
それ本当に静的ライブラリをリンクしてんの?.libは
静的ライブラリとDLLをリンクするのに使う奴の二種類ある。
tclの場合静的ライブラリはtcl84s.libみたいにsが付いてる。
680デフォルトの名無しさん:2005/06/08(水) 21:51:14
8.4.10でましたよ
ActiveTclがOSXに対応したそうですよ。
681デフォルトの名無しさん:2005/06/18(土) 21:26:45
同じvariable, procを持った幾つかのnamespaceを作ってそれぞれ別の
値を持たせたいんだけど。
foreach current_namespace [list tokyo osaka fukuoka] {
namespace eval $current_namespace {
variable count "";
variable governor "";
proc get_capital_city {...}
}
}
定義(eval)は出来るけど呼ぶときにどうやるか分からない。
set ns1 "tokyo";
set ::$ns1::governor "ishihara";
でError。can't read "ns1::governor" no such variable
とか出る。要するにnamespaceをclass instanceしてobjectに
するように使いたい。Active Tcl 8.4です。
682デフォルトの名無しさん:2005/06/19(日) 01:20:21
変態的な書きかたをする奴には変態技の伝授じゃ!
set ::$ns1\::governor ishihara

OOするならincrTclまじおすすめ。
683681:2005/06/19(日) 09:46:54
>682 名前空間内の procを呼び出すことが出来ました。variableに値を
setすることも出来ました。ありがとう。
ところで名前空間内の variableは参照できないのでしょうか。
>681 の例では
set ::$ns1\::count 100
set ::$ns1\::count [expr $::$ns1\::count + 1];
でエラーになります。namespace無いの全てのvariableに対して
get_<variable名> {} {returun $<variable名>}というprocを定義する
しかないんでしょうか。
$::$ns1\::count, ${::$ns1\::count}, $::${ns1}::countなどやってみま
したが全て文法エラーだったり変数名が返されるだけでうまくいきません。
Tcl上で行う必要があるんです…incr Tclは使えないんです。
684デフォルトの名無しさん:2005/06/19(日) 21:07:51
set ::$ns1\::count [eval expr $\{::$ns1\::count\} + 1]
とか
incr ::$ns1\::count
とか
set c ::$ns1\::count
eval set $c [expr $$c+1]

一番上の書きかたなんて誰も読みたがらんぞ!
incrTclが無理ならTclで書かれたsnitとかまじおすすめじゃ!
685デフォルトの名無しさん:2005/06/19(日) 22:06:03
TCLしか出来んのだけど転職は可能ですか?
686デフォルトの名無しさん:2005/06/19(日) 23:10:20
incr TclはTclとは別の処理系じゃないよ。君はCに対するC++みたいな位置付け
かと思っているようだけど、それは違うよ。普通のTclの拡張ライブラリだよ。
soファイルをloadするだけでいいんだよ。
687681:2005/06/20(月) 01:33:18
>>684 さん、ありがとうございます、3つの書き方全て実行出来ました。
incr以外のlistやhashなども使いたいのでちょっとトリッキーな
この方法(特に1つめ)のは使わないことにしましたが。兎に角thank youです。
688681:2005/06/20(月) 01:41:53
>>686 さん、[incr Tcl]は.soが要るのですね。Active Tclで
調べてみたら、itcl.dllというのがありました。
>>681 でactive tclとか書いておいてなんなのですが、実は
私が今実行したい処理系は会社で使っている半導体設計(EDA)ソフトの
カスタマイズ言語としてのTclなのです。この業界の設計ツールは何故か
は知りませんがほとんどTclかSchemeです。Officeに対するVBAみたいな
感じでしょうか。で、itcl.soをHP-UX,AIX,Solaris, Linuxで自分で作れるかどうか
分からないのです。時間があるときに調べてみます。

>>684 中で紹介されたsnitが 例えば source snit.tclなどとするだけ
でOKな拡張だった場合、使える可能性がありますのでこれも調べてみます。
689デフォルトの名無しさん:2005/06/29(水) 11:17:02
>>683
upvarいいよupvar


proc dump {name} {
 upvar 0 ${name}::count count
 upvar 0 ${name}::governor governor
 puts "name: $name"
 puts "count: $count"
 puts "governor: $governor"
}
690デフォルトの名無しさん:2005/07/04(月) 16:40:46
expectについて質問
目的のルータへtelnetし、ログインするところまではうまくいったんだが
ログイン後の処理で工夫をしたい。
ログイン後に任意のコマンドを投入しんだけど、
この任意のコマンドは別ファイルから引っ張ってきたい。
別ファイルを1行ずつ変数に代入することになるんだろうけど、やり方がよくわからない。
その別ファイルの名前が command.txtだとして、
今回のスクリプトのファイル名がswitch_configだとするなら、

#switchi_config command.txt

という具合に、コマンドラインから引数を受け取って処理するようにしたい。
何か参考になるwebページでも結構なんで教えていただければ幸い
691デフォルトの名無しさん:2005/07/04(月) 20:15:39
http://www.linux.or.jp/JM/html/expect/man1/expect.1.html
これはもう読みましたか?
692デフォルトの名無しさん:2005/07/05(火) 00:10:15
               ∩
             | |
             | |
             | |
             | |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       ∧_∧  | |   |先生〜procで作ったコマンドを unsetみたいに
      ( ´Д`)//  < スタックフレームから消す方法を教えてくださ〜い
      /     /    \___________
     / /|    /
  __| | .|    | __
  \   ̄ ̄ ̄ ̄ ̄   \
  ||\            \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              ||
693本田& ◆xOS3wf.pJg :2005/07/05(火) 08:18:06
>>692
インタープリターごと削除すればいいのでは?
694デフォルトの名無しさん:2005/07/05(火) 15:09:19
>>692
proc test {} {puts てすとだよ}
test

rename test {}
test
695デフォルトの名無しさん:2005/07/05(火) 15:10:48
>>690
よくわからんけど、ファイルを開いて一行づつループで回すだけなのでは・・・
696デフォルトの名無しさん:2005/07/05(火) 21:51:25
              ∩ 
             | | 
             | | 
             | | 
             | |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 
       ∧_∧  | |   |先生〜pack forgetで空いた穴は 
      ( ´∀`)//  < 埋めれないんですかあ? 
      /     /    \___________ 
     / /|    / 
  __| | .|    | __ 
  \   ̄ ̄ ̄ ̄ ̄   \ 
  ||\            \ 
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄ 
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄|| 
     .||              || 
697デフォルトの名無しさん:2005/07/06(水) 23:15:03
forgetで穴が開くて
具体的にはどういう状況ですか?
親がpropagateしてるくらいしか思いつかないス
698697:2005/07/06(水) 23:20:16
親じゃなかった
propagateするのはmasterだよね
ごめん
699デフォルトの名無しさん:2005/07/25(月) 22:07:35
ActiveTcl8.4.11出てた。
700デフォルトの名無しさん:2005/07/28(木) 00:52:59
おれは8.5a3を愛用している
701デフォルトの名無しさん:2005/08/08(月) 12:21:32
ややスレ違いだがExpectについてご教示賜りたい

ルータにtelnetして自動運転するスクリプトを書いているんだが、
ルータが吐き出した行から任意の文字列を切り出して変数に入れたい。
どうすればいいでしょうか
702デフォルトの名無しさん:2005/08/08(月) 14:11:28
>>700
8.5って対応してる拡張少なくないの?
703デフォルトの名無しさん:2005/08/08(月) 14:25:36
704デフォルトの名無しさん:2005/08/08(月) 17:09:54
>>701

ありがとう。複数行にわたって記憶されるみたい。
あとは考えてみます。

今bashのシェルスクリプト内でexpectを実行するものを書いてる。

-------------------------------------------------------
#!bash

ip_address=192.168.1.1
hostname=suntory

(中略)

expect -c "
spawn telnet $ip_address
expect "login:"
send "Password:"
send "password\r"

expect ${hostname}  

ネットワーク機器のプロンプト文字列"suntory"を待つ。
もし違うプロンプトが来た場合は速やかに処理を中断し、bash上から
任意のコマンドを実行したい。"suntory"のプロンプトが来れば処理を続行。

「タイムアウトになったら、処理を中断し、bashなど他のスクリプト言語で処理を開始する」
というやり方でも良いかと思うんだけどwebや英文のexpect本を読んでもよくわからない・・・・
そもそも、可能?
705703:2005/08/08(月) 23:17:32
>>704
タイムアウトなんてexpectの基本中の基本。とりあえず>>701のサイトを全部読め。
706デフォルトの名無しさん:2005/08/08(月) 23:41:03
>>704
bashスクリプトとexpectを併用してどうこうしたいんならperlでやっちゃいなよ
希望の文字列が来たらこうして、「それ以外」だったらああするっていう処理が知りたいのかな?
707デフォルトの名無しさん:2005/08/31(水) 17:20:57
tcl/tkのデフォルトのフォントってどこで設定するんでしょうか…
homeあたりに .なんとかrc でも書けば全てのtcl/tkアプリのデフォルトに使用、みたいな方法はありませんか。
708デフォルトの名無しさん:2005/08/31(水) 20:46:32
>>707
lib/tk8.4/tk.tclでもいじってみればー
709デフォルトの名無しさん:2005/09/01(木) 07:08:01
>>708
( ´Д⊂ヽミツカラナイ… > tk.tcl

もしかしてLinuxの勉強の範疇でしょうか。
xresourcesだかをいじれば可能?
710デフォルトの名無しさん:2005/09/01(木) 19:01:54
ホームディレクトリに.wishrcを作って
option add *font {{-jis-*-*-*-*-*-16-*-*-*-*-*-*-*} 12} widgetDefault
とか書く方法もあるよ。
711デフォルトの名無しさん:2005/09/01(木) 19:05:28
http://wiki.tcl.tk/689
英語だけどここが詳しいから暇なら読んでみてね。
712デフォルトの名無しさん:2005/09/01(木) 22:37:32
>>711
.tkってなにかと思ったら南太平洋にある人口1400人のニュージーランド領の国、
トケラウ諸島のトップドメイン。ワロタ。
713デフォルトの名無しさん:2005/09/01(木) 23:41:34
.tkドメインの管理組織から進呈されたそうだよそのドメイン
714デフォルトの名無しさん:2005/09/02(金) 22:29:04
(・ε・)へー
715デフォルトの名無しさん:2005/09/02(金) 23:37:04
長い間tclの存在は知っていたんですが、最近はじめて
勉強しています。なんか、思っていたよりずっと美しいと
いうか玄人好みな言語なんですな。関数言語的というか、
lispの文法を読みやすくして(マクロは無いけれど)実用性を
大幅に高めた感じ。(この感想あってるかな、まだ触って数時間)

今までプログラムの字面だけ見て高機能なshスクリプトみたいな
言語だと思っていました・・・
716デフォルトの名無しさん:2005/09/04(日) 00:04:16
>lispの文法を読みやすくして(マクロは無いけれど)実用性を
>大幅に高めた感じ。(この感想あってるかな、まだ触って数時間)
(゚Д゚)ハァ?

>今までプログラムの字面だけ見て高機能なshスクリプトみたいな
>言語だと思っていました・・・
その認識で正しい
717デフォルトの名無しさん:2005/09/04(日) 00:51:09
そうかな。Tcl素人で適当なこと言って悪いけど

-文法が新しい制御構造(らしきもの)を作成しやすくなってる
-Event-Driven I/Oが言語にビルトイン (何故かこの特徴は実用
になるメジャー言語にあまり備わってない)
-クロスプラットフォームな標準GUIライブラリ
-Cで拡張ライブラリ書くのが簡単

型の自動変換規則がかなり適当なせいでPerl同じように
バグを産みだしやすい面はあるかもしれないけど。

自動テスト作成に向いてるとか言われるのはわかる
気がする。DSLの作成が得意な実用言語?
718デフォルトの名無しさん:2005/09/04(日) 07:29:09
tclはlispの方言の一つかとかnewsで言ってた外人がいたような気がする。
719デフォルトの名無しさん:2005/09/04(日) 08:43:10
tcl == tiny common lisp?

Tcl が関数言語的つーのはどうかと...
720デフォルトの名無しさん:2005/09/04(日) 12:20:14
最初にコマンド名があって空白を挟んで引数が続くという形式や, ブラケットがネストしていく様子は Lisp に似ていると言えなくもない.
引数に $ を付けないコマンドは Lisp の特殊式に比べられなくもない.
気持ちは分かるが, 関数型言語でも文法を Lisp に合わせた訳でもない.
高機能なシェルスクリプト? それはそれでどうかと思う. 最初は確かにそうだったんだが…
721デフォルトの名無しさん:2005/09/04(日) 16:15:00
``の代わりに{}を使ってネストできるってだけで
あとはシェルスクリプトと同じじゃないの?
データ型は文字列しかないみたいだし。
722デフォルトの名無しさん:2005/09/04(日) 22:37:33
文字列型しかないのかなあ。要はTcl_Object型だろ。
型無しっつうのと意味は同じだと思うけど。
723720:2005/09/05(月) 12:07:02
掘り下げてもしょうがない気はしますが…
例えば [expr $x + $y] なら, expr はどう処理しているんでしょう?
数値なら数値の特殊な扱いがあるんでしょうか? あったとしても expr の内部の話だから型とは無関係ということになるんでしょうか?
シェルスクリプトについては, 何が出来ればシェルスクリプトと違ってくるのか分からなかった.
少なくともシェルスクリプトだけでアプリケーションを書こうとは思わないというだけ.
724デフォルトの名無しさん:2005/09/07(水) 23:51:06
数行の(とは言い過ぎかもしれないが)スクリプト記述でアプリケーション作れちゃう
のがTcl(/Tk)の強みなんジャマイカ
君のいっているアプリってどの程度のものかしらんけど
exprは内部で数値変換や演算をしてその結果を文字列として返すだけ
725助けてください:2005/09/17(土) 23:51:24
Windows2000でActiveTcl8.4.11.1を使っています。
puts $argv
exit
このようなプログラムを書きます。test.tclとして保存し、コマンドラインから
tclsh test.tcl 江戸
と打ちますと、「構]戸」と文字化けして出力されてしまいます。

助けてください
726725:2005/09/18(日) 01:11:59
ソースを見たわけじゃないけど、オプション引数では
どうやら]{}をエスケープする処理が入ってるようです。
なので下位の2バイト目に0x5D, 0x7B, 0x7Dが
入っている文字は全部文字化けする気がします。
[(0x5B)の場合はリスト化されてるし、なんか変です。

[閏骸擬啓梗纂充深措端甜納票房夕麓兌喙媼彈拏杣歇
]云馨犠珪江讃従疹曽綻転脳評望余肋兢咯嫋彎拆枉歉
閲顎宮鶏砿施旬須捜畜怒倍府本養几嘴學悳掉桀毬
厭笠急迎閤枝殉図挿筑党媒扶凡抑凩嘲孺怡掵栲毳

この辺の文字がおかしいです
727デフォルトの名無しさん:2005/09/18(日) 02:49:03
Tclの内部文字コードはUTF-8なんだからそれで渡せばいいだけでは?
728725:2005/09/18(日) 14:07:36
>>727
よくわかりません。どうやるんでしょうか。

たとえば先ほどのプログラムをtclshの対話シェルから
fconfigure stdout -encoding utf-8
exec tclsh test.tcl 江戸
とやっても文字化けします。
729デフォルトの名無しさん:2005/09/18(日) 14:31:52
ほら化けませんよ(WinXP + Cygwin)
putsするだけならEUC-JPでも大丈夫だろうけど

% cat bbb.tcl
puts $argv
% cat bbb.sh
#!/bin/sh
exec tclsh bbb.tcl 江戸
% od -t x1 bbb.sh
0000000 23 21 2f 62 69 6e 2f 73 68 0a 65 78 65 63 20 74
0000020 63 6c 73 68 20 62 62 62 2e 74 63 6c 20 e6 b1 9f
0000040 e6 88 b8 0a ←UTF-8で「江戸」ね
0000044
% ./bbb.sh
江戸
730725:2005/09/18(日) 16:24:38
>>729
どうもありがとうございます。えと、
cygwinはよく知らないので間違えているかもしれませんが、シェルの環境の
言語がutf-8になってるのではないでしょうか。他のプログラムとの連携が
あるのでできれば環境は非cygwinのcp932のままでやりたいのですが・・・。
731727,729:2005/09/18(日) 19:06:56
>>730
シェル環境というか、端末ソフトはckという多言語自動認識
できるやつ。でも、今回の文字化けは表示じゃなくて入力の
ところで発生しているのでそれは無関係かと。

tclのソースを調べたところこんな処理になっていた。
たぶんSJISの文字をコマンド引数からちゃんと渡すのは
無理じゃないかな。

1. CレベルのargvをTclのリストに変換する
(知ってると思いますがTclのリストの内部表現はある特別な
フォーマットの文字列)
ここで `]' などはTclリストの内部表現的に特殊文字なので
backslashでエスケープされる。

2. リスト文字列をデフォルトEncoding(Windowsの場合SJIS)から
UTF-8に変換する。このときエスケープ文字のはずのbackslashは
別の文字の一部として消滅する。
その結果 `]' だけがおいてきぼりになる。

3. リスト文字列を$argvにセットする。
732727,729:2005/09/18(日) 19:15:30
あとわかったのは、引数のエンコーディングがシステム
決め打ちなので>>729のやり方はダメですね。入出力が
同じエンコーディングなので偶然元のバイト列に戻った
だけみたい。

ただし、tcl8.5からはtclshに-encodingというオプションが
追加になったらしいので、

tclsh -encoding utf-8 UTF-8の日本語文字列

こういう使い方なら副作用もなく正しく処理できそう。
733725:2005/09/19(月) 18:48:46
>>731
そうなんですか。残念です・・・。
ありがとうございました・・・。
734デフォルトの名無しさん:2005/09/28(水) 16:41:40
725です。問題を修正したtcl84.dllを作ってみました。
http://chun.s11.xrea.com/up/img/046.zip

あとソースフォゲにがんばってバグ報告してみました。
735デフォルトの名無しさん:2005/10/05(水) 08:37:45
>>734

tcl84.dll、tk84.dll で、Windows で漢字を含むパスの不具合修正

http://lists.sourceforge.jp/mailman/archives/tcltkjp-develop/2004-March/000049.html

ここにある修正を適用すれば解決するはず。
引数の問題だけでなく、$argv0 とかへの変数設定の不具合も解決する。
tclsh 及び、wish 本体を日本語を含むパスにおいても実行可能になる。
修正ファイルは以下(tclAppInit.c、tkAppInit.c、winMain.cの修正も必要)
./tcl8.4.5-ok/win/tclWinFile.c.diff
./tcl8.4.5-ok/win/tclWin32Dll.c.diff
./tcl8.4.5-ok/generic/tclEncoding.c.diff
./tcl8.4.5-ok/generic/tclMain.c.diff
./tk8.4.5-ok/generic/tkMain.c.diff
8.4.5での修正だけど最新版でも適用可能だと思う(8.5系には適用不可)

tcl85a2では、ある程度対策が行われたみたいで
generic/tclMain.c
generic/tkMain.c
の修正だけでよかった。(tclAppInit.c、tkAppInit.c、winMain.cの修正は必要)

736725:2005/10/05(水) 15:05:24
>>735
どもです。これは725のバグとは別のそれだと思うのですが、
確かに\を/に変換する処理が入ってて文字化けしますですね・・・。
実行ファイルのパスの問題は8.4.7で一度手が入ってるので、
そのままパッチは当てれないと思いますが、ちょっと調べてみたいと
思います。
737725バグ:2005/10/05(水) 17:05:52
>>736
725バグの修正は735に加えて、以下を tclMain.c、tkMain.c の、Tcl_Main() 、Tk_MainEx()への追加で解決する。
tcltk85a2 でも同様の修正でOK。 該当部分はすぐわかると思うので手パッチで試してね。

#ifdef _WIN32
{ char*av[argc]; int i;
for (i = 1; i < argc; i += 1) {
char*utf8,*p;
Tcl_ExternalToUtfDString(NULL, argv[i], -1, &argString);
utf8 = strdup (Tcl_DStringValue(&argString));
for (p = utf8; *p != '\0'; p++)
if (*p == '\\')
*p = '/';
av[i] = utf8;
Tcl_DStringFree(&argString);
}
args = Tcl_Merge(argc-1, (CONST char **)av+1);
Tcl_SetVar(interp, "argv", args, TCL_GLOBAL_ONLY);
ckfree (args);
for (i = 1; i < argc; i += 1)
free (av[i]);
}
#else
args = Tcl_Merge(argc-1, (CONST char **)argv+1);
Tcl_ExternalToUtfDString(NULL, args, -1, &argString);
Tcl_SetVar(interp, "argv", Tcl_DStringValue(&argString), TCL_GLOBAL_ONLY);
Tcl_DStringFree(&argString);
ckfree(args);
#endif


738725:2005/10/05(水) 23:20:01
>>737
えっと、要するに\を/に置き換える処理をTcl_Mainのutf-8変換後に移動する、
というのと、引数を一つづつutf-8に変換するということですね。8.5a2はこの部分
だけでいいとおっしゃっていますが、8.4.11の場合も、この部分だけでいいんでしょうか?
8.4.7で入った修正と、この8.4.5用パッチの修正の部分の突合せに難航しております・・・
あと、cygwinで\を/に変換する処理がどうなってるか調べないと・・・
739725バグ:2005/10/06(木) 11:16:32
>>738
8.4.11の場合は、tclMain.c tkMain.c tclAppInit.c winMain.c の修正だけでいいと思う。
tcl8.4.11 を調べて、試してみた(tkはやってない)けど大丈夫だった。

> 要するに\を/に置き換える処理をTcl_Mainのutf-8変換後に移動する、
> というのと、引数を一つづつutf-8に変換するということですね。

この考えでOK。 うまく修正して本家に報告しといてね。


cygwin環境で、このtclを実行させた場合でも、ちゃんと動作するよ。
cygwinでは、引数とかの \\ -> / 変換は行わないので気にすることはない。








740デフォルトの名無しさん:2005/10/17(月) 14:02:36
8.4.11.2の.2ってなんで普通に8.4.13みたいにしないの?
.2分上がったソースコードはどこから取れるのか教えてください。
741デフォルトの名無しさん:2005/10/18(火) 15:05:24
Tcl/Tk 8.4.0
リリース後に発見されたバグが修正されると8.4.1, 8.4.2のように
更新される。

ActiveTcl 8.4.11.0
Tcl/Tk 8.4.11をベースにTcllibやBWidgetなどの拡張ライブラリを
追加したもの。Tcl/Tk 8.4.11以外の部分が更新されると8.4.11.1
8.4.11.2のように更新される。

742デフォルトの名無しさん:2005/10/18(火) 17:10:21
どなたか教えてください…

set a [open "|外部コマンド"]
みたいに、外部コマンドの実行結果をパイプで受け取りたいのですが
これだと、標準出力しか受け取れないですよね。

標準エラー出力も受け取るには、どうしたらいいんでしょうか?
743デフォルトの名無しさん:2005/10/18(火) 20:53:56
シェルスクリプトでくるむ
744デフォルトの名無しさん:2005/10/18(火) 21:48:03
TclX使えばCみたいにforkとdupでごにょごにょできるんじゃないかな。
やり方忘れたけど。。
745デフォルトの名無しさん:2005/10/18(火) 23:16:58
aを閉じたらどうなの?
746デフォルトの名無しさん:2005/10/19(水) 00:58:17
set p [open "|command 2>@1"]
て2>@1を付けると、stderrも$pのチャンネルに
出力するようになるよ。

・・・

  色 々 考 え て み ま す た 。 。 。

exec echo "puts stdout OUTTTT\nputs stderr ERRRRR" > srv.tcl
exec echo > stderr.txt

set err [open stderr.txt r+]
set p [open "|tclsh srv.tcl 2>@$err"]
gets $p
seek $err 0
gets $err
747デフォルトの名無しさん:2005/10/19(水) 01:18:30
$n ってソースに書くと
コンパイラがnって変数ないぞと言われるんだけど
変数として扱わないで$nと書く方法ありませんか?
748デフォルトの名無しさん:2005/10/19(水) 01:53:49
\$n
749デフォルトの名無しさん:2005/10/19(水) 05:13:48
ruby/tkでいいじゃん
tclのソースって慣れの問題だけど読みにくいよ
750デフォルトの名無しさん:2005/10/19(水) 15:10:52
Exerbでパックできんじゃん。Rubyはこんなんばっか。どこか中途半端。
751デフォルトの名無しさん:2005/10/20(木) 01:01:50
{$n}
752デフォルトの名無しさん:2005/10/30(日) 11:12:44
また新たなバグを見つけてしまった・・・。

set s 日本
set d1 [list [encoding convertto cp932 $s]]
set d2 [encoding convertto cp932 $s]
if {$d1 ne $d2} {error "$d1 ne $d2"}
753デフォルトの名無しさん:2005/10/30(日) 11:30:55
バグの前に何の必要があって内部表現をcp932にしようとしてるんだ
出力のときだけでええやん
754デフォルトの名無しさん:2005/11/03(木) 18:58:23
しばらく目を離してたすきにtcllibの充実っぷりがすさまじくなってる。
使い方がいまいち情報不足だが、、
755デフォルトの名無しさん:2005/11/03(木) 23:58:34
>>1
TCL/TKって何て読むんですか?
ティーシーエルティーケー?ってよんでたんですが、ある場所で誰かがトクルなんとかって
よんでてわらってしまったんですが
756デフォルトの名無しさん:2005/11/04(金) 03:37:27
普通は「ティクルティーケーと」読む
757デフォルトの名無しさん:2005/11/04(金) 05:04:52
>>756
「ティックルティーケー」だと思ってたけど。
758デフォルトの名無しさん:2005/11/04(金) 12:35:45
>>754
使い方まとめてくれよ
759デフォルトの名無しさん:2005/11/07(月) 00:48:52
>>754
grammar::*翻訳してくれよ。
760デフォルトの名無しさん:2005/11/12(土) 22:57:32
C/C++からTkのウィジェット構築をやりたいんだけども、Tk_CreateWindow()してTk_SetClass("Button", tkwin)とやるほかにどのようなことをすればいいか誰かご存じないか?
あるいはサンプルコードの見られるサイトとか知らないか?
Tk_CreateWindowでぐぐったりしてもman載せてるところしか見つからないし、TiXとかのソースではCからウィジェット生成してるところを見つけられなかった...
761デフォルトの名無しさん:2005/11/13(日) 09:49:50
自分でTk拡張を作りたいの?
762デフォルトの名無しさん:2005/11/13(日) 12:13:18
>>761
いや、単純にC/C++からTkウイジェットを利用したいだけだよ。
763725バグ:2005/11/13(日) 18:39:54
>>762

それなら Tcl_Eval () でしょうな。

int main () {
// Tcl初期化
// Tk 初期化

   Tcl_Eval (Interp, "label .a -text ok");
Tcl_Eval (Interp, "pack .a);

  Tk_MainLoop ();
}

これで、label widget が開く。
あとはコールバック関数を使うなりして、データを受けとりゃいい。


参考になるかもしれんサイト
http://www.geocities.jp/urano343/tcltk.html
http://www.interq.or.jp/japan/s-imai/tcltk/
764デフォルトの名無しさん:2005/11/13(日) 19:13:05
>>763
回答有難う。
しかし、Tcl_Eval()を呼ばずにTk_CreateWindow()経由ではTkウィジェットは利用できないのだろうか?
つまり、Tk_CreateWindow()やTk_SetClass()と言うのは拡張ウィジェットを実装するために使うものって事なのか?
765デフォルトの名無しさん:2005/11/13(日) 22:21:20
パックすればいいじゃん。めんどくさいからやり方忘れたけど
ジオメトリマネージャー呼び出して配置すればできたはず。
766デフォルトの名無しさん:2005/11/15(火) 04:53:50
>>764
Tk_CreateWindow()やTk_SetClass()は、そのとおりで、ウィジット作成用。

Tcl_Eval()が、C バインディング tcltk の、うまみであるし、設計思想だと思う。

Tcl_Eval()使わず、直接ウィジット作成関数はコールできなくはないけど、
ヘッダ(tk.h,tkDecls.h)で定義されてないし、もしかしたら、グローバル関数じゃ
ないかもしれん。

仮に直接コールできたとしても、その関数は、tcl から呼ばれることを想定
しているので、引数(argc, argv,今はobjc,objvか)を作ってやんなきゃいけないので、
コードは、Tcl_Eval()でコールしてるのとほとんど変わりないか、逆に増える。

767本田:2005/11/15(火) 06:02:15
>>764
> しかし、Tcl_Eval()を呼ばずにTk_CreateWindow()経由ではTkウィジェットは利用できないのだろうか?

Tkのソースコードを見ればいいんじゃないの?
Tcl/Tk入門 第2版 第43章も参考になりそう。
768デフォルトの名無しさん:2005/11/15(火) 23:43:11
>>766, 767
回答ありがとう。そうか拡張ウィジェット用なのか。
いや、Tcl_Eval()を使うのにやぶさかではないんだが、せっかくTk_CreateWindow()と言うのがあるなら
そっちの方がC/C++としては使いやすいかな、と思ったんだ。
769デフォルトの名無しさん:2005/11/18(金) 01:54:16
tp://reddog.s35.xrea.com/wiki/dict%A4%CE%BB%C8%A4%A4%CA%FD%A5%E1%A5%E2.html
tp://tcltk.co.kr/moniwiki/wiki.php/Tcl%C0%C7%20%BB%F5%B7%CE%BF%EE%20%B5%A5%C0%CC%C5%B8%20%B8%ED%B7%C9%BE%EE%20dict
同じ人なの?
770デフォルトの名無しさん:2005/11/18(金) 11:51:14
http://ja.wikipedia.org/wiki/Tcl/Tk
これ読んでたんだけど、"ブロック毎に未評価のコードをそのまま保持する"って
どういう意味?バイトコードコンパイル時に文法チェックはするんじゃないの?
771デフォルトの名無しさん:2005/11/19(土) 11:49:38
8.4.12がもうすぐ
772デフォルトの名無しさん:2005/11/22(火) 01:29:03
サーバにログインし指定ディレクトリに移動後、lsを行うexpect
を作成しましたが
expect_file > /tmp/hoge.txt
としたとき「hoge.txt」を「vi」で開くと文字化けぽっくなる
(catでみるとそんなことはない)
なぜなのでしょうか?
773本田:2005/12/02(金) 16:40:48
Tcl/Tk8.4.12が出てると思ったら、
まだRC1が付いていた。
774デフォルトの名無しさん:2005/12/03(土) 22:54:16
BitWalkってどこ?サイト見つからないのは気のせい?
775デフォルトの名無しさん:2005/12/04(日) 00:19:49
ロケットビーチ消滅に巻き込まれて消息不明
776本田:2005/12/04(日) 01:01:12
blogならまだ在る。
http://bitwalk.blogspot.com/
777775:2005/12/04(日) 01:03:43
おー、そうでしたか、それだけですか。嫌な想像してしまいました。
須栗氏が独立される前のころは頻繁に氏の掲示板にも張り付いていた厨でしたが。

久々にTcl/Tk触ってみると忘れている、、、メニュー作るのに一苦労しましたわいw
778774:2005/12/04(日) 01:16:48
>>777 775じゃなくて、orz
>>776 Thx、読んでみる。
779本田:2005/12/05(月) 21:05:17
Tcl/Tk8.4.12RC2登場。
780デフォルトの名無しさん:2005/12/06(火) 06:30:09
RC3出てるし
781本田:2005/12/07(水) 22:16:40
>Tcl/Tk 8.4.12 Dec 5, 2005
http://www.tcl.tk/
782デフォルトの名無しさん:2005/12/09(金) 06:50:37
ActiveTclの8.4.12のlib/tcl8.4にスレッド拡張が入ってるな。
783本田:2005/12/11(日) 06:35:10
>>782
> ActiveTclの8.4.12のlib/tcl8.4にスレッド拡張が入ってるな。
8.4.11.2から入っている。
784デフォルトの名無しさん:2005/12/11(日) 08:33:57
>>783
そうなのか。俺的にはlib/tcl8.4/threadじゃなくて
lib/threadの方がいいんだが・・・。threadなんて
めったにつかわんし、コアに存在しない拡張を
tcl8.4に入れるのはどうなのよって思ってしまう。
785デフォルトの名無しさん:2005/12/11(日) 10:38:38
TKの日本語入力が化けるのはどうにもならんですか
786sage:2005/12/12(月) 21:14:30
tk8.4.12
msys,cygwin等の mingw32-gcc でコンパイルした場合にwish.exeが正しく育成されない。

原因 configure で @MACHINE@ がセットされないことにより wish.exe.manifest 内の
processorArchitecture が空になるため。

対策 wish.exe.manifest 内の該当行に processorArchitecture="X86" を記述する。

以上。
787デフォルトの名無しさん:2005/12/12(月) 21:37:57
tcl8.4.12 tk8.4.12

過去の不具合
1: tcltk 環境を、'表','ソ’等 '0x5c'(バックスラッシュ)を含む
フォルダにインストールした場合の不具合。
2: 引数に一部の漢字コードを使った場合に文字化けなどする不具合。

8.4.11 に比べて相当に改善された。2の引数の文字化けは解決された。
ただし、1: の'0x5c'を含むフォルダの不具合は一部に問題有り。

現象 D:\表\bin\tclsh84.exe として tclsh84.exe を実行
% puts $argv0
D:\[文字化け]\bin\tclsh84.exe

原因 tclAppInit.c, winMain.c 内で argv[0] 内の '0x5c'(\) を
'0x2f'(/) に書き換えているため。

対策 tclAppInit.c, winMain.c 内の該当コードを除去。
788デフォルトの名無しさん:2005/12/13(火) 07:53:45
2は俺ががんばってバグ報告したからだな・・・。
1は色々考えた結果説得力のある修正パッチを
作れなかったので棚上げ中・・・。
789デフォルトの名無しさん:2005/12/13(火) 07:54:49
>>785
環境とかサンプルコードとかも書いてよ。
790デフォルトの名無しさん:2005/12/13(火) 12:43:40
>>788
> 2は俺ががんばってバグ報告したからだな・・・。 < thanks

1: で、$argv0 パス区切りは実際問題 '\' でも、まず問題ないんだけど、あえて '/' に変換するなら
今回(tcltk8.4.12)は、こんな感じですかね。うちでは、こういう修正を各バージョンに施してました。
今回は、788のおかげで修正がほとんど必要なくて助かりましたよ。

=== tclMain.c:tclMain() & tkMain.c:tkMain()===
if (TclGetStartupScriptPath() == NULL) {
Tcl_ExternalToUtfDString(NULL, argv[0], -1, &appName);
#ifdef _WIN32
TclWinNoBackslash (Tcl_DStringValue(&appName));
#endif
} else {
Tcl_ExternalToUtfDString(NULL,TclGetStartupScriptFileName(), -1, &appName);
#ifdef _WIN32
TclWinNoBackslash (Tcl_DStringValue(&appName));
#endif
TclSetStartupScriptFileName(Tcl_DStringValue(&appName));
}
================


791デフォルトの名無しさん:2005/12/13(火) 12:44:41
>>790

引数で'\'を使わないという前提がなりたつなら、これもいれてもいいかもしれん。
WindowsOnlyでなら、便利なこともある。以前は、この修正を施してたけど、
最近は、scriptレベルで、対応中
例 => set path [eval file join [file split $path]; # '\ -> '/' 変換'

=== tclMain.c:tclMain() & tkMain.c:tkMain()===
while (argc--) { Tcl_DString ds; Tcl_ExternalToUtfDString(NULL, *argv++, -1, &ds);
#if 0
TclWinNoBackslash (Tcl_DStringValue(&ds));
#endif
Tcl_ListObjAppendElement(NULL, argvPtr, Tcl_NewStringObj(Tcl_DStringValue(&ds), Tcl_DStringLength(&ds)));
Tcl_DStringFree(&ds);
}
================
792デフォルトの名無しさん:2005/12/15(木) 23:57:10
BLTのVC++コンパイルむずい・・・なにこれ・・・
793デフォルトの名無しさん:2005/12/16(金) 01:46:49
>>792 むずいっちゅうか、むちゃくちゃむずいよ、まじで
794デフォルトの名無しさん:2005/12/16(金) 11:22:28
CVSにあるBLT3.0のコンパイルに成功した人いる?
なんか存在しないファイルをインクルードしてたりするんですけど・・・(^^;)
795デフォルトの名無しさん:2005/12/17(土) 00:03:41
sed で hash.h.inをhash.h にする処理をスキップしてんじゃね?
blt.makにその記述があるとおもう
796デフォルトの名無しさん:2005/12/23(金) 23:32:55
TCL/TKのライセンスってBSDと同じようなもんでいいんですか?
libtclとlibtkをDynamic Linkする形で配布するのは問題ないと思うんだけど、
Static Linkしたらライセンス文つけないと駄目でしょうか。

ググってみた感じでは、ソースを配布する時のことを
書いているページはいろいろありましたが、
Static Linkしたバイナリを配布することを
説明しているところが見つかりませんでした。

社内限定で運用してたアプリを客に渡すことになったので、
今更ながらにライセンス調べ始めました。
797デフォルトの名無しさん:2005/12/25(日) 02:16:43
BSDとおなじようなもんだけど
BSDだって静的動的問わずライセンス文はつけないとだめだ。
感染はしないというだけだ。
798デフォルトの名無しさん:2005/12/25(日) 17:48:31
starkitでラッピングしたやつでlicense_terms.txtを付けてるの
みたことないけど。
799796:2005/12/25(日) 18:09:07
>>797
え、動的でもつけないと駄目なんでしょうか?
動的の場合、コード(から作られるバイナリ)が内部には
含まれないので配布には当らないと思ってました。

でもヘッダーをincludeしてるしなぁ。うぅむ。

静的の場合にはやっぱりつけないと駄目そうですね。
ありがとうございました。
どう配布するか検討してみます。
800デフォルトの名無しさん:2005/12/27(火) 03:00:44
ていうかさ、ライセンス文よめばいいじゃん。
801796:2005/12/28(水) 01:05:22
あ、すみません、読んだ上で質問しました。

ただBSDではソースとバイナリでどうなると明確に書いてるし、
GPLはGNU FAQでわりと細かく説明がある。
tclのライセンスで厳密に解釈するとどうなるんだろうと思ったんです。
自分の読解力ではその辺りの厳密さがよく分かりませんでしたので。

ライセンスをつけないといけない、
ということを周囲に対して説得するのが面倒だから
なんとかつけずにやる方法はないかを
模索しているっていう情けない理由もあるんですが・・・
802デフォルトの名無しさん:2005/12/28(水) 02:37:31
Aboutダイアログに書いとけばいいじゃん?
803デフォルトの名無しさん:2005/12/29(木) 10:27:17
普通のTcl/Tkで書かれたアプリをTcl/Tk Aquaに移植ってできます?
日本語入力とかは考えてないんですが、
いちいちX起動するのが面倒なのと、ヤッパリ見た目はaquaがいいので
804デフォルトの名無しさん:2005/12/29(木) 17:09:04
Tcl/Tk Aqua だって普通の Tcl/Tk だよ。
Aqua っつっても Carbon だけどね。
805デフォルトの名無しさん:2005/12/29(木) 17:13:27
Tcl素人なんですが、
どこら辺を書き換えればいいんでしょ?

全然情報がなくて…
806デフォルトの名無しさん:2005/12/29(木) 17:26:42
書き換えるって何で?
何を書き換えたいの??
807デフォルトの名無しさん:2005/12/29(木) 17:35:48
えと…
なんだか私がありえない勘違いをしているかもしれませんが。

Tiger標準のTcl/TkとXがインストールされた環境に
Tcl/Tk Aquaをインストールしたんですが、
Tcl/TkアプリをTcl/Tk Aquaで使うにはどうすればよいのか
わからなかったので書き込んでみたんですが、
通常は、Aquaの方が優先的に使用されるものなのでしょうか?
808デフォルトの名無しさん:2005/12/29(木) 17:45:17
あぁ、それなら shebang を変えれば良いと思うよ。
スクリプトの一行目の #!/path/to/wish みたいな行を、新しく
インストールした wish を指す様に設定してあげれば良い。
809デフォルトの名無しさん:2005/12/29(木) 17:50:09
ありがとうございます。
早速試してみます。
810デフォルトの名無しさん:2005/12/29(木) 18:24:21
んー
wishのパスは確かに
aquaのwishに通ってるのになぜかXがつかわれますorz
811デフォルトの名無しさん:2005/12/30(金) 04:07:03
puts [info nameofexe]してみそ
812デフォルトの名無しさん:2005/12/30(金) 04:08:25
あ、俺はTcl/Tk Aquaのこと全然しらんのだけどね・・・
813本田:2006/01/05(木) 21:42:09
>>803
> いちいちX起動するのが面倒なのと、ヤッパリ見た目はaquaがいいので

TkZincもクールだと思わない?
http://www.tkzinc.org/index.php?n=Main.Screenshots
http://www.tkzinc.org/
814デフォルトの名無しさん:2006/01/06(金) 22:42:25
あくあのL&Fならtile使うのがこれからのトレンドじゃないかな
815デフォルトの名無しさん:2006/01/11(水) 18:49:09
Windows 上で Expect を使うのを検討してるのですが、幾つかある実装の
どれを使うといいでしょう?

普通に(?)ftp command 等との対話処理をやらせようとすると、Win 上では
つまずきそうな気がするのですけど…。
816デフォルトの名無しさん:2006/01/11(水) 22:19:35
ActiveTclに含まれてるのは?
817デフォルトの名無しさん:2006/01/17(火) 17:36:05
上げてすいません
今早急に知りたい情報なのでお願いします
Tck/tkのicon以外に使用したいiconがないので
オリジナルのiconを作成したいのですが可能でしょうか?
また可能ならば、どのような方法で作成、変換を行うのでしょうか?
818デフォルトの名無しさん:2006/01/17(火) 21:31:20
文章の意味がわからん。
819デフォルトの名無しさん:2006/01/18(水) 16:38:57
>817
xbm(モノクロ),gif(カラー)を扱えるソフトで作成する。

<モノクロ>
image create bitmap abc -file abc.xbm
button .b0 -image abc -command bell
pack .b0
<カラー>
image create photo abc -file abc.gif
button .b0 -image abc -command bell
pack .b0
820817:2006/01/20(金) 13:07:03
>819さん
返事が遅くなったけど・・・
ありがとうございます、無事表示することができました。
821デフォルトの名無しさん:2006/01/20(金) 20:23:56
ええっ解決したの。819の読解力恐るべし。
822本田:2006/01/20(金) 21:21:19
>>821
> ええっ解決したの。819の読解力恐るべし。
ほんまにね。
823デフォルトの名無しさん:2006/01/21(土) 22:14:16
近所の専門書専用の本屋さんにtcl/tkの本がなかったYO!
この言語は非常にマイナーなの?便利で簡単そうなのに………
824デフォルトの名無しさん:2006/01/21(土) 22:43:13
amazonで買え
825本田:2006/01/21(土) 22:49:09
>>823

>Practical Programming in Tcl and Tk
>Brent B. Welch (著), Jeffrey Hobbs (著)
># 言語:英語
># ハードカバー: 1000 p ; サイズ(cm):
># 出版社: Prentice Hall ; ISBN: 0130385603 ; 4th Bk&Cdr 版 (2003/06/10)
># その他のエディション: ペーパーバック
http://www.amazon.co.jp/exec/obidos/ASIN/0130385603/qid=1137851228/sr=1-2/ref=sr_1_10_2/503-6442506-3493513
826デフォルトの名無しさん:2006/01/22(日) 18:12:40
最近のバージョンに対応した新しい本ってあるのかね。

大抵のことはいまいさんのサイトとうらのさんのサイトで間に合うからいいんだけども。
827デフォルトの名無しさん:2006/01/23(月) 02:01:56
最近といってもそんなに大きな変更無いし
(大きなのってマルチスレッド正式対応くらいか)
それこそいまさんやうらのさんの8.4/8.5レポートで十分だ
9.0の話はたまにTclWikiのぞけば済むし
#で、おれの知る限り和書洋書含め最近のバージョンの書籍はでてないとおもう
828デフォルトの名無しさん:2006/02/06(月) 11:00:42
Windows版8.4.12(ActiveTcl)、
menu .mf; .mf add command -label {閉じる(C)} -underline 4 -command onClose
menu .m; .m add cascade -label {ファイル(F)} -underline 5 -menu .mf
とかしてAlt+F→CとかしてもonCloseを実行してくれないんですが、
-label {C:閉じる} -underline 0 だとやってくれるみたいです。
なぜか最上段のメニュー(ファイル(F))はAlt+Fでできるんですけど。
linux版8.4.9だと無問題なのに。
829デフォルトの名無しさん:2006/02/12(日) 02:01:25
Gentoo + scim-anthyの環境です。
tcl/tkのテキストボックスに日本語が入力できなくて困っています。
Ctrl+Spaceを押すとscimは立ち上がって日本語入力モードに切り替わりますが
キーボードを打つと英語しか入力することができません。
キーボード中もずっとscimは日本語入力モードのままです。
何か良い解決策はないでしょうか?
830デフォルトの名無しさん:2006/02/12(日) 02:25:02
バージョンを書き忘れました。
tcl/tk:8.4.9
scim:1.4.2
anthy:6700b
scim-anthy:0.7.1

今わかったことですが、ctrl-spaceでscim起動後に
半角/全角などを押しても何も反応がありません。
ショートカットキーの設定を見直してみます。
831デフォルトの名無しさん:2006/02/12(日) 11:15:23
tclは日本語環境を選びます。
scimではできません。
832デフォルトの名無しさん:2006/02/21(火) 13:15:44
俺はTCL
833デフォルトの名無しさん:2006/02/21(火) 16:22:51
CTL
834デフォルトの名無しさん:2006/03/01(水) 19:46:24
tcl上で乱数を発生させることはできるでしょうか?
835デフォルトの名無しさん:2006/03/02(木) 01:14:25
>834
exprにrand関数がある。
836デフォルトの名無しさん:2006/03/02(木) 23:36:05
>>835
ありがとうございます!
837デフォルトの名無しさん:2006/03/32(土) 07:20:04
あぶないあぶない、4月になる前に保守しておかなくちゃ
838デフォルトの名無しさん:2006/04/13(木) 08:07:59
春くらいに8.5出るって言ってたのにまだでないの?
839本田:2006/04/14(金) 01:07:01
>>838
> 春くらいに8.5出るって言ってたのにまだでないの?

8.5a4ならある。
8.4.13RC1も。
840本田:2006/04/21(金) 09:40:46
>Tcl/Tk 8.4.13 Apr 19, 2006
> Download Tcl/Tk 8.4.13
http://www.tcl.tk/
841本田:2006/04/28(金) 17:20:00
>ActiveTcl 8.4.13.0 Apr, 2006
>ActiveTcl 8.5.0.0 Beta 5 Apr, 2006
http://www.tcl.tk/
842デフォルトの名無しさん:2006/04/28(金) 23:38:39
まだベータ取れないのかよおおおお!!!!
843デフォルトの名無しさん:2006/05/03(水) 21:58:42
canvasウィジェットに多角形を描く場合に
おいて、データが配列の場合はどうするんでしょうか?

% .c0 create polygon 10 60 60 10 110 60 85 150 35 150

想像では、こんな風に描く際は可変引数に
なっているので、いったん、文字列として
出力して、それをevalで評価するんじゃないかと
思っています。でも、それをどうプログラミング
していいのか、わかりません。
844デフォルトの名無しさん:2006/05/03(水) 22:09:38
843です。リストでもよかったです。そっちのほうが
簡単なような。
845デフォルトの名無しさん:2006/05/04(木) 10:11:57
package require Tk
pack [canvas .c]
set data [list 10 60 60 10 110 60 85 150 35 150]
.c create polygon $data -fill black

polygonはリストを可変引数として渡さなくても、
そのままリストで渡しても描画できるよ。
846デフォルトの名無しさん:2006/05/16(火) 22:12:20
Tkのキャンバスって描画オブジェクトにタグつけてごにょごにょできるところが
他のGUIキットに比べてかなりいけてると思うんだけどどうかな。
847デフォルトの名無しさん:2006/05/24(水) 20:27:45
秀和システム出版の詳解Tcl/Tkという本で勉強しています。
サンプルプログラムのmenu1.tclを、付属のCD上から実行するとちゃんと起動するのですが
一度HDDにコピーしたものを実行しても

error reading bitmap file "icon\cut.xbm"
(processing "-bitmap" option)
invoke from within
"$sub2 add command -bitmap @icon/cut.xbm -background orchid -foreground cyan \
-activebackground cyan -activeforeground orchid -command {bell}"
(file "C:\Tcl\menu1.tcl" line39)

というエラーが出てしまいます。
アイコンが読み込めないから実行できないらしいことはわかるのですが
何がいけないのでしょうか?
ソースは↓です。
ttp://bebe.run.buttobi.net/up/src/be_1968.txt
848847:2006/05/24(水) 20:31:54
すみませんage忘れました。
本を見ながら打ち込んでいって、どこも間違えていないのに実行できないので、
サンプル自体をコピーして試してもだめだったので質問しました。
お暇でしたら回答よろしくお願いします。
849デフォルトの名無しさん:2006/05/24(水) 21:01:45
menu1.tclと同じディレクトリにiconディレクトリが無く
その中にcut.xbmとかのビットマップ画像が無いのでは。
850デフォルトの名無しさん:2006/05/24(水) 21:43:31
画像ファイルのフォーマットを確認すべきですね。そのスクリプトで動作しましたよ。
bmp画像の拡張子をxbmに変えても駄目ですよ(これは私のケースですがw)
851デフォルトの名無しさん:2006/05/24(水) 21:47:31
>>831
8.4.12まではSCIMはダメだが、8.4.13で直った。
SCIMでもちゃんと入力できる。

ちなみにうちの環境はFedora Core 5。
tclとtkのパッケージだけFedora Core 6の開発用リポジトリから
取ってきてアップグレードしてそれで問題無し(今のところ)。
852デフォルトの名無しさん:2006/05/24(水) 21:56:25
尚、作者さんのHPは「有限会社ビットウォーク」でググれば出てきますよ。
掲示板も設置されていますよ。
853847:2006/05/24(水) 23:21:05
レス遅れてすみません、早速回答ありがとうございました。
環境を書いていませんでした、WindowsXPで、Tcl/Tkはver8.4.7を使っていました。

前に作ったxbmファイルを名前をcut等に変えて、同一フォルダに入れて試してみましたが、
やはり同じエラーになります。
8.4.7を削除して8.4.13にしてから試しても同じでした。
なぜかCDからそのままダブルクリックで起動するとちゃんとアイコンも表示されるのですが、
C:\Tclフォルダの中には*.xbmで検索しても見つかりませんでした。
もう一度探してみます。

>>852
ビットウォークで検索すればよかったんですね、ちゃんと行けました。
須栗歩人さんの名前で検索したのですが、そっちはリンク切れだったのでだめだと思ってました。
ありがとうございます。

長文失礼しました。
854847:2006/05/24(水) 23:33:16
849さんの言う通り、iconフォルダを作成して、その中にxbmファイルを放り込めば
ちゃんと起動することができました。
CDには元々iconフォルダがあったから起動できたようです。
つまらないことでお騒がせしてすみませんでした。
855デフォルトの名無しさん:2006/06/23(金) 22:03:18
Tcletって去年の11月にまさかのバージョンアップしてたんだな。
Javaアプレットも廃れた時代に誰が使うのか良く分からないが。。
856デフォルトの名無しさん:2006/06/24(土) 00:00:33
TcletよりTclProを・・・
857デフォルトの名無しさん:2006/06/29(木) 16:05:16
ビットウォークの掲示板、荒らされてるし。。
858デフォルトの名無しさん:2006/06/29(木) 20:34:04
ちゅうかロケットビーチ消滅でどこいったかわからん
859デフォルトの名無しさん:2006/06/30(金) 16:18:49
>>858
FC2にある。
860デフォルトの名無しさん:2006/07/01(土) 13:58:54
>>875
にがしがしく見てた。つか、業者死ね。
861デフォルトの名無しさん:2006/07/18(火) 18:25:58
…いろいろ裏事情があるらしい
862デフォルトの名無しさん:2006/07/25(火) 17:09:08
ビットウォークの掲示板にアクセスできない…。
ブログはなんか、別の路線を走ってるし…。
もう新しい本は出ないのかな。
863デフォルトの名無しさん:2006/08/12(土) 07:47:08
>>862
もう、本人にやる気がないようだからダメだね。
別のところではずいぶん、浮名を流してるようだけど。
864デフォルトの名無しさん:2006/08/12(土) 11:54:08
Tcl/Tk のバインディングを作る話もここでいいですか?
865デフォルトの名無しさん:2006/08/12(土) 13:31:02
ええよ
866デフォルトの名無しさん:2006/08/13(日) 01:20:36
自分の理解では、他の処理系から Tk を使うときには
1. Tcl/Tk と IPC で通信
2. Tcl インタプリタを埋め込んで、Tcl 経由で Tk
3. 直接 Tk バインディングを作る (Perl/Tk とか)
だと考えています。2. と 3. はそんなに性能かわらない
気がしてきたんですが、どうですかね?
867デフォルトの名無しさん:2006/08/13(日) 02:36:08
>>866
どうって言われても3は大変だよ。茨の道だよ。
868デフォルトの名無しさん:2006/08/14(月) 06:25:25
売ってるお店等をご存知でしたら教えてください。
古本で付属CDROMがなくてもかまいません。

詳解 Tcl/Tk GUIプログラミング (秀和システム)
Tcl/Tk入門 第2版 (ピアソン)

869デフォルトの名無しさん:2006/08/19(土) 09:20:53
>>868
Tcl/Tk入門 第2版は昨日はLibro某店にあった。
近所にLibroがあって、店頭在庫が無いなら、店舗間取り寄せできないか相談してみれば?
870デフォルトの名無しさん:2006/08/29(火) 12:25:22
シェルスクリプトにおける、
env LANG=C date +'%d %b %Y %H:%M:%S'
に相当することを、Tcl 8.4系で行うことは可能でしょうか。

8.5系では
clock format [clock seconds] -format "%d %b %Y %H:%M:%S" -locale en
と書けるようですが…。

日本語ロケール下で実行すると、"%b" が "8月" のように出力されるのですが、Tclスクリプトの特定部分でだけ、実行環境のロケール非依存的に "Aug" の出力が必要なのです。
871デフォルトの名無しさん:2006/08/31(木) 00:22:52
UNIX環境だとネイティブのstrftimeを呼んでいるので、環境変数を変えてやればいいんじゃないかな。

set env(LANG) C
clock format [clock seconds]

みたいな。特定の部分でだけロケールを変えて出力するオプションは無いから
自分でフォーマットする関数を書くなりして工夫してやるしかないよ。
872デフォルトの名無しさん:2006/09/04(月) 21:24:11
>>871
ありがとうございました。
LANGの切り替えで対応します。
873デフォルトの名無しさん:2006/09/06(水) 17:35:07
Teratermでいう「バイナリファイルの送信」と同じ事をUNIXのコマンドラインから実行できるのだろうか。
expectで。
874LK:2006/10/02(月) 21:57:57
外部コマンドの実行について教えてください。
FMつきのTVカードを使ってますがエラーがでます。
button .b2 -text radio -command "exec radio -qf 85.1"
この.b2ボタンを押すと85.1MHzになって音が出ましたがエラーメッセージがでます。
tuned 85.10 MHz
tuned 85.10 MHz
while executing
"exec radio -qf 85.1"
invoked from within
".b2 invoke"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list $w invoke]"
(procedure "tk::ButtonUp" line 22)
invoked from within
"tk::ButtonUp .b2"
(command bound to event)

このエラーはどうやって回避できるでしょうか?
875本田:2006/10/02(月) 22:52:49
>>874
radioをフルパスで指定すればいいかも?!
876デフォルトの名無しさん:2006/10/02(月) 22:55:24
単にradioコマンド内でエラーでてんじゃね。
877デフォルトの名無しさん:2006/10/02(月) 23:42:30
>>874
catch {exec radio -qf 85.1}
878LK:2006/10/03(火) 10:58:04
>>875さん
フルパスでも同じエラーです。
>>877さん
button .b2 -text radio -command catch {exec radio -qf 85.1}
に変更して実行したらTcl/Tkのエラーがでました。
Error in startup script: unknown option "exec radio -qf 85.1"
while executing
"button .b2 -text radio -command catch {exec radio -qf 85.1}"
(file "./radio1" line 6)

879LK:2006/10/03(火) 14:01:01
解決しました。
button .b2 -text radio -command "exec radio -qf 85.1 >& text "
radioコマンドで出るメッセージ tuned 82.40 MHzが悪さをしてたようです。
2> textでもいいみたいです。
880デフォルトの名無しさん:2006/10/03(火) 14:41:29
>>878
>button .b2 -text radio -command catch {exec radio -qf 85.1}

ちょwマテwwwwwwwwwこうするんだよwww
button .b2 -text radio -command {catch {exec radio -qf 85.1}}
881LK:2006/10/03(火) 16:19:50
どうもです。
なるほど、catch使う方がよさそうですねえ。
有難うございました。
Tcl/Tkって簡単に作れるんで便利ですね。これからもっと使って勉強します。
882デフォルトの名無しさん:2006/10/14(土) 08:01:18
TCL/TKで書かれたPeer To Peerアプリってなにかありますか?
883デフォルトの名無しさん:2006/10/16(月) 12:23:32
X Window System上である文字列をマウスでポイントしたらその文字列に関する
ヘルプ(解説文)をポップアップウインドウとして表示するには、どうしたらいいんでしょうか?
884デフォルトの名無しさん:2006/10/16(月) 21:08:13
Tklibにtooltipがあるみたいだけど

package require tooltip
pack [label .l -text "label"]
tooltip::tooltip .l "This is a label widget"

885デフォルトの名無しさん:2006/10/17(火) 06:21:52
turtleプログラム(亀を動かす例の一連の環境)を作りたいのですが
rubyで、なんかアドバイスというか、いい本教えてください

ちなみにTKって小室のことって言うくらいの初心者です
886デフォルトの名無しさん:2006/10/17(火) 06:22:26
あげ
887デフォルトの名無しさん:2006/10/17(火) 07:37:59
Rubyスレできけよ
888デフォルトの名無しさん:2006/10/27(金) 12:46:30
チクリ/TK
889デフォルトの名無しさん:2006/10/31(火) 23:29:27
Canvasウィジェット上で書いたグラフィックをgifで保存することはできますでしょうか?
BLTなどの外部パッケージを利用してもクリップボード経由で、これだと窓が重なっている
部分は切れてしまいます。
たとえばそのピクセルの色情報を取得して各グラフィック形式に保存とかできますか?
(何か、可能だとしてもすごく遅いような気がしますが)

psやepsから変換するしかやはりしようがありませんかね。
890デフォルトの名無しさん:2006/11/01(水) 12:29:42
>>889
窓が重なってるところが切れるというのがよくわからんけど
Imgじゃダメなの?
891889:2006/11/01(水) 15:10:46
#!/bin/sh
# the next line restarts using wish \
exec wish "$0" "$@"

package require BLT
wm title . "main"
toplevel .view
wm title .view "view"
set imgf "imagefile"
image create photo $imgf -width 200 -height 200

proc ::snapWindow {w} {
global imgf
blt::winop snap $w $imgf
return
}

proc saveSnapimage {w} {
global imgf
snapWindow $w
$imgf write $imgf.gif -format gif
return
}

pack [canvas .view.can -width 200 -height 200] -expand yes -fill both
pack [button .but1 -text "Save" -width 10 -command {saveSnapimage .view.can}] -side left
pack [button .but2 -text "Quit" -width 10 -command {exit}] -side left
.view.can configure -background "#808000"
.view.can create line 10 10 190 190 -fill "#FF0080" -width 2
892889:2006/11/01(水) 15:14:45
改行制限にかからないように詰めてますが、上のスクリプトはcanvasを同じフォルダにgif画像で
保存するものです。

上のようなスクリプトだと親のmainウィンドウを子のviewウインドウ
の上で保存するとmainウィンドウもキャプチャーされてしまいます。
こういうことを起こさないでCanvasの画像をps以外で保存できないかと
思ったのです。

BLTだとキャプチャーなのでいたし方ないのですが。
ところでimgパッケージにそんな機能ありましたっけ?調べてみますが。
ありがとう。
893デフォルトの名無しさん:2006/11/01(水) 21:39:53
やってみたけどImgでも無理っぺえ。
894デフォルトの名無しさん:2006/11/02(木) 11:34:43
895デフォルトの名無しさん:2006/11/04(土) 04:48:20
TCP/IPと紛らわしい。
896デフォルトの名無しさん:2006/11/04(土) 16:04:16
canvasのレンダリングアルゴリズムを引っこ抜いてきて
拡張を仕立て上げればなんとかなるかも・・・。
897本田:2006/11/13(月) 00:13:18
>Tcl/Tk 8.4.14 Oct 19, 2006
http://www.tcl.tk/
898デフォルトの名無しさん:2006/11/13(月) 23:49:47
ActiveTclの8.4.14が出るのが遅い。
899デフォルトの名無しさん:2006/11/15(水) 20:10:01
8.5の{expand}は長いなあと思ってたら{*}になったんだな。
900デフォルトの名無しさん:2006/11/29(水) 22:45:43
ActiveTcl 8.4.14.0 and 8.5.0.0b6 now available
901デフォルトの名無しさん:2006/11/30(木) 00:06:03
ActiveTcl8.4.14入れてみたけど、tileのフォントがなんか変じゃね?
902デフォルトの名無しさん:2006/12/21(木) 21:55:45
ActiveTclってなんちゃってmotif使いになれるやつだよね?
903デフォルトの名無しさん:2006/12/21(木) 22:05:07
>>902
tileっつってんだろうが。
904デフォルトの名無しさん:2006/12/23(土) 23:12:12
>>901
別に変じゃないけど。
905デフォルトの名無しさん:2006/12/24(日) 00:07:50
何かみんなキレぎみでヤンス〜
906デフォルトの名無しさん:2006/12/26(火) 19:59:38
>>902
見た目が同じになれば何でもいいんじゃね!
907デフォルトの名無しさん:2006/12/27(水) 08:23:12
Menuで"File"とした場合、自動的に
Fの下にアンダーラインがつき、"F"キーが割り当てられるのですが、
この表示と割当てを別のキーにすることは可能でしょうか?
908デフォルトの名無しさん:2006/12/27(水) 18:10:32
menu .menu
menu .menu.file
. configure -menu .menu
.menu add cascade -label File -underline 1 -menu .menu.file
つってんだろうが
909デフォルトの名無しさん:2006/12/27(水) 23:19:08
このスレはうざいやつが多いな、
まあTCLなんかを一所懸命やってる時点で・・・
910デフォルトの名無しさん:2006/12/28(木) 04:21:32
>>909
あなたも中々うざいですね。
911デフォルトの名無しさん:2007/01/11(木) 07:59:35
ちょっと遅めの、
あけおめ。
912デフォルトの名無しさん:2007/01/11(木) 08:59:34
あけおめ
913デフォルトの名無しさん:2007/01/11(木) 19:57:50
あけおめ、つってんだろうが
914デフォルトの名無しさん:2007/01/11(木) 20:09:14
>>913
もう飽きた
915デフォルトの名無しさん:2007/01/11(木) 23:10:27
>>914
tcl/tkの話しろよ
916デフォルトの名無しさん:2007/01/12(金) 05:36:31
すっすいません・・・えっと・・・それじゃあ8.5トリビアを一つ・・・
Tcl8.5ではmsgカタログに日本語が追加されていて、clock formatで
和風な時刻表示をすることができるって知ってた?

% clock format [clock seconds] -format %Ec -locale ja
金曜日 平成二十年1月十二日五時卅二分三十秒 +0900

みたいな。
917デフォルトの名無しさん:2007/01/12(金) 08:20:12
>>916
>>870の人?
918デフォルトの名無しさん:2007/01/12(金) 09:30:03
>>870です。
>>916ではありません。

その並びじゃあEcとは言えないな。日本語では先に曜日は言わないでしょ。
GNUのdateコマンドだと、こんな感じ。
$ date +%Ec
平成19年01月12日 09時23分51秒
919デフォルトの名無しさん:2007/01/12(金) 13:58:28
平成20年w
920デフォルトの名無しさん:2007/01/12(金) 14:12:15
Solaris9

$LC_ALL=ja date +%Ec
平成19年01月12日 (金) 14時11分44秒
921デフォルトの名無しさん:2007/01/12(金) 14:27:38
>>916
バグだろコレ・・・なんとかしろよ・・・
922デフォルトの名無しさん:2007/01/13(土) 03:21:30
% clock format [clock sec] -locale ja -format %Ec
平成19年01月13日 (土) 03時12分48秒 +0900

% clock format [clock sec] -locale ja -format %Ex
平成19年01月13日

% clock format [clock sec] -locale ja -format %EX
03時14分27秒

改元日は
明治 1968-01-25
大正 1912-07-30
昭和 1926-12-25
平成 1989-01-08

こういう風に直したけど、誰も異論がなけば修正したの送っちゃうよ?
923デフォルトの名無しさん:2007/01/14(日) 12:16:02
>>922
明治の改元日はTYPO ?
924デフォルトの名無しさん:2007/01/14(日) 14:32:56
Wikipediaに明治は1868年1月25日から1912年7月30日までって書いてある。
925デフォルトの名無しさん:2007/01/14(日) 14:37:11
ああああ。そうか。間違いです。1968じゃなくて1868。
ja.msgもここに置いておきます。
http://chun.s11.xrea.com/up/img/087.zip
926デフォルトの名無しさん:2007/01/14(日) 16:00:45
ワロス
927デフォルトの名無しさん:2007/01/15(月) 15:42:42
明治元年だと日本はまだグレゴリオ暦じゃないので
日付のずれがあるはずなんだけど、
WikiPediaの記述ってその辺大丈夫?
928デフォルトの名無しさん:2007/01/15(月) 17:18:16
グレゴリオ暦   旧暦         新暦
1868-01-25   明治1年01月01日             暦上の改元日
1868-10-23   明治1年09月08日             歴史上明治に改元した日
1872-12-31   明治5年12月02日             旧暦を廃止した日
1873-01-01                明治6年1月01日 グレゴリオ暦を採用

ややこしいな・・・。1868-01-25は明治1年1月25日にはならないということか。
じゃあ明治は1873-01-01の明治6年1月1日スタートでいいのか。
929デフォルトの名無しさん:2007/01/15(月) 17:28:37
ぬおおおお!!修正したファイルっ!!
http://chun.s11.xrea.com/up/img/088.zip
930本田:2007/01/27(土) 22:16:11
>AEjaks combines the server-side Ajax windowing system Echo2 with the powerful simplicity of the Tcl langauge.
> The result is a rich development environment in which to develop Ajax-based web applications,
> often with much less code to write.
http://aejaks.sourceforge.net/Aejaks_Home/index.html
931デフォルトの名無しさん:2007/02/05(月) 20:50:19
変なことを聞きますが、tclのスクリプトを暗号化できないでしょうか?
スクリプトの中で何を行っているのか隠蔽したいと思っています。
可能でしょうか?
932デフォルトの名無しさん:2007/02/05(月) 22:06:04
Starkit化しとけばいいんじゃね
933デフォルトの名無しさん:2007/02/06(火) 00:01:57
>>931
tclcompilerでバイトコード化してtbcloadで読み込む。
934デフォルトの名無しさん:2007/02/07(水) 06:10:04
ActiveTcl がダウンロード出来ないのですが、もしかしてサーバが落ちてますか?
935デフォルトの名無しさん:2007/02/07(水) 11:29:58
TCL/TKプログラマーのための総合開発ソフトってありますか?
936本田:2007/02/08(木) 20:26:40
>TCL/TKプログラマーのための総合開発ソフトってありますか?

Komodo IDE
http://www.tcl.tk/
937デフォルトの名無しさん:2007/02/09(金) 01:36:37
938本田:2007/02/11(日) 13:21:08
>>935

>EclispeDLTK is an Eclipse plugin for dynamic languages.
> Currently Tcl and Python are supported.
http://wiki.tcl.tk/17262
939本田:2007/02/11(日) 13:57:57
>ようこそ、須栗歩人の有限会社ビットウォークへ
http://tcltk.web.fc2.com/index.html

>ビットウォークの日記帳
http://blog33.fc2.com/bitwalk/
940デフォルトの名無しさん:2007/02/14(水) 05:17:00
実行中のスクリプトパスを取得できるようなものってありますか?
perlで言う__FILE__みたいな
941デフォルトの名無しさん:2007/02/14(水) 06:58:10
$argv0
942デフォルトの名無しさん:2007/02/14(水) 20:53:27
シェルモジュールパス(c:/tcl/bin/tclsh84.exe)が返ってきてしまうのですが。
例えばc:/tcl/src/test.tclとかを期待しています。
943デフォルトの名無しさん:2007/02/14(水) 21:20:10
それってインタラクティブシェルの場合っしょ?

C:\>type tryme.tcl
puts $argv0
C:\>tclsh tryme.tcl
tryme.tcl
944デフォルトの名無しさん:2007/02/14(水) 22:33:52
なるほどそういうことですか!
ということはこういうのは無理なんですね

c:\> dir
libdir main.tcl

c:\> dir libdir
lib.tcl lib.tcl-dat

c:\> type main.tcl
source libdir/lib.tcl

c:\> type libdir/lib.tcl
open "${argv0}-dat"

c:\> tclsh main.tcl
fileid1
945デフォルトの名無しさん:2007/02/14(水) 23:46:39
なにがやりたいのかよくわからん
946デフォルトの名無しさん:2007/02/15(木) 00:03:29
あ、わからない人は答えなくていいです。
947デフォルトの名無しさん:2007/02/15(木) 00:10:00
open "${argv0}-dat" でなんでfield1が出てくるのさ。わかるやつはエスパー
948デフォルトの名無しさん:2007/02/15(木) 12:31:35
あ、わからない人は答えなくていいです。
949デフォルトの名無しさん:2007/02/15(木) 19:50:27
要はライブラリをsourceすれば自動的にライブラリインストール
フォルダを判定してインストールフォルダのデータを読みたいのです。

"${argv0}-dat"−>lib.tcl-dat となって無事ファイルを開きたいのですが、
実際は、"${argv0}-dat"−>main.tcl-datとなりファイルハンドルを得ることは出来ません。
950デフォルトの名無しさん:2007/02/15(木) 20:02:58
>"${argv0}-dat"−>lib.tcl-dat となって無事ファイルを開きたいのですが、
libdir/lib.tcl-dat の誤りです。
951デフォルトの名無しさん:2007/02/15(木) 20:48:44
エスパーの俺には[info script]が見える。
952デフォルトの名無しさん:2007/02/15(木) 21:15:10
見える、私にも見えるぞ!
953デフォルトの名無しさん:2007/02/15(木) 22:17:29
>>951
解決しました。有難うございます。
954デフォルトの名無しさん:2007/02/23(金) 00:01:25
perl/tkとtcl/tk、どういうときに使い分けるの?
955デフォルトの名無しさん:2007/02/23(金) 07:49:06
Perlを使うときとTclを使うときじゃね
956デフォルトの名無しさん:2007/02/23(金) 16:10:35
perl/tkってTk7.x相当なんだろ・・・。
perlにはtclを通してtkにアクセスできるTkxがあるんだからそれ使えよ・・・
957デフォルトの名無しさん:2007/02/25(日) 01:26:44
Perl/Tk って今は 8.x だろ……
958デフォルトの名無しさん:2007/02/25(日) 07:44:33
8.0?本家のコードを取り込んでるん?枝分かれしてから
独自発展してるのだと思ってた。
959デフォルトの名無しさん:2007/03/09(金) 21:33:11
clipboard append xxx
で、追加するバッファを選択することは出来ませんか?
UNIX上で、CLIPBOARDとPRIMARYを使い分けたいんですけども。
960デフォルトの名無しさん:2007/03/09(金) 23:51:45
あまり使ったことないから知らないけど、selectionコマンドで
なんかできそうだぞ。
961デフォルトの名無しさん:2007/03/10(土) 00:25:47
http://www.atmarkit.co.jp/news/200703/07/eclipse.html
EclipseDLTKはEclipseをPythonやRuby、Tclなどのほかの動的言語にも拡張すると発表した。
962デフォルトの名無しさん:2007/03/10(土) 00:38:07
>>961
動画が全然落ちてこねえ
963デフォルトの名無しさん:2007/03/10(土) 13:39:21
>>960
返答ありがとうございます。
確かに
selection get -selection xxx
でバッファを CLIPBOARDとPRIMARY で選択できますが
selectionは文字列を選択した場合ですよね。

やりたいことは、内部で持ってる変数をクリップボードに入れたいんです。
こんな変なこと普通やらないからサポートしてないのかなぁ
964デフォルトの名無しさん:2007/03/11(日) 04:49:49
いまだにTCL使っている人いるんだ。Ruby/TKとかPythonに
移行しないの?なんかTCLって文法気持ち悪いんすけど
965デフォルトの名無しさん:2007/03/11(日) 08:26:54
華麗にスルー
966デフォルトの名無しさん:2007/03/12(月) 14:05:24
Tk周りの記述は凄い楽に書けるんだがなぁ

Ruby/Tk も Python の tkinter も使ったが Tcl/Tk 程には楽じゃない
967デフォルトの名無しさん:2007/03/12(月) 20:04:33
plase slaves パス
pack slaves パス
grid slaves パス
を一編にやってくれるコマンドってありますか?
例えば
geometry slaves パス
ってすると上三行と同義になるようなやつです
968デフォルトの名無しさん:2007/03/12(月) 22:38:18
proc geometry_slaves パス {
plase slaves $パス
pack slaves $パス
grid slaves $パス
}
969967:2007/03/13(火) 00:00:28
>>968
関数ってコンソールからも呼べるんですね…ありがとうございました
970デフォルトの名無しさん:2007/03/14(水) 00:31:19
windowsプラットフォームにおいて、標準コマンドで有効なドライブレターを取得することって
できますか?
自分でWin32APIを操作する拡張コマンド作るしかないんですかねぇ...
971デフォルトの名無しさん:2007/03/21(水) 10:36:20
>>970
[file volumes]ではダメなの?


そんなことより8.5の目玉のはずのoo拡張がなくなりそうな件について。。。
972デフォルトの名無しさん:2007/03/21(水) 11:15:24
Tclに公式のOOなんていらんよ
973デフォルトの名無しさん:2007/03/21(水) 16:43:25
8.5のooは「OOもできないうんこ言語」と批判してくる連中の口をふさぐためのもの。
xotcl、itcl、snitがあればooはいらない。
974デフォルトの名無しさん:2007/04/02(月) 15:02:38
最近使いだしたんだけど
すごく楽しいなあこれ
975デフォルトの名無しさん:2007/04/05(木) 03:11:23
俺はWin用にシェルとして使ってる
976デフォルトの名無しさん:2007/04/06(金) 01:18:57
Tcl最近初めて触ったんだが
コレってPerlやRubyみたいに
Winのバッチファイルに埋め込める?
出来ないなら素直にbatとtcl分離するけどさ
977デフォルトの名無しさん:2007/04/06(金) 02:08:11
echo puts $tcl_version |tclsh

こういうこと?
978デフォルトの名無しさん:2007/04/06(金) 07:58:16
http://wiki.tcl.tk/2455
それともこういうことか
979976:2007/04/06(金) 23:56:22
>978
まさにコレです!感謝感激!
980デフォルトの名無しさん:2007/04/20(金) 21:51:38
ASPANの配布規定に抵触しない正真正銘のfreeのtbcloader どこかにありますか
981デフォルトの名無しさん:2007/04/21(土) 20:45:14
VisualC++6.0 +ActiveTcl8.4.14.0

ソースに #Include "tcl.h" を入れてビルドしたところ、以下のエラーが出ました。

c:\tcl\include\tkintxlibdecls.h(356) : error C2955: 'list' : クラスのテンプレート名で仮引数リストの指定がありません。
c:\program files\microsoft visual studio\vc98\include\list(415) : 'list' の宣言を確認してください。

回避方法ありませんか??
982デフォルトの名無しさん:2007/04/21(土) 22:03:37
#Include "tcl.h"←これじゃあプリプロセッサとおらんだろ。それに
なんでtclの事しか書いてないのにtkのソースでエラー出してんだ?
書いてないけどtk.hもインクルードしてんだろ?
あと、書いてないけどエラー内容もこれだけじゃないだろ。

とりあえず簡単なテストプログラムからやれよ。な。
983デフォルトの名無しさん:2007/04/22(日) 02:38:06
#Include は #include として、脳内変換しといて下さい。言葉足らずだったようで・・・
とりあえずその後の報告

ActiveTclのヘッダファイル TkIntXlibDecls.h にて

/* 103 */

EXTERN Status XStringListToTextProperty _ANSI_ARGS_((char** list,
int count, XTextProperty* text_prop_return));

引数に使用している変数名"list"がC++のlistとぶつかっていました。
984デフォルトの名無しさん
>>983
おいおい VC6でやろうとしてるってことはWindows用だろ?
> TkIntXlibDecls.h 
なんでこんなのを取り込む必要があるんだ?
なんか手順に見落としてることはないかい?