1 名前:デフォルトの名無しさん mailto:sage [2007/05/01(火) 14:52:44 ] 【英語サイト】 プロジェクト本拠地 tcl.sourceforge.net/ 最新版ソースコード ftp://ftp.tcl.tk/pub/tcl/nightly-cvs/ The Tcler's Wiki wiki.tcl.tk/ The comp.lang.tcl Newsgroup groups.google.com/group/comp.lang.tcl/ ActiveTcl www.activestate.com/products/activetcl/ 【日本語サイト】 もっとTcl/Tk www.interq.or.jp/japan/s-imai/tcltk/ Tcl/Tk Scripting Laboratory www.geocities.jp/urano343/tcltk.html Tcl/Tk Primer mibai.tec.u-ryukyu.ac.jp/~oshiro/Doc/tcltk_primer/ Tcl 8.4.1 Manual Command Reference www.freesoftnet.co.jp/tclkits/doc/TclCmdRef/tcl_contents_jp.htm CategoryTclTk - mynote reddog.s35.xrea.com/wiki/CategoryTclTk.html 【前スレ】 ●●●●TCL/TKなら俺に聞け●●●● pc11.2ch.net/test/read.cgi/tech/1033628416/
686 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 05:26:01 ] Tcl/Tkのスクリプトをexe化したいのですが sdx.batってどこにあるんでしょう? というかどれが最新版なんでしょう? code.google.com/p/tclkit/downloads/list tclkitsh , tclkit , sdx.kit はこれが最新版かと思うんですが sdx.bat は見つからず… どこから入手すればいいんだろう?
687 名前:デフォルトの名無しさん [2010/12/20(月) 10:07:44 ] www.equi4.com/pub/sk/ @tclkitsh sdx.kit %1 %2 %3 %4 %5 %6 %7 %8 %9 内容はこんだけ。更新されてないけど今でも使えるよ。
688 名前:デフォルトの名無しさん mailto:sage [2010/12/20(月) 10:52:19 ] >>687 ありがとうございます。助かります 中身見てズッコケました これならバージョンどうこうなんて関係ないですな…dでした
689 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 20:44:41 ] これは、凄い。使わせてもらいます。
690 名前:デフォルトの名無しさん mailto:sage [2010/12/21(火) 23:01:00 ] >>681 ありがとうございました。助かります。 EUCだったんですね。
691 名前:本田 [2010/12/23(木) 10:59:09 ] TcomExcel - Excel utility package www.posoft.de/html/extTcomExcel.html TcomExcel is a utility package based on Tcom to script Excel functionality with Tcl. Notes: * No manual or online help is available. * TcomExcel has been tested with Excel 97, 2000, 2003 and 2007.
692 名前:本田 [2011/01/09(日) 21:31:18 ] Sockspy sockspy.sourceforge.net/sockspy.html ockspy lets you watch the conversation of a Tcp client and server. Sockspy acts much like a gateway: it waits for a Tcp connection, then connects to the real server. Data from the client is passed onto the server, and data from the server is passed onto the client.
693 名前:本田 [2011/01/10(月) 20:15:30 ] Odbcisql is a windowing SQL processor for databases with ODBC interfaces. wiki.tcl.tk/7110] ftp://ftp.tcl.tk/pub/tcl/mirror/ftp.procplace.com/sorted/databases/odbcisql/1.0/index.html ftp://ftp.tcl.tk/pub/tcl/mirror/ftp.procplace.com/sorted/databases/odbcisql/1.0/odbcisql-1.0.tar.gz TclODBCでnvarcharを使えるようにする reddog.s35.xrea.com/wiki/TclODBC%E3%81%A7nvarchar%E3%82%92%E4%BD%BF%E3%81%88%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B.html reddog.s35.xrea.com/software/tclodbc2.5r1-win32-bin.zip sourceforge.net/projects/tclodbc/ msdn.microsoft.com/en-us/library/ms714177 (VS.85).aspx
694 名前:お父さん [2011/01/11(火) 21:16:24 ] >651 canvasにpolygonやlineで書いた絵を画像ファイルでセーブする方法はありますか? →確かめた訳ではないけどこんなものがあるらしい pdf4tcl dumping canvas to pdf 使えるフォントが英文用の3種のみなので日本語はだめだが、純tclでpdfするのはすごい。
695 名前:デフォルトの名無しさん mailto:sage [2011/01/11(火) 21:18:45 ] そんなもん入れんでも標準でepsにできるじゃまいか・・・ vista+ActiveTclではフォントをArialとかにしないとeps化できないけどな〜(MS UI Gothicが悪い?)
696 名前:本田 [2011/01/12(水) 07:01:49 ] >>693 Microsoft ODBC Desktop Database Drivers msdn.microsoft.com/en-us/library/ms711711%28v=VS.85%29.aspx Text File Driver Programming Considerations msdn.microsoft.com/en-us/library/ms714091%28v=VS.85%29.aspx Text File Data Types msdn.microsoft.com/en-us/library/ms715429%28v=VS.85%29.aspx SQLGetInfo Returned Values for Text Files msdn.microsoft.com/en-us/library/ms712518%28v=VS.85%29.aspx Other Text File Driver Programming Details msdn.microsoft.com/en-us/library/ms714680%28v=VS.85%29.aspx Defining Text Format (Text File Driver) msdn.microsoft.com/en-us/library/ms710983%28v=VS.85%29.aspx Schema.ini File (Text File Driver) msdn.microsoft.com/en-us/library/ms709353%28v=VS.85%29.aspx
697 名前:本田 [2011/01/12(水) 23:18:16 ] mysqltcl - Tcl Mysql Interface (Version 3.05 www.xdobry.de/mysqltcl/index.html MySQL 5.1 リファレンスマニュアル 13.11. CSV ストレージエンジン dev.mysql.com/doc/refman/5.1/ja/csv-storage-engine.html CSV ストレージエンジンはコンマ区切りの値を使ったフォーマットでデータをテキストファイルに保存します。 24.1. MySQL Connector/ODBC dev.mysql.com/doc/refman/5.1/ja/myodbc-connector.html
698 名前:本田 [2011/01/15(土) 08:37:16 ] >>696 Much ADO About Text Files Greg Stemp Microsoft Corporation March 5, 2004 Summary: Demonstrates how script writers can use Microsoft ActiveX Database Objects (ADO) techniques to retrieve data from logs and other text files. msdn.microsoft.com/en-us/library/ms974559.aspx ADO (Visual Fox Pro oledb) - read .dbf with tcom wiki.tcl.tk/16022
699 名前:本田 [2011/01/15(土) 15:15:07 ] SourceForge.JP、個人向けGitリポジトリ/ストレージサービス「PersonalForge」をリリース sourceforge.jp/magazine/11/01/13/0234231 OSDNは1月13日、同社の運営するオープンソースソフトウェア開発サイト「SourceForge.JP」において、 個人向け開発支援ツール「PersonalForge」をリリースした。 個人用Gitリポジトリおよびファイル頒布用のストレージサービス(ファイルマネージャ)が提供される。 Git ユーザマニュアル (バージョン 1.5.3 以降用) www8.atwiki.jp/git_jp/pub/Documentation.ja/user-manual.html Git wiki.tcl.tk/14597 gitk wiki.tcl.tk/14598 Historically, gitk was the first repository browser. It's written in Tcl/Tk and almost the whole development history is present in the repository as referenced to on top of this page. Regularly merges are performed in the main git repository.
700 名前:本田 [2011/01/16(日) 12:13:38 ] >>699 Sun Yiyi氏のGit Source Control Provider for Visual Studio 2008/2010の紹介 www.infoq.com/jp/news/2010/06/Git-Visual-Studio Git Source Control Provider visualstudiogallery.msdn.microsoft.com/en-us/63a7e40d-4d71-4fbb-a23b-d262124b8f4c >>698 Microsoft Jet SQL リファレンス office.microsoft.com/ja-jp/access-help/CH006252688.aspx Microsoft Jet 4.0 データベース エンジン ドライバを初期化する office.microsoft.com/ja-jp/access-help/HP001032161.aspx 外部データのWindows レジストリ設定 office.microsoft.com/ja-jp/access-help/CH001041018.aspx ODBC アクセスのために Microsoft Jet データベース エンジンを設定する office.microsoft.com/ja-jp/access-help/HP001032164.aspx Microsoft OLE DB Provider for Jet で接続プロパティを使用する office.microsoft.com/ja-jp/access-help/HP001032169.aspx テキスト データ ソース ドライバを初期化する office.microsoft.com/ja-jp/access-help/HP001032166.aspx
701 名前:本田 [2011/01/16(日) 21:53:27 ] >>693 Database Fishing Tool (DaFT) is a front-end to any database that can be connected to with an ODBC driver. daft.sourceforge.net/ New Version: 1.4.8.1 Released: 08 OCT 2010 This is a minor release, with some major bugfixes. * Fixed an issue with column information with non-English ODBC driver * Fixed the problem with data sheet column headings for new query results
702 名前:本田 [2011/01/21(金) 22:18:38 ] Miscellaneous Tcl packages vectorstream.com/tcl/packages/ Packages using the Tcl >= 8.5 module system
703 名前:本田 [2011/01/24(月) 06:41:26 ] Soar (認知アーキテクチャ) ja.wikipedia.org/wiki/Soar_%28%E8%AA%8D%E7%9F%A5%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%29 Soar(SOAR)とは、カーネギーメロン大学の John Laird、アレン・ニューウェル、Paul Rosenbloom が作成した認知アーキテクチャの一種。 認識とは何かという観点と、それに基づいた人工知能用のプログラムアーキテクチャの観点から構成される。 1983年に最初に作成され、1987年に論文として発表されて以来、多くの人工知能研究者が人間の行動の様々な観点の認知モデルを作成するのに Soar を用いている。 Welcome to the Soar Home Page sitemaker.umich.edu/soar/home ai.eecs.umich.edu/soar/sitemaker/releases/ Soar is a general cognitive architecture for developing systems that exhibit intelligent behavior. Researchers all over the world, both from the fields of artificial intelligence and cognitive science, are using Soar for a variety of tasks. sourceforge.net/projects/soar/
704 名前:本田 [2011/01/30(日) 12:22:00 ] Tcl 8.5 Network Programming https://www.packtpub.com/tcl-8-5-network-programming/book [PDF] Sample chapter - Tcl 8.5 Network Programming https://www.packtpub.com/sites/default/files/0967-chapter-7-using-common-internet-services.pdf Tcl 8.5 Network Programming [ペーパーバック] www.amazon.co.jp/Tcl-Network-Programming-Wojciech-Kocjan/dp/1849510962/ref=sr_1_1?ie=UTF8&s=english-books&qid=1296357607&sr=1-1
705 名前:デフォルトの名無しさん [2011/02/04(金) 21:47:25 ] wish8.4を使っています。 set pipe [open "|hoge"]とパイプを開いて、 場合によりhogeを途中で終了させたいのですが、 close $pipeやexec kill [pid $pipe]とやると、 どうしてもApplication Errorのダイアログが勝手に出てしまいます。 もう少し穏便に終了させたいのですが、この手のエラーを抑制するにはどうすればよいでしょう?
706 名前:デフォルトの名無しさん mailto:sage [2011/02/04(金) 22:11:44 ] catch
707 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 11:36:25 ] 過疎スレ(過疎言語?)かと思ったら質問に20分でレスが付くとは。 GJすぐるw。本人じゃないけど礼を言いたいよ。
708 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 14:37:39 ] >>706 ありがとうございます、例外の捕捉ができるのですね。
709 名前:デフォルトの名無しさん mailto:sage [2011/02/05(土) 23:58:42 ] このスレじゃないけど質問から1分で的確な回答が付いてたのを見たことがある
710 名前:デフォルトの名無しさん mailto:sage [2011/02/06(日) 00:03:35 ] そういうのは自演だから
711 名前:本田 [2011/02/06(日) 17:02:07 ] Great Unified Tcl/Tk Extension Repository www.flightlab.com/~joe/gutter/
712 名前:デフォルトの名無しさん mailto:sage [2011/02/13(日) 08:27:10 ] >>707 たまに本田氏が本気を出す時がある。 いりこ出汁的な意味で。
713 名前:デフォルトの名無しさん mailto:sage [2011/02/14(月) 22:33:41 ] 話題は無いけど監視はしてる
714 名前:本田 [2011/02/16(水) 06:58:49 ] My Home Page: Jean-Luc Fontaine jfontain.free.fr/ Software (source, documentation, miscellaneous): For Tcl versions 8.3.x and 8.4.x: tclperl a Perl package for Tcl jfontain.free.fr/tclperl.htm TclPerl/TclPython www.ellogon.org/petasis/index.php?option=com_content&task=view&id=27&Itemid=43 tclpython a Python package for Tcl jfontain.free.fr/tclpython.htm TclPerl/TclPython www.ellogon.org/petasis/index.php?option=com_content&task=view&id=27&Itemid=43
715 名前:本田 [2011/02/19(土) 23:56:32.45 ] Tcl/Tk Stuff www.cs.nott.ac.uk/~nem/tcl/ Tcl interface to the NJS JavaScript interpreter library (see njs-javascript.org). Note: LGPL licensed. www.cs.nott.ac.uk/~nem/tcl/tcljs-1.0.tar.gz
716 名前:本田 [2011/02/20(日) 23:10:04.75 ] downloads.activestate.com/ActiveTcl/releases/8.4.19.5/ActiveTcl8.4.19.5.294332-win32-ix86-threaded.exe downloads.activestate.com/ActiveTcl/releases/8.4.19.5/ActiveTcl8.4.19.5.294317-linux-ix86.tar.gz downloads.activestate.com/ActiveTcl/releases/8.4.19.5/ActiveTcl8.4.19.5.294317-linux-x86_64.tar.gz downloads.activestate.com/ActiveTcl/releases/8.4.19.5/ActiveTcl8.4.19.5.294317-macosx-universal-threaded.dmg downloads.activestate.com/ActiveTcl/releases/8.5.9.2/ActiveTcl8.5.9.2.294317-win32-ix86-threaded.exe downloads.activestate.com/ActiveTcl/releases/8.5.9.2/ActiveTcl8.5.9.2.294317-win32-x86_64-threaded.exe downloads.activestate.com/ActiveTcl/releases/8.5.9.2/ActiveTcl8.5.9.2.294317-macosx10.5-i386-x86_64-threaded.dmg downloads.activestate.com/ActiveTcl/releases/8.5.9.2/ActiveTcl8.5.9.2.294317-linux-ix86-threaded.tar.gz downloads.activestate.com/ActiveTcl/releases/8.5.9.2/ActiveTcl8.5.9.2.294317-linux-x86_64-threaded.tar.gz downloads.activestate.com/ActiveTcl/releases/8.6.0.0b5/ActiveTcl8.6.0.0b5.294318-win32-ix86-threaded.exe downloads.activestate.com/ActiveTcl/releases/8.6.0.0b5/ActiveTcl8.6.0.0b5.294318-win32-x86_64-threaded.exe downloads.activestate.com/ActiveTcl/releases/8.6.0.0b5/ActiveTcl8.6.0.0b5.294318-macosx10.5-i386-x86_64-threaded.dmg downloads.activestate.com/ActiveTcl/releases/8.6.0.0b5/ActiveTcl8.6.0.0b5.294318-linux-ix86-threaded.tar.gz downloads.activestate.com/ActiveTcl/releases/8.6.0.0b5/ActiveTcl8.6.0.0b5.294318-linux-x86_64-threaded.tar.gz
717 名前:本田 [2011/02/22(火) 21:20:38.31 ] >>715 Embed javascript in Tcl code.google.com/p/tcljs/ This project creates a Tcl extension to embed a javascript interpreter (Spidermonkey) in a Tcl/Tk application.
718 名前:本田 [2011/03/26(土) 00:26:40.20 ] Ayam ayam.sourceforge.net/ The current stable version is 1.19, released 16. Mar 2011.
719 名前:デフォルトの名無しさん [2011/04/03(日) 15:32:59.92 ] % puts $tcl_version 8.4 % puts $tcl_patchLevel 8.4.19 % ls -tr a.txt b.txt c.txt % ls -tr *.txt /bin/ls: *.tclにアクセスできません: そのようなファイルやディレクトリはありません child process exited abnormally % exec ls -tr *.txt ls: *.tclにアクセスできません: そのようなファイルやディレクトリはありません なんでダメなの?
720 名前:719 mailto:sage [2011/04/03(日) 15:37:22.20 ] /bin/ls: *.txtにアクセスできません の間違いです。すんません。
721 名前:本田 [2011/04/03(日) 21:24:48.73 ] tkcon.tcl使ってみたら?
722 名前:デフォルトの名無しさん mailto:sage [2011/04/04(月) 23:37:12.86 ] globとか。
723 名前:デフォルトの名無しさん mailto:sage [2011/04/05(火) 22:34:50.19 ] >>719 OSは?
724 名前:デフォルトの名無しさん mailto:sage [2011/04/06(水) 10:52:07.57 ] >>719 eval exec ls [glob *.txt]
725 名前:デフォルトの名無しさん mailto:sage [2011/04/17(日) 23:05:54.75 ] Tcl、GoogleのNative Clientに対応した「NaTcl」を発表 slashdot.jp/developers/11/04/15/181223.shtml > スクリプト言語TclをGoogleのNative Client環境で実行可能な「NaTcl」が発表された。 > NaTclを使用することでTclをWebブラウザ上で実行可能となり、Tclプログラムで > Google ChromeのDOM(Document Object Model)に直接アクセスできる。これにより、 > JavaScriptの代わりにTclでWebアプリケーションを作成することが可能となる。 > また、Natice Client向けのTk、「NaTk」もまもなくリリースされるとのこと。 これでTcl/Tkの新しい本が出るようになるかな?
726 名前:デフォルトの名無しさん [2011/04/17(日) 23:17:37.46 ] 昔Tcletってあったよね。
727 名前:デフォルトの名無しさん mailto:sage [2011/04/18(月) 09:11:17.63 ] >>726 今でもある
728 名前:デフォルトの名無しさん mailto:sage [2011/04/19(火) 00:21:24.65 ] すらどで話題になりなおかつそこそこコメントが付いてることにワシは感動しておるw まだ見放されてなかったw
729 名前:デフォルトの名無しさん mailto:sage [2011/04/20(水) 15:53:49.10 ] ペイントソフトをつくろうと思っています TkCanvasではTkcLine等を用いたベクタ形式の画像処理しかできないようですが BMPファイル画像等の任意のピクセルの値の読み書きといった いわゆるペイント系の処理はどのWidgetを使えば実装できるのでしょうか ご教示お願いします
730 名前:デフォルトの名無しさん mailto:sage [2011/04/27(水) 20:32:05.36 ] できますよ
731 名前:デフォルトの名無しさん mailto:sage [2011/05/03(火) 23:02:06.65 ] >>729 難しいことなんて何もないよ。 package require Img image create photo image1 -file sample.bmp canvas .c .c configure -width [image width image1] -height [image height image1] .c create image 0 0 -image image1 -anchor nw pack .c set rgb [image1 get 10 10] tk_messageBox -type ok -message "X=10,Y=10のRGB値:$rgb" for {set i 1} {$i < 100} {incr i} { image1 put #ff0033 -to $i $i }
732 名前:デフォルトの名無しさん [2011/05/07(土) 22:56:08.08 ] バイナリファイルを読み込んで、編集して、別名で書き込むにはどうしたら良いでしょうか。 open、binary format、binary scan、puts、getsあたりを使えばできるだろうと思い、試行錯誤したのですが どうしてもうまくいきません。 Tclは書籍(特に和書)が少ないのでwebの情報が頼りですが、 思ったような情報が見つからず困っています。
733 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 00:39:37.94 ] そのコマンド列にfconfigureコマンドが無いのが気になった。
734 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 00:55:01.94 ] >>733 確かにfconfigureも必要かもしれませんね。 できれば一部のデータを置換して別名で保存するようなサンプルが見てみたいです。
735 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 01:34:03.82 ] まず、試行錯誤してみたコードを貼り付けてみたらどうですか 適当な1バイトを読んでその値を2倍して別ファイルに書き込むのは13行くらいでできた。
736 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 01:49:08.08 ] ただファイルを読んでそのまま書き込むだけでも失敗してます。 set fileID [open IM000001] set fileID2 [open IM000002 w] fconfigure $fileID -translation binary set strvar [read $fileID] binary scan $strvar H* value set len [string length $value] puts $fileID2 [binary format H$len $value] close $fileID
737 名前:736 mailto:sage [2011/05/08(日) 01:53:11.25 ] ちなみにPythonでは簡単に成功しました。 import re infile = open("IM000000", 'r') outfile = open("COPYDCM", 'w') data = infile.read() data = re.sub("20110214911005", "99887766554433", data) outfile.write(data) infile.close() outfile.close()
738 名前:736 mailto:sage [2011/05/08(日) 01:56:24.08 ] 737のスクリプトはIM000000というファイルの20110214911005を99887766554433に置換して COPYDCMという名前で保存するだけです。 Tclではその程度ですら自分にはできません。
739 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 02:01:45.23 ] 少なくとも fileID2 にも -translation binary が必要で、puts に -nonewline オプションが必要だともう。
740 名前:736 [2011/05/08(日) 02:06:42.32 ] >>739 ご指摘の通りにしたら正常に動作しました。 これがわかれば置換等の編集をして保存することも難しくないかもしれません。 頑張ってみます。 ありがとうございました。
741 名前:733 735 739 mailto:sage [2011/05/08(日) 02:15:08.51 ] どういたしまして。 Pythonが使えるのになぜTclなんだという疑問がありますが、Tcl使いが増えるとちょっとうれしい。
742 名前:デフォルトの名無しさん [2011/05/10(火) 20:13:53.27 ] あるディレクトリ内にあるファイルのパス名のリストを得るにはどうしたら良いでしょうか? 同じ階層だけであればglobで簡単にできますが、 下層にあるディレクトリ内のファイルも全て対象にしたいのです。
743 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 21:29:56.14 ] globを再帰でつくる とか、 Tcllibパッケージのfileutilを使う package require fileutil ::fileutil::findByPattern . -glob *
744 名前:デフォルトの名無しさん mailto:sage [2011/05/12(木) 00:00:56.94 ] Tcl/Tkによるバイナリエディタ reddog.s35.xrea.com/wiki/bineditor.html
745 名前:デフォルトの名無しさん mailto:sage [2011/05/19(木) 00:16:38.55 ] >>741 自分はこれからTcl/Tkを覚えようかとしてるんですが、この言語けっこう恵まれてません? まぁ、自分のニーズもあるんですが、 ・スクリプトで、GUIを手軽に書ける ・グラフの描画ライブラリがある(クリック可能) ・他言語との連携ができる ・単独で動作するバイナリができる ・言語仕様が簡単 ・クロスプラットフォーム ・オープンソース ・枯れてる この条件だとPythonでもよかったんですが、Pmw.Bltはちと不安で…。 自分でメンテ+拡張しようにも、結局内部でTkコマンド呼んでるだけだったんで、なら、ということで。
746 名前:デフォルトの名無しさん mailto:sage [2011/05/22(日) 00:30:34.87 ] なぜかユーザーは少ない。最近はちょっと増えてきた気もするが 8.3〜8.4のころは本当に見向きもされてなかった
747 名前:デフォルトの名無しさん [2011/05/22(日) 23:15:17.27 ] PythonでTkinterを介してTkを利用するのって難しすぎじゃね? Tcl/Tkに慣れすぎると、Tkinterが煩わしくて仕方ない。 どうしてもPythonを使わざるをえない場合は仕方ないけど できるだけTcl/Tkでやりたくなる。
748 名前:デフォルトの名無しさん [2011/05/23(月) 23:08:54.27 ] まあPython使うときはTk以外の選択肢いっぱいあるのでTk使わなくてもいいんでは
749 名前:デフォルトの名無しさん mailto:sage [2011/06/08(水) 22:15:40.29 ] Tclってfork()できないのがつらい。 TclXはちょっと...
750 名前:デフォルトの名無しさん mailto:sage [2011/06/09(木) 20:54:44.14 ] 誰かWin/Linuxでドラッグ&ドロップができるようになる拡張、 8.5以降に対応しているので知らんかね… とりあえずTkDND 2.2を試して見てるんだけど、8.5には対応 してないらしく、何ヶ所かバグを潰してXConvertSelectionまで 辿り着いたとこで、手詰まった。 ※XConvertSelectionをLD_PRELOADでフックして、ちゃんと Timeを与えるようにしたのにtimeoutになる、なぜだ…
751 名前:デフォルトの名無しさん mailto:sage [2011/06/11(土) 15:06:12.77 ] TkDNDのfixかなり粘ったけど、これは無理。 Tk本体のselection getもtext/uri-listに対応してなかったり、かなり根が深そう。 これ修正するくらいだったら、一から実装したほうが多分早い。くそぅ。
752 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 13:33:18.93 ] 誰か詳しい方、Tcl_CreateThreadについて教えてください… 拡張の処理に時間のかかる部分をThread化して、終了をvwait bgstatとかで 待とうとしてるんですけど、www.tcl.tk/ のマニュアルには 「スレッドは親のinterpに触ってはいけない」とか書いてあるんで、スレッドから set bgstatすることはできないようなのです。 このあたり、普通はどういう処理をするんでしょうか? サンプルコードの場所なり、このソース読めば判るんじゃね、でも構わないんで、 なにかヒントをお願いします。 (vwaitのEXAMPLEにあるsocketコマンドは勘弁してください、挫折しました)
753 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 17:44:41.87 ] >>752 Tcl_CreateThread()ということは、Cで拡張を書いている? だったら、Tcl_AsyncMark()が使えると思う。 Tclのthreadコマンドだったら、thread(n)に書いてあるように、thread::sendを 使えば、threadの結果をvwait出来ると思う。
754 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 18:28:11.50 ] >>753 Thanks! CなのでTcl_AsyncMarkですが、マニュアルを読む限りそれっぽい! とりあえず、何かサンプル書いて確かめてみます。
755 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 19:33:11.70 ] …あれ? 自分の理解では、これで合ってるはずなんですが… スレ汚し失礼。 ---------- #include <stdio.h> #include <unistd.h> #include <tcl.h> static Tcl_AsyncHandler async_handle; static int proc_finished(ClientData clientData, Tcl_Interp *interp, int code) { Tcl_SetVar2Ex(interp, "bg_stat", NULL, Tcl_NewIntObj(1), TCL_LEAVE_ERR_MSG); printf("bg_stat has been set to 1.\n."); return code; } Tcl_ThreadCreateType threaded_proc(ClientData clientData) { sleep(5); Tcl_AsyncMark(async_handle); } static int asynctestHandleProc(ClientData data, Tcl_Interp* interp, int objc, Tcl_Obj* CONST objv[]) { Tcl_ThreadId idPtr; Tcl_CreateThread(&idPtr, threaded_proc, NULL, TCL_THREAD_STACK_DEFAULT, TCL_THREAD_JOINABLE); return TCL_OK; }
756 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 19:34:05.54 ] DLLEXPORT int Asynctest_Init(Tcl_Interp* interp) { async_handle = Tcl_AsyncCreate(proc_finished, NULL); Tcl_CreateObjCommand(interp, "asynctest", asynctestHandleProc, NULL, NULL); return Tcl_PkgProvide(interp, "asynctest", "0.0.1"); } ---------- #!/usr/bin/env tclsh load [file join . libasynctest[info sharedlibextension]] asynctest set bg_stat 0 set wait_stat 0 asynctest puts "bg_stat is $bg_stat." after 6000 {set wait_stat 1} vwait wait_stat puts "bg_stat is $bg_stat." ---------- $ ./asynctest.tcl bg_stat is 1. セグメンテーション違反です
757 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 20:18:25.01 ] Tcl_SetVar2Ex呼ぶとこでinterpがNULLになってる… なんか勘違いしてるっぽいですね。
758 名前:753 mailto:sage [2011/06/12(日) 21:15:52.82 ] >>755 Tcl_AsyncMark(3)の It is also possible for proc to be invoked when no interpreter is active. そのものでは? interp作る場合も注意が必要かな。tcllibとかにも注意。 親Threadにthread::sendでincr varとかを投げるほうが良いような気がしてきたけど。
759 名前:デフォルトの名無しさん mailto:sage [2011/06/12(日) 21:53:20.76 ] >>758 ありがとうございます、仰る通りな気がします。 Tclのソースでも、 generic/tclAsync.c: Tcl_AsyncInvoke() If invoked from Tcl_Eval just after completing a command, points to interpreter. Otherwise it is NULL. generic/tclTest.c: AsyncHandlerProc() this (interp==NULL) should not happen, but by definition of how async handlers are invoked, it's possible. とか書いてありました。 ほぼUndocumentedで、これはない… Tcl覚え始めてから、使う拡張ことごとく酷い目に合わされてるんで、 正直、使う拡張は最低限にしたく。 で、結局Tcl_AsyncCreateの第二引数にinterp渡して、無理矢理 proc_finishedで使えば、とりあえずは動くようです(Evilですが…)。 仕組み上ではこれで悪くないはず?なので、これで行こうと思います。 ほんとにありがとうございます。
760 名前:758 mailto:sage [2011/06/13(月) 00:33:27.18 ] >>759 どこで見たか思い出ないけど、Tcl_AsyncCreate()した時(=拡張のロード時)に interpを保存しておいて、AsyncHandler()の引数がNULLの場合は保存したinterpを 使っていた。同じことをして動いた記憶はある。 引数がNULLということはコマンドを実行していないので、保存していたinterpを 使っても問題にはならないらしい。 逆に、複数のinterpが存在するとAsyncHandler()が呼ばれた時に渡されるinterpが 通知先である保証が無いのかな? NULLでないのは何らかのコマンドが終了した瞬間だから、保存していたinterpを 使っても安全な気もするから、実行するコマンドが絶対に成功するようにすれば それでいいんでは?
761 名前:デフォルトの名無しさん mailto:sage [2011/06/13(月) 23:10:25.66 ] >>760 おぉ、詳細なご説明ありがとうございます。 ぼんやりとしていた理解が、明確になった気がします。 やっぱり同じ事を考えた方はいらっしゃるんですね。 というか、スレッドの終了をvwaitで待ちたいとか割とありえる状況な気がしますが、 ぐぐってもKodersでもまともにヒットしないってどういうこと… この辺がニッチな言語の、もの悲しいとこですね。
762 名前:デフォルトの名無しさん mailto:sage [2011/06/16(木) 00:12:12.28 ] ActiveTcl の8.4 から8.5に移行しようとしてるんだけど、8.5でなんかエクステンションが すごく減ってない? 例えば8.4であったTclXMLが8.5には見当たらない。 インストールしたのは ActiveTcl8.5.9.2.294317-linux-ix86-threaded.tar.gz. ドキュメントにはあるんだけど... docs.activestate.com/activetcl/8.5/tclxml/index.html だいたい、8.4のtar玉は28Mあったのに8.5は20Mしかない downloads.activestate.com/ActiveTcl/releases/8.4.19.5/ downloads.activestate.com/ActiveTcl/releases/8.5.9.2/
763 名前:762 mailto:sage [2011/06/16(木) 02:37:19.87 ] >>116-119 に解答がありました。 失礼しました。
764 名前:天使 ◆uL5esZLBSE mailto:sage [2011/07/05(火) 02:14:58.01 ] ↓↓ 「「「「「「「「「 に解答がありました。 失礼しました。 」」」」」」」」」(爆ッゴミッッ!
765 名前:デフォルトの名無しさん mailto:http://www.geocities.jp/c_zelos/soto/tensi_no_aori.zip [2011/07/06(水) 17:28:55.22 ] ↓ <<<<<<<<<<<<< 「「「「「「「「「 に解答がありました。 失礼しました。 」」」」」」」」」(爆ッゴミッッ! >>>>>>>>>>>>>(キリッ!!!きリッ!!!! ↑↑(きリキリッッ!キリ 土方が何をほざいて(笑) 天使#test_s 「天使の煽り」の提供でお送りしました
766 名前:デフォルトの名無しさん mailto:sage [2011/07/07(木) 21:59:23.84 ] >>763 それは2007年当時の話。今のActiveTclでは teacupで必要な拡張をダウソするのがナウ。
767 名前:本田 [2011/07/11(月) 23:50:09.19 ] [Tcl-announce] ActiveTcl 8.5.10.0 released code.activestate.com/lists/tcl-announce/371/
768 名前:本田 [2011/07/12(火) 00:00:32.94 ] downloads.activestate.com/ActiveTcl/releases/8.5.10.0/ downloads.activestate.com/ActiveTcl/releases/8.5.10.0/ActiveTcl8.5.10.0.294993-html.tar.gz downloads.activestate.com/ActiveTcl/releases/8.5.10.0/ActiveTcl8.5.10.0.294993-linux-ix86-threaded.tar.gz downloads.activestate.com/ActiveTcl/releases/8.5.10.0/ActiveTcl8.5.10.0.294993-linux-x86_64-threaded.tar.gz downloads.activestate.com/ActiveTcl/releases/8.5.10.0/ActiveTcl8.5.10.0.294993-macosx10.5-i386-x86_64-threaded.dmg downloads.activestate.com/ActiveTcl/releases/8.5.10.0/ActiveTcl8.5.10.0.294993-win32-ix86-threaded.exe downloads.activestate.com/ActiveTcl/releases/8.5.10.0/ActiveTcl8.5.10.0.294993-win32-x86_64-threaded.exe downloads.activestate.com/ActiveTcl/releases/8.5.10.0/MD5SUM downloads.activestate.com/ActiveTcl/releases/8.5.10.0/SHA256SUM
769 名前:本田 [2011/07/12(火) 21:01:46.78 ] Teacup wiki.tcl.tk/17305 Teacup provides access to the Tcl Extension Archive. It is the client to the TEApot server. It is distributed with ActiveTcl by ActiveState.
770 名前:デフォルトの名無しさん mailto:sage [2011/07/26(火) 13:53:55.22 ] canvasで書いた円と線の交差判定をしたいです。 計算しなくてもできるって聞いたんですがどうすればいいですか?
771 名前:本田 [2011/07/30(土) 06:39:19.48 ] 円じゃなくて長方形領域ようだけど。 homepage3.nifty.com/kaku-chan/tcl_tk/chapter_231.html pathName addtag tag overlapping x1 y1 x2 y2 x1 y1 x2 y2 を座標とする長方形領域に少しでも重なるアイテムに対して tag で示されるタグを付けます。 x1 は x2 以下、y1 は y2 以下の数値でなければなりません。
772 名前:本田 [2011/07/30(土) 06:43:22.91 ] downloads.activestate.com/ActiveTcl/releases/ downloads.activestate.com/ActiveTcl/releases/8.5.10.1/ downloads.activestate.com/ActiveTcl/releases/8.5.10.1/ActiveTcl8.5.10.1.295062-html.tar.gz downloads.activestate.com/ActiveTcl/releases/8.5.10.1/ActiveTcl8.5.10.1.295062-linux-ix86-threaded.tar.gzhttp://downloads.activestate.com/ActiveTcl/releases/8.5.10.1/ActiveTcl8.5.10.1.295062-linux-x86_64-threaded.tar.gz downloads.activestate.com/ActiveTcl/releases/8.5.10.1/ActiveTcl8.5.10.1.295062-macosx10.5-i386-x86_64-threaded.dmg downloads.activestate.com/ActiveTcl/releases/8.5.10.1/ActiveTcl8.5.10.1.295062-win32-ix86-threaded.exe downloads.activestate.com/ActiveTcl/releases/8.5.10.1/ActiveTcl8.5.10.1.295062-win32-x86_64-threaded.exe downloads.activestate.com/ActiveTcl/releases/8.5.10.1/MD5SUM downloads.activestate.com/ActiveTcl/releases/8.5.10.1/SHA256SUM
773 名前:本田 [2011/07/30(土) 06:52:55.54 ] ×downloads.activestate.com/ActiveTcl/releases/8.5.10.1/ActiveTcl8.5.10.1.295062-linux-ix86-threaded.tar.gzhttp://downloads.activestate.com/ActiveTcl/releases/8.5.10.1/ActiveTcl8.5.10.1.295062-linux-x86_64-threaded.tar.gz downloads.activestate.com/ActiveTcl/releases/8.5.10.1/ActiveTcl8.5.10.1.295062-linux-ix86-threaded.tar.gz downloads.activestate.com/ActiveTcl/releases/8.5.10.1/ActiveTcl8.5.10.1.295062-linux-x86_64-threaded.tar.gz
774 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 22:02:33.46 ] Tclって複数行にわたるコメントってできるの?Cの/* ... ... */みたいな。 エディタに頼って全行頭をイゲタるしかないのか。 if 0 { } ってのもなんだかなぁ...
775 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 22:39:32.06 ] どこのJava
776 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 22:47:02.97 ] >>774 できない。諦めろ。
777 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 22:48:49.89 ] proc rem comment {} rem { こめんととめんと こめんとこめんとおおおお!!! }
778 名前:デフォルトの名無しさん mailto:sage [2011/08/06(土) 00:08:22.24 ] コメント途中に閉じ中カッコであぼーん
779 名前:デフォルトの名無しさん mailto:sage [2011/08/06(土) 17:21:09.88 ] # コメント1\ コメント2\ コメント3# でいけそうだけどどうかな? # もコマンドみたいなものだから \ で続けて書けそうな気がする 最後の # は無くてもいいけど終端という意味で
780 名前:デフォルトの名無しさん [2011/08/06(土) 21:28:04.24 ] それは毎行つけるので行頭#とあんまり大差ないな
781 名前:デフォルトの名無しさん mailto:sage [2011/08/07(日) 08:03:02.17 ] Emacsで範囲指定して M-x comment-region
782 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 19:15:00.11 ] C風。 proc /* {script} {} proc */ {} {} /* { puts hello puts hello puts hello }; */ HTML風。 proc <!-- {script} {} proc --> {} {} <!-- { puts hello puts hello puts hello }; -->
783 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 21:18:47.70 ] set comment { コメント } >>782 と >>777 と同じく、中括弧がバランスしないと破綻する。 中括弧だけなら、 set comment " コメント " という手もあるけど、" と カギ括弧[] を意識しないといけない
784 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 21:26:01.94 ] #コマンドの振る舞いって謎だな {}は改行も含めて一つの要素にするはずだから、 # {あほ ばか } で#コマンドは{あほ改行ばか改行}を一つの引数とするはずなのに、{あほ まででコメントが終了しちゃうよね。 set a {あほ ばか } だとちゃんとaに{あほ改行ばか改行}が入るのに
785 名前:デフォルトの名無しさん [2011/08/09(火) 22:50:35.79 ] #はTclにおいてもコマンドではない。が正解。
786 名前:デフォルトの名無しさん mailto:sage [2011/08/10(水) 22:11:16.68 ] なるほど #はコマンドの置ける位置に置かねばならないがコマンドではなく行末までのコメントとして処理されるということか 行末の\継続は生きてる状態で。