●●●●TCL/TKなら俺に聞け 2●●●●
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/05/01(火) 14:52:44プロジェクト本拠地
http://tcl.sourceforge.net/
最新版ソースコード
ftp://ftp.tcl.tk/pub/tcl/nightly-cvs/
The Tcler's Wiki
http://wiki.tcl.tk/
The comp.lang.tcl Newsgroup
http://groups.google.com/group/comp.lang.tcl/
ActiveTcl
http://www.activestate.com/products/activetcl/
【日本語サイト】
もっとTcl/Tk
http://www.interq.or.jp/japan/s-imai/tcltk/
Tcl/Tk Scripting Laboratory
http://www.geocities.jp/urano343/tcltk.html
Tcl/Tk Primer
http://mibai.tec.u-ryukyu.ac.jp/~oshiro/Doc/tcltk_primer/
Tcl 8.4.1 Manual Command Reference
http://www.freesoftnet.co.jp/tclkits/doc/TclCmdRef/tcl_contents_jp.htm
CategoryTclTk - mynote
http://reddog.s35.xrea.com/wiki/CategoryTclTk.html
【前スレ】
●●●●TCL/TKなら俺に聞け●●●●
http://pc11.2ch.net/test/read.cgi/tech/1033628416/
0139デフォルトの名無しさん
2008/01/24(木) 22:31:280140本田
2008/01/24(木) 23:28:35まずサポートセンターに電話する。
0141デフォルトの名無しさん
2008/01/24(木) 23:44:550142132
2008/01/25(金) 10:30:05今 wxPython + PyOpenGL でゲームを作ってるけど
wxWidgets はDLLのサイズがでかくてどうにかならんものかと。
あと Python には標準で Tkinter がついてるから、Tk でできるならその方が何かと楽。
0143本田
2008/01/25(金) 21:55:41>Available for Windows, Linux, and Solaris - use one application on all relevant platforms in your organization.
>Download your free copy!Download your free copy of epcEdit for Windows, Linux or Solaris!
http://www.epcedit.com/
>News: epcEdit is now free for personal and commercial use!
>epcEdit will become available under an open source license in the future,
> after we have removed copyrighted third-party components.
> In the meantime the current version of epcEdit can be used free of charge.
> An unlimited activation key can be downoaded here.
0144デフォルトの名無しさん
2008/01/26(土) 15:08:49Tcl/Tkを使って連続的にデータを処理表示しているのですが、
数時間たつと、
X Error of failed request: BadAlloc
(insufficient resources for operation)
Major opcode of failed request: 53
というエラーを吐いて止まってしまいます。
どこが悪いか調べたいので、
Tcl/Tkのプログラムで、残り資源を表示するような機能はありませんか。
解決策をご存知でしたら教えてください。
0145デフォルトの名無しさん
2008/01/26(土) 17:38:21何の処理をしてるのかしらんが、Tkのありがちな
罠として画像の解放しわすれのようなオチの予感がする。
0146本田
2008/01/27(日) 12:32:24>TkSGML
http://www.epcedit.com/TksgmlManual/
>SGML widget reference manual
0147デフォルトの名無しさん
2008/01/27(日) 13:38:410148デフォルトの名無しさん
2008/01/27(日) 16:00:48144です。ありがとうございます。
自分でもDeleteコマンドで削除して、気をつけてはいるんですが、
どこかうまくいってないようです。
0149デフォルトの名無しさん
2008/01/27(日) 16:05:09ローカル変数の割り当てはそうしてるだろ
0150本田
2008/01/27(日) 18:19:52> X Error of failed request: BadAlloc
> (insufficient resources for operation)
> Major opcode of failed request: 53
これはおさらく、
X Serverのエラーで、
TclやTkのエラーではない。
>LECTURE 14 エラーイベント
http://homepage3.nifty.com/rio_i/lab/xlib/014xerr.htm
>BadAlloc 要求リソースの割り当てに失敗
0151デフォルトの名無しさん
2008/01/27(日) 19:52:34ローカル変数は全然ヒープ的じゃないよー。スコープ=寿命でスタック的なもの。
0152デフォルトの名無しさん
2008/01/29(火) 14:41:57ひとつお伺いしたいことがあります。
IPフィルタリング機能をTCLで行ないたいと思っております。動作としては、下記のIPアドレスがサイトへアクセスしてきた場合
ページを閲覧できる様にし、それ以外のIPアドレスが来た場合は閲覧出来ない様にするといった感じのものです。OSはSolarisを使用して行います。
特定のIP
1.1.1.1
1.1.1.2
以上の事から、TCLで上記の様な制御を行なうにはどういったソースを書けば宜しいのでしょうか。例題的な感じで結構ですので御回答宜しくお願いします。また、これらの内容をみて不明点などが御座いましたら
ご質問頂けたらと思います。
ちなみに、下記方法で実施してみましたがダメでした。
【リモートホスト情報の取得】
CGI プログラミングをする上でクライアントのリモートホストの情報を利用したい場合がある。 例えば特定のホストからのアクセスを規制したい場合などである。
サーバに Apache を使用していれば IP アドレスの値が環境変数 REMOTE_ADDR から取得できる。 Tcl では $env(REMOTE_ADDR) のようにして環境変数を取り出す。
さらに Apache の設定次第では環境変数 REMOTE_HOST にホスト名が与えられているかもしれない。 そうでない場合は IP アドレスからホスト名を取り出す必要がある。
このためには TclX に含まれている host_info コマンドを使えばよい。 このコマンドは Perl での gethostbyaddr 関数や gethostbyname 関数に相当する機能を提供する。
ホスト名を取り出す場合はサブコマンド official_name を以下の書式で使用する。 引数 host には $env(REMOTE_ADDR) で得た値などを与える。
0153デフォルトの名無しさん
2008/01/29(火) 19:02:57そんなことより、Apacheの設定見れ。
0154デフォルトの名無しさん
2008/01/29(火) 21:19:27exit
}
こんなのでいいのか?こんな簡単なことでいいのか?
簡単すぎて不安になるぜ!
0155デフォルトの名無しさん
2008/01/29(火) 21:21:40なんにせよ152が書いたコードを張るところからだね。
0156デフォルトの名無しさん
2008/01/29(火) 21:25:37in演算子ってTcl8.5からだからまだ152の環境に入っていない可能性が高いね。
0157デフォルトの名無しさん
2008/01/29(火) 22:03:180158本田
2008/01/30(水) 19:46:55TclHttpdは、アプリケーションに組込むのが主流だろうな。
つまりアプリケーションサーバー。
>>143
>epcEdit XML/SGML editor
に組込まれていてヘルプを見るのに使われている。
0159本田
2008/01/30(水) 20:59:27>サーバに Apache を使用していれば IP アドレスの値が環境変数 REMOTE_ADDR から取得できる。
同時に複数の人がApacheに接続すれば、
環境変数 REMOTE_ADDRには、
誰のIP アドレスが入るのかな?
最初の人か?
最後の人か?
0160デフォルトの名無しさん
2008/01/30(水) 21:48:360161本田
2008/01/30(水) 22:47:10そうですね。
0162デフォルトの名無しさん
2008/01/31(木) 11:32:400163デフォルトの名無しさん
2008/02/03(日) 19:01:060164デフォルトの名無しさん
2008/02/03(日) 19:18:050165デフォルトの名無しさん
2008/02/03(日) 20:38:400166デフォルトの名無しさん
2008/02/03(日) 20:45:240167デフォルトの名無しさん
2008/02/03(日) 22:23:350168デフォルトの名無しさん
2008/02/05(火) 18:14:27Ruby流でもTcl流でもない、妙な違和感があるんだよなぁ。
0169デフォルトの名無しさん
2008/02/06(水) 11:36:52C, C++プログラムにtclを組込む方法はどうやれば良いですかね?
0170169
2008/02/06(水) 14:25:55特定の名前の変数にパラメータを入れて、Tcl_GetVar等でパラメータの入った変数を読み出せばできますね。
自己レスすまそ
0171本田
2008/02/07(木) 00:52:46>AOLserver
http://sourceforge.net/projects/aolserver
>AOLserver is a multithreaded,
> Tcl-enabled,
> massively-scalable and extensible web server tuned for large scale, dynamic web sites.
> AOLserver also includes complete database integration and a dynamic page scripting language.
0172デフォルトの名無しさん
2008/02/08(金) 00:00:42md5を計算するのにevalを多用した箇所がすごいことになってしまった。困った。
0173デフォルトの名無しさん
2008/02/08(金) 00:31:280174デフォルトの名無しさん
2008/02/08(金) 00:54:46Cで書いた枯れた拡張をつかうものなのでわ・・・。
0175本田
2008/02/08(金) 19:00:15http://www.ruptbot.com/index.php
http://www.ruptbot.com/scripts.php
http://www.ruptbot.com/ruptbot.php
0176デフォルトの名無しさん
2008/02/08(金) 22:56:128.4版->8.5版に乗換えて快適な環境になりましたか。小生の場合は疑問符です
小生の場合、既存のプログラムの内の1つが異常なくらい遅くなりました。
調べると1つのprocが極端に遅くなっていた。このprocはRFC1321の手順通りにmd5を計算しているだけで、何の変哲もないprocですが、evalを多用しています。
今の所evalの処理が遅くなったのかと疑っています。無論真相は不明です。
0177デフォルトの名無しさん
2008/02/08(金) 23:19:070178デフォルトの名無しさん
2008/02/09(土) 02:17:51md5をPureTclで計算するのになぜevalを多用するのかよくわからないな
evalでプレコンパイルして次回からはより速くなるようにする処理のところが
8.5では相対的にオーバーヘッドが大きくなったのかもしれないな
0179デフォルトの名無しさん
2008/02/09(土) 21:05:440180デフォルトの名無しさん
2008/02/09(土) 22:46:28http://reddog.s35.xrea.com/wiki/index.php?Benchmark%20Tcl8.5.0%20vs%20Tcl8.4.16
ここを見た感じではevalが遅くなってるってことは
なさげに見えるけどなあ・・・。なんだろう。
0181デフォルトの名無しさん
2008/02/09(土) 23:51:09md5を計算する手製proc
リストはここに置いておきます。
http://home.netyou.jp/22/tanida/md5.htm
tcl ver8.4迄は正常に動作しver8.5でとち狂った。
ver8.2で動作させるとrfc1321の例題と同じ結果が得られることは確認すみ。
0182デフォルトの名無しさん
2008/02/10(日) 05:19:39二重に展開してexprとevalのコンボで最適化が効かなくなって
しまったと推測。
直したのは基本的にそこを素直にprocにしただけ。
8.4では4倍、8.5では12倍高速化した。あと、applyを使った
ものも書いてみたけど、procの方が速かった。
http://chun.s11.xrea.com/up/img/112.zip
ていうか、ひょっとして一つのprocで完結させたかったのかな。
それならapplyだ!
0183デフォルトの名無しさん
2008/02/10(日) 08:03:16makeでつまづいてしまうんだが。
$tar xzf tktreectrl-2.2.3.tar.gz
$cd tktreectrl-2.2.3
$./configure --prefix=/opt/ActiveTcl-8.5 --enable-threads
$make
うだうだ
generic/tkTreeColumn.c:13 から include されたファイル中:
generic/tkTreeCtrl.h:13:20: tkPort.h: そのようなファイルやディレクトリはありません
generic/tkTreeCtrl.h:14:21: default.h: そのようなファイルやディレクトリはありません
generic/tkTreeCtrl.h:15:20: tclInt.h: そのようなファイルやディレクトリはありません
generic/tkTreeCtrl.h:16:19: tkInt.h: そのようなファイルやディレクトリはありません
うだうだ
tkPort.hってなんぞ?
/opt/ActiveTcl-8.5/include にそんなヘッダ入ってないんだけど・・・
0184本田
2008/02/10(日) 09:05:22http://sourceforge.net/projects/tcl/
からtcl8.5とtk8.5のソースコードをgetしろ。
0185デフォルトの名無しさん
2008/02/10(日) 09:16:09ActiveTclを使わずにtckもtkも自分でソースからビルドしたらtktreectrlも上手く入ってくれた
ありがと
0186デフォルトの名無しさん
2008/02/10(日) 14:19:14式のコンパイル結果をキャッシュしてくれるようになるので本当にこれだけでだいぶ高速化する。
181のコードだとさらにexprコマンドを変数にいれてevalとかしちゃってるんでそこもどうにかしなきゃだけど
0187デフォルトの名無しさん
2008/02/10(日) 14:23:360188デフォルトの名無しさん
2008/02/10(日) 22:14:140189デフォルトの名無しさん
2008/02/10(日) 22:31:43まぁ俺様のスパコンなら余裕よ
じゃなくて、同じ事考えててソースから入れたら上手く行って「ヤッター」って書き込もうとしたらレスが付いてたの。
そんだけ。
0190本田
2008/02/11(月) 12:39:59http://www.tcl.tk/
Latest Software Releases
Tcl/Tk 8.5.1 Feb 5, 2008
Tcl/Tk 8.4.18 Feb 8, 2008
ActiveTcl 8.5.1.0 Feb, 2008
0191デフォルトの名無しさん
2008/02/15(金) 19:14:58evalはtclのインタープレタ(解釈実行)機能を利用する窓口なのでevalを封印する様では暫く8.4版に留まって様子を見るのも有力な選択肢かもしれない。
0192デフォルトの名無しさん
2008/02/15(金) 23:04:55evalは封印してきたわけだが・・・。
0193デフォルトの名無しさん
2008/02/15(金) 23:09:550194デフォルトの名無しさん
2008/02/16(土) 07:42:19→eval命令のコンパイルで何か支障があるのですか?
0195デフォルトの名無しさん
2008/02/16(土) 16:20:43set a 3
set b {$a + 2}
expr $b*4
これが 20 でなく 11 になる理由は分かりました。しかし、次のような C 言語のソースをそのまま Tcl に直すとどうなるのですか?
int a = 3;
int b = a + 2;
int c = b * 4;
0196デフォルトの名無しさん
2008/02/16(土) 18:05:43set b [expr $a + 2]
set c [expr $b * 4]
0197デフォルトの名無しさん
2008/02/16(土) 21:40:460198デフォルトの名無しさん
2008/02/22(金) 21:40:370199本田
2008/02/23(土) 07:19:41>Effective Tcl/Tk Library
http://sourceforge.net/projects/efftcl/
>Souce code from the book "Effective Tcl/Tk Programming"
0200デフォルトの名無しさん
2008/02/28(木) 23:15:28関係ないけど
0201デフォルトの名無しさん
2008/02/29(金) 00:01:03今日本のクンニが乱れている!!
http://www.youtube.com/watch?v=pAEaGlmwZZQ
0202デフォルトの名無しさん
2008/02/29(金) 11:17:41とかでソースを実行するときにエラーがあると,ダイアログが出てOKボタンを押さないと次に進まなくなるけど,
これを抑制する方法はない?
0203デフォルトの名無しさん
2008/02/29(金) 23:15:30読み取りの次の処理も失敗するだろ。止まるのが
普通なのではないだろうか。エラーを「抑制」するとは
この場合はどういう処理を期待してるのだろうか。
0204デフォルトの名無しさん
2008/03/01(土) 11:24:060205202
2008/03/01(土) 11:28:23ダイアログを出さずに落っこちてほしいのです.
バッチ処理でデータを自動的に次々処理しているときに,ダイアログが出てそこで止まってしまうと,
オペレータが常時監視してOKボタンを押さなくてはいけない.
そうではなくて,エラーが出たらそのまま落ちて,次のデータに処理が移るようにしたい.
0206デフォルトの名無しさん
2008/03/01(土) 11:29:12PHP のフォーラムと Python のフォーラムの最新の質問がそれぞれ
How to hide error messages? と How to handle exceptions? だったっていうのが面白かった。
0208デフォルトの名無しさん
2008/03/01(土) 11:31:07wishじゃなくtclshを使うのではどうか?
0209202
2008/03/01(土) 11:44:18それが,処理自体はバッチ的なんだが,過去の経緯を引きずっている関係から,
部分的にGUIパッケージを使っているんですよね….
どういう方法をとるにしろ,プログラムにある程度の修正を加えるしかなさそうですね.
0210デフォルトの名無しさん
2008/03/01(土) 11:59:26というかバッチの中で呼ぶのだったら wish だと同期的にならないのでいろいろ不都合じゃないの。
Tclの中でのエラー処理の必要がなくて落っこちればそれでいいっていう前提で話してるけど。
0211デフォルトの名無しさん
2008/03/01(土) 12:12:15なんだそういうことか。それならbgerrorでエラー処理を変えればいい。
でも、ていうか8.3ってbgerrorあったっけ。昔過ぎて忘れた。
proc bgerror {message} {
exit 1
}
pack [button .b -text GENERROR -width 15]
.b configure -command {
read $notexists
}
0212デフォルトの名無しさん
2008/03/07(金) 10:24:47tcl tcl tcl tcl tcl tcl チャチャチャ
二人は双子♪ 似てない双子♪
0213本田
2008/03/08(土) 08:39:49Perl/Tk Tools
http://ptktools.sourceforge.net/
0214本田
2008/03/08(土) 08:44:33http://www.activestate.com/store/download.aspx?prdGUID=f0cd6399-fefb-466e-ba17-220dcd6f4078
0215デフォルトの名無しさん
2008/03/08(土) 08:46:190216本田
2008/03/08(土) 09:15:21tcom
http://wiki.tcl.tk/1821
0217本田
2008/03/08(土) 09:32:54COM Object Implementation in Tcl
http://www.vex.net/~cthuang/tcom/server.html
http://www.vex.net/~cthuang/tcom/
0218本田
2008/03/08(土) 09:35:20>COMプログラマの解説書
>Crispin Goswell
>Microsoft Office Product Unit
>1995年 春
>1995年9月13日改訂
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdncomp/htm/com_co.asp
>抄録
>この解説書は、
>Microsoft(r) OLE Component Object Model(COM)オブジェクトを作成し、
>効果的に使用する方法を説明しています。
>例文はほとんどCで書かれていますので、実際に何が行われているかが、大変分かりやすく示されています。
>プログラマの中には、オブジェクトを実行するためにC++を好んで使用する人もいるでしょう。
>C++プログラマの観点からCOMの概念および基本的な使用法を論じているのは
>Kraig Brockschmidt著のInside OLE (第2版)(MSDN Library(Books))です。
>COMとは何か、またその設計や哲学の後ろにある動機付けをより理解する事に興味がある読者なら、
>Component Object Model Specification(MSDN Library(Specifications))の最初の2章を読んでください。
>第1章には簡単なイントロダクションを、第2章では徹底的に概要を解説してあります。
>この解説書ではInside OLEとCOM Specificationにある情報を、
>COMオブジェクトを実装する良い方法をいくつか示しながら解説するようにしてあります。
0219デフォルトの名無しさん
2008/03/08(土) 10:58:390220本田
2008/03/08(土) 11:22:01特別関係は深くないと思う。
ただTKの方は、色々な言語から使える。
0221本田
2008/03/08(土) 11:24:10"The easy way to do Lisp GUI programming"
http://www.peter-herth.de/ltk/
>LTK is a Common Lisp binding for the Tk graphics toolkit.
> It does not require any Tk knowledge for its usage.
> As it is written in pure Lisp, it is highly portable.
0222デフォルトの名無しさん
2008/03/08(土) 11:29:39DQN男の家族死ね DQN男の親死ね DQN男の友達死ね DQN男の親戚死ね
DQN男の家族死ね DQN男の親死ね DQN男の友達死ね DQN男の親戚死ね
DQN男の家族死ね DQN男の親死ね DQN男の友達死ね DQN男の親戚死ね
0223デフォルトの名無しさん
2008/03/08(土) 12:43:060224本田
2008/03/08(土) 13:03:45なぜ Tcl を使うべきではないのか
http://www.os-omicron.org/~takano/private/trans/tcl_j.html
0225本田
2008/03/08(土) 13:10:51Tcl7.x時代の話でTcl8.xにはもう当てはまらない議論。
0226デフォルトの名無しさん
2008/03/08(土) 13:35:140227本田
2008/03/14(金) 22:01:12http://sourceforge.net/projects/tbuild/
tBuild is a cross-platform Tcl/Tk extension that extends Tcl/Tk with the ability to compile
& link shared libraries of Tcl extensions written in C/C++.
tBuild currently supports all unix compilers & MS VC++ 5.x/6.x/7.0/7.1/.NET under windows.
No Mac supp
0228本田
2008/03/16(日) 01:19:13http://sourceforge.net/projects/tcl9/
Tcl9 is an umbrella for all projects related to the improvement of the current Tcl language,
towards the hypothetical version 9 (current version is 8.5).
0229本田
2008/04/02(水) 18:18:34>March 28, 2008
http://www.tcl.tk/software/tcltk/8.5.html
0230デフォルトの名無しさん
2008/04/03(木) 15:17:360231本田
2008/04/06(日) 12:46:05>tcltk8.5.2-014-20080405.exe
http://sourceforge.net/project/showfiles.php?group_id=204414&package_id=248905&release_id=589844
0232gth
2008/04/06(日) 14:25:37出口
0233七つの海の
2008/04/10(木) 23:24:00○ティコティケェィーィエ
0234デフォルトの名無しさん
2008/04/13(日) 03:08:28動かそうとしたらcannot execute binaryとなってダメなんですけど、
どうすればいいんですか?原因はなんなんですか?
中学生にも分かるように説明してくれませんか?
0235本田
2008/04/14(月) 06:00:48http://www.tcl.tk/
0236本田
2008/04/14(月) 06:02:18サポートセンターに電話すべし。
0237デフォルトの名無しさん
2008/04/16(水) 04:48:20libc6-i386というのをインストールしたら64ビットOSでも
動きました。でも、32ビットOSのときよりも動きが遅いです。
0238本田
2008/04/22(火) 08:24:49>SnackAmp
http://sourceforge.net/projects/snackamp/
>SnackAmp is a powerful multi-platform audio music (mp3, ogg ,wav, streams ...) player and organizer for large music collections.
>Manage your entire collection, including ID3 tagging and auto-playlisting. Integrated web server for remote control/streaming
■ このスレッドは過去ログ倉庫に格納されています