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

2013/08/05(月) NY:AN:NY.AN
各種 wrapper でtkってるひとはいても
生で使ってるひとはほとんど居ない希ガス

【英語サイト】
プロジェクト本拠地
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なら俺に聞け 3●●●●
http://toro.2ch.net/test/read.cgi/tech/1374052935/
●●●●TCL/TKなら俺に聞け 2●●●●
http://toro.2ch.net/test/read.cgi/tech/1177998764/
●●●●TCL/TKなら俺に聞け●●●●
http://pc11.2ch.net/test/read.cgi/tech/1033628416/
391デフォルトの名無しさん
垢版 |
2019/12/13(金) 01:08:58.54ID:aZGEyYG5
exec の結果を逐一表示しながら、最後にエラーでても落ちないようにできない?
catch {exec long_runtime} mess
puts $mess
とすると exec の処理が全部終わってから、処理結果が表示される。
392デフォルトの名無しさん
垢版 |
2019/12/13(金) 09:38:34.12ID:V90d9jYd
pipe
393デフォルトの名無しさん
垢版 |
2020/03/29(日) 21:26:23.81ID:g1nB5uxI
今更だけど
tcl/tk はトロさ回避のため表示は遅延実行が徹底してる
まめにupdate入れないと待たされた後、まとめて表示になり易い
394デフォルトの名無しさん
垢版 |
2020/04/03(金) 07:44:21.86ID:lraMIADv
教えて下さい
tcl/tkのメソッドってざっくり言って何?
procとどう違うもの?
395デフォルトの名無しさん
垢版 |
2020/04/03(金) 14:30:59.68ID:VVxcL9Mv
正しいものを選べ
1.マクロ
2.コマンド
3.インターフェース
4.プロシジャ
2020/04/05(日) 11:04:13.64ID:bxpYlQXG
へー、そんなのあるんだ
知らんかった。
C++のメンバ関数のことだね、メソッド
397デフォルトの名無しさん
垢版 |
2020/04/05(日) 13:10:25.45ID:P07lI1PF
boostよりもtcl/tkの方が普及して欲しかった
2020/05/09(土) 04:38:22.25ID:+Y63WkJa
本田もう今年おらんじゃん
2020/05/20(水) 21:13:11.10ID:iiIF/OBf
Tclの正規表現で、先読みは(?=re)ですが
後読み(?<=re)って使えないんでしょうか?
使えないとしたら、ほかに同じことできる方法ありますかね。

バージョンは8.4です。
2020/05/25(月) 23:34:49.81ID:5dlRCABz
>>399
https://www.tcl.tk/man/tcl8.4/TclCmd/re_syntax.htm#M14
2020/05/26(火) 00:34:36.32ID:TcjQxoen
超初心者でtcl とtkの違いもよくわかってないんですが、
とりあえずMinGWでtclとtk入れて、
http://www.kijineko.com/c-tcltkでhello-world/
このへん見ながら見様見真似でCからハロワだけ出したんですが、ここから先、どうやってC側の関数とかのコードと結びつけるのかいまいちわかりません。
pythonのtkinterでdefした関数を登録したり、C#のWinformsでのButton.Clickのデリゲートみたいな感じで、C/C++の関数ポインタなりを登録するような書き方ができるでしょうか。
2020/05/26(火) 08:06:38.00ID:VzPqKPGf
swig使え
403デフォルトの名無しさん
垢版 |
2020/05/26(火) 09:26:08.65ID:w8HhSxTu
tcl がスクリプト (pythonみたいなもの)
tk がモジュールとかライブラリとか (qtとかwxpythonみたいなもの)

pythonでCモジュール描いたことがあれば
tcl/tkは楽勝

初めてtcl/tkやるなら
https://qiita.com/akinori-ito/items/92ca39617773a2f48e0b
で先にtcl/tkの(C無しで)方を覚えた方が楽
404デフォルトの名無しさん
垢版 |
2020/05/26(火) 09:30:45.98ID:w8HhSxTu
あとはこの辺
http://www.tcl.tk/man/tcl8.7/
http://www.nct9.ne.jp/m_hiroi/tcl_tk_doc/
405デフォルトの名無しさん
垢版 |
2020/05/26(火) 09:38:07.88ID:w8HhSxTu
特にここから
http://www.nct9.ne.jp/m_hiroi/tcl_tk_doc/tcltk305.html
2020/05/26(火) 10:04:23.30ID:PoOm8Fcr
>>400
lookaheadはあるけどlookbehindが見当たらず...
2020/08/04(火) 20:43:52.50ID:o2xSJm5g
>>1からして無理解がひどいけど
人知れず使われていくのはむしろtclの方なんだよな
2020/08/05(水) 00:50:56.74ID:gYncIR+S
本田は2015年2016年は書き込みがない
つまり1年書き込みないのはトイレ休憩のようなもの
2020/08/10(月) 12:49:47.94ID:xTptaQ4o
Tcl/Tk なんて過去の言語かと思っていたら ADC 用のスクリプトが Tcl/Tk だったのでちょっと勉強しようかなと
410デフォルトの名無しさん
垢版 |
2020/08/10(月) 13:20:07.79ID:wInlBSoO
やって損は無い
411デフォルトの名無しさん
垢版 |
2020/11/08(日) 20:34:01.47ID:UjMxFc95
Tcl Source CodeTimeline
2020-11-07
14:29
Updated README

一年ぶり間近か
412デフォルトの名無しさん
垢版 |
2020/12/14(月) 11:39:03.86ID:2nyyh9Ew
https://sourceforge.net/projects/tcl/files/Tcl/
tcl/tk 8.6.11
未だ配布候補版(rc ver.)だが 8.6.11版が配布開始された。
正式版は年越しか?
413本田
垢版 |
2020/12/29(火) 01:21:20.30ID:jxKOwQJ+
Tcl/TK入門 第2版 | SEshop.com | 翔泳社の通販
https://www.seshop.com/product/detail/2863
414本田
垢版 |
2020/12/30(水) 17:57:21.61ID:WXxdJjwK
Tclの栞の詳細情報 : Vector ソフトを探す!
https://www.vector.co.jp/soft/dl/winnt/prog/se498906.html
2020/12/30(水) 20:07:32.64ID:5C2oaWq2
>>414
翻訳元と翻訳後が並記されてて助かる・・・
416本田
垢版 |
2020/12/31(木) 12:51:18.32ID:WKa5NA3G
Tkinterの使い方:Canvasクラスで描画した図形を操作する | だえうホームページ
https://daeudaeu.com/tkinter_canvas_method/
417本田
垢版 |
2021/01/01(金) 16:55:35.46ID:N5pHRleG
Brent Welch | USENIX
https://www.usenix.org/conference/fast14/speaker-or-organizer/brent-welch-google

Clustered and Parallel Storage System Technologies | USENIX
https://www.usenix.org/conference/fast14/training-program/clustered-and-parallel-storage-system-technologies
418本田
垢版 |
2021/01/02(土) 13:58:59.83ID:JQg0lCIi
VTK - Wikipedia
https://ja.wikipedia.org/wiki/VTK
VTKはPython, Java, Tclに対するコア部分のラッパーを提供しているため、
これらのインタプリタ言語を使ってVTKのアプリケーションを書くことも可能である。
419本田
垢版 |
2021/01/03(日) 10:04:28.41ID:ogOhTtZ8
Critcl - the easy way to use C in Tcl scripts
https://www.equi4.com/starkit/critcl.html
420デフォルトの名無しさん
垢版 |
2021/01/03(日) 11:47:06.46ID:TDgWBZTo
https://www2.nhk.or.jp/hensei/program/p.cgi?area=001&;date=2021-01-04&ch=11&eid=08070&f=3039
421本田
垢版 |
2021/01/03(日) 17:53:50.01ID:ogOhTtZ8
>>412
https://sourceforge.net/projects/tcl/files/Tcl/8.6.11/
422本田
垢版 |
2021/01/04(月) 10:01:22.01ID:broo8Cb/
Design and Development of a CPU Scheduler Simulator for Educational Purposes Using SDL | SpringerLink
https://link.springer.com/chapter/10.1007/978-3-642-21652-7_5
Abstract
This paper presents the design and development of a CPU scheduler simulator using SDL.
This simulator enables us to study the behavior of one level and multilevel queue scheduling algorithms (including the real-time ones),
and to obtain performance statistics for algorithm evaluation.
In addition, a multi-platform graphical user interface, based on the Tcl/Tk language,
has been developed to simplify the simulator use.
The paper also presents our experiences in using SDL for the specification of CPU scheduling algorithms for educational purposes.
423本田
垢版 |
2021/01/17(日) 00:17:21.92ID:W0b65eFr
BOOK The Tcl Programming Language
https://wiki.tcl-lang.org/page/BOOK+The+Tcl+Programming+Language
424本田
垢版 |
2021/02/06(土) 10:42:27.93ID:gX3gIC8w
FreeDOS | The FreeDOS Project
https://www.freedos.org/
Tcl 8.6.11 for DOS
2021-01-30 3:43pm
Ben Collver has compiled Tcl 8.6.11 for DOS.
This is a patch release, so it primarily includes bug fixes and corrections to erratic behavior.
A few things to note in this release:
+ fixed crashes and hangs in lsort + rewrite of zlib inflation + fix auto_path initialization + fix errno management in socket full close.
And a few changes that might cause incompatibilities:
+ revised handling of 4-byte UTF-8 sequences + evised binary encode/decode base64 + Tcl_DStringAppendElement quoting precision + force -eofchar 032 when evaluating library scripts.
We've mirrored the updated version in the FreeDOS files archive at /devel/tcl/8.6.11/ on Ibiblio.
Thanks Ben!

Index of /pub/micro/pc-stuff/freedos/files/devel/tcl/8.6.11
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/devel/tcl/8.6.11/
2021/03/04(木) 20:40:10.96ID:CeSQLNi3
TkのウィジェットのpathNameに許される文字種って、
どのマニュアルを見れば書いてありますか?

Tk8.4で試したら、区切りの「.」(ピリオド)以外なら
記号でも空白改行でもなんでも使えるみたいなんだけど、
ほんとに使っても大丈夫なのかな。

セミコロンでもエスケープすれば使えるけど、
流石にそれは使わないほうが無難かな。
2021/03/05(金) 00:58:59.76ID:T6EM1aqz
man n filename
2021/03/05(金) 20:48:13.85ID:MFcFhdbO
う、ファイルシステムのpathじゃなくて、Tkのウィジェットのpathでした。
toplevel .w
button .w.b -text Button-1 -commnd "puts OK"
の「.w」や「.w.b」みたいな。

Tclで使える文字なら大丈夫ってことかな。
2021/03/05(金) 23:47:49.57ID:T6EM1aqz
Tclのwordであればいいんでしょ
wordはwhite spaceで区切られるけど、Bracesで囲えばwhite spaceもnewlineも含められますね


proc {hana mogera} {a b} {
puts "$a $b"
}

{hana mogera} 1 2
1 2

set {a
b
c} 3
puts ${a
b
c}
3
429デフォルトの名無しさん
垢版 |
2021/03/25(木) 22:33:12.36ID:5ZmYVyMI
成程、使用可能な文字の記述は、tutorial にも見付けれない。
入門書には大文字で始めると特別扱いされるとか……
この辺りが『とっつきにくい』の印象を与えているのかも。
2021/03/29(月) 17:27:48.38ID:wZLbYoN/
button .ボタン1 -text "押してね"
pack .ボタン1
こんなのも普通に通るんだな、まあ英数字が無難だけど
2021/04/04(日) 13:28:21.94ID:SVgHBPnw
大文字で特別扱いなんてするか?
word単位に分割したらコマンドや変数の連想配列から探してくるだけなんだし。
432本田
垢版 |
2021/04/06(火) 21:31:08.84ID:Eem0iI9R
逆引き Common Lisp クックブック:Ltk
https://lisphub.jp/common-lisp/cookbook/index.cgi?Ltk

bitWalk's: 入門 Tcl/Tk から十年
https://bitwalk.blogspot.com/2008/08/tcltk.html
2021/04/07(水) 13:26:21.26ID:jbAKLPxH
本田は2003年からおるぞ!
434デフォルトの名無しさん
垢版 |
2021/04/07(水) 14:16:00.13ID:yIe2T1+6
>>431 大文字で始めるとクラスの名前になるかと
…昔のうろ覚えですが…
2021/04/21(水) 23:49:03.85ID:jed3rtJU
>>434

ほんとだ
改行もスペースもエスケープすればいけるのに
ドットの次が大文字だと怒られる
436本田
垢版 |
2021/05/16(日) 00:21:22.15ID:TxOIjDQs
Tcl - データ構造の作成 -レコード,スタック,キュー- | ITドカタ
https://blog.it-see.net/it-dokata/tcl-tk/data-structure/
437デフォルトの名無しさん
垢版 |
2021/05/19(水) 03:03:11.94ID:iywlut5a
matplotlib は tcl で操作出来ますか?
2021/05/25(火) 22:16:34.83ID:kZ1J/aun
>>436
ITドカタさんありがたい
いつも参考にさせてもらってます
2021/05/26(水) 02:32:30.41ID:tK2AV86O
本田はおそらく相当なジジイ
想像しないでおこう
440デフォルトの名無しさん
垢版 |
2021/07/02(金) 22:50:23.24ID:/UbDLLU0
tcl87a3->tcl87a5 になって今までのツール類ではbuildできなくなった どうすりゃいいの?
2021/07/08(木) 14:40:23.67ID:MUyMUMuU
>>440
普通に諦めればいいと思うよ
442本田
垢版 |
2021/08/01(日) 20:53:40.83ID:x8WmfhUR
Tcl/Tk: 配列からリストへの変換と、リストのソート - HyperWorks Scripts &; Customizations - Altair Products - Altair Community
https://community.altair.com/community?id=community_question&;sys_id=6956c4f61b2bd0908017dc61ec4bcb45
2021/08/25(水) 21:33:45.12ID://fsPv9a
今時は行末にセミコロン打つのが流行りなのか?
2021/08/28(土) 23:57:21.00ID:4Ycamclz
Tkの日本語マニュアルってどっかにないですか?
Tclは簡単に見つかるけど、Tkのリファレンスマニュアルは英語しか見つからないです。
2021/08/29(日) 00:10:05.19ID:tV86Jpzl
>>444

>>414
2021/08/29(日) 16:59:57.17ID:gfJInh/r
Tclだけかと思ったらTkもあったのね
その他いろんな情報が入っててありがたいです
ただ日本語訳が...
447445
垢版 |
2021/08/29(日) 17:58:17.10ID:tV86Jpzl
>>446

うん・・・それは私もそう思うけど
英語読めないと我が儘はいえんのよ(´・ω・`)

お互い英語の学習を頑張りましょう
448445
垢版 |
2021/08/29(日) 19:35:13.03ID:tV86Jpzl
翻訳していただいた方には本当に感謝をしております
2021/10/16(土) 00:03:45.38ID:tJlxm3AW
macosでx11対応のTcl/Tkをインストールしたいのですが...

もともと標準で入っているのですが、x11クライアントではないようです。
ソースコードからインストールすればいいのでしょうか?
まだ試してないですがmacで普通に./configureとかしてうまくいくでしょうか。

ご存知でしたら教えてください。mac捨てろとかはなしでお願いします。
2021/10/22(金) 20:26:56.81ID:cl4NFqCg
ソースコードから--with-xをつけてインストールできたけど
wish起動するとX11じゃなくてmacのウィンドウが出る。
どうすればいいのやら
2021/10/24(日) 21:55:25.44ID:3CkopFKt
PATHが もともとMacに入ってる /usr/bin/wish を優先してるとかじゃないの?
2021/10/25(月) 00:22:05.55ID:6Otl3mCz
レスありがとうございます。
新しくできたwishを起動してもX11じゃないウィンドウが出ます。
もうちょっと頑張ってみます。
2021/10/25(月) 12:22:38.97ID:17kCASnx
mac知らんけど
普通に考えればOSX 上で独自Xクライアント起動して
そのXのターミナルからwish起動しないといけないだろう

>新しくできたwishを起動してもX11じゃないウィンドウが出ます。
OSXのX相当のものから起動できてるのなら
X11にこだわらなくていいんじゃないの?

まさにこれはtcl/tkは関係なくmac捨てろという話になるな
2021/10/26(火) 13:08:55.03ID:5yCnFias
>>452
動作環境: macOS High Sierra ver.10.13.6
以下のレシピで tk X11版がmakeできました
( homebrewで入れたtck/tk aqua版に満足しているので make install はしていません )

$ tar xf tk8.6.11.1-src.tar.gz
$ cd tk8.6.11/unix
(tk8.6.11/macosx だと指定オプションを無視してaqua版を作ってしまうようです)

$ CFLAGS="-I/usr/local/opt/tcl-tk/include" ./configure --enable-64bit --with-tcl=/usr/local/opt/tcl-tk/lib --with-x --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib
既にインストール済みのtclディレクトリに合わせて適宜書き換えてください
CFLAGS=... を付けないと /usr/include/tcl.h (ver8.5) を参照しようとして make error になります

$ make
$ otool -L ./wish
libX11 etc. を参照している事を確認

$ install_name_tool -change /usr/local/Cellar/tcl-tk/8.6.11_1/lib:/usr/X11/lib/libtk8.6.dylib $PWD/libtk8.6.dylib ./wish
インストールせずに動作チェックをしたい! (change箇所はotoolの出力を見れば分かります)

$ ./wish
pack [button .b -text {こんにちは X11}]
.b conf -font {{ヒラギノ丸ゴ Pro} 128} -bg #0ff -fg #f0f

$ rm ./wish && make install
インストール
2021/10/26(火) 21:25:04.67ID:FIjDTn2o
ありがとうございますぅ

macosxで作業しててうまく行かなかったのですが、
その後ログをよくよくみたらX11のオプションを無視して
わざわざunix/configreを呼び出してたので、
最初からunixに移動してconfigureしたらうまくいきました。

一応自己解決しましたが、454さんのレス見てからやればもっと楽できたのに。

ちなみに自分の環境もHigh Sierraですが、これでいけました。

cd ./tcl8.6.11/unix/
./configure
make
sudo make install

cd ../../tk8.6.11/unix/
./configure --with-x --with-tcl=/usr/local/lib/tclConfig.sh
make
sudo make install

ふぅ
2021/10/26(火) 21:44:08.46ID:FIjDTn2o
あとX11にこだわる理由ですが、Tcl/Tkで自作したGUIツールのウィジェットに
gnuplotのグラフを表示させるためです。

  set win [winfo id .c]
  set gp [open "| gnuplot" w]
  puts $gp "set term x11 window '$win'"
  puts $gp "plot hogehoge"

みたいにやって、gnuplotに流し込むデータを変化させてぐりぐりやります。
もともとLinuxマシンでやってたのをmacに移植しようとしてます。
2021/10/27(水) 13:24:35.15ID:wK8HKaYJ
winfo id の使い道、初めて知りました
3次元プロットのグリグリまで他アプリの画面に飛ばせる(試してみました)とかX11は自由度高いんですね
2021/11/11(木) 20:15:13.31ID:ss69cckK
Tcl/Tkで四角じゃないウィンドウってできるのかな
丸いアナログ時計とかありそうだけど
2021/11/15(月) 17:30:52.36ID:orggkpZ4
素の Tcl/Tk で「丸いアナログ時計」作ってみた (mac版)
少し変えれば winでも出来ると思う
https://i.imgur.com/Z17ciJK.png

https://wiki.tcl-lang.org/page/Shape に方法が紹介されている.
変形ウィンドウ用の拡張パッケージも紹介されてる (試していない)
2021/11/16(火) 22:14:16.95ID:2BodVrOz
おお素晴らしい
見た目が透過するだけでもありがたいけど、透明なところクリックすると後ろのウィンドウがアクティブになったりする?
それができたら理想的なんだけど。

と思いつつメインで使ってるシステムで試そうとしたら、Linux版はwm attributeに-transparentがないようで...
残念です。
拡張のShapeはいきなり./configureでつまづいて、かなりハードル高そう
2021/11/19(金) 22:33:18.50ID:OsKHDI1l
>>460
LinuxならTkZinc が動くと思います

リンク先の紹介では
TkZinc used to support it. Now the project seems to have vanished.
なんて書かれてますが
https://github.com/asb-capfan/TkZinc にあります

mac (Tcl/Tk X11版)では一部手直しが必要でしたがmakeできました
Linuxならそのままで行けるでしょう
> 透明なところクリックすると後ろのウィンドウがアクティブになったりする?
これも出来ます ( >>459 では出来ませんでした)

package require Tkzinc
package require zincGraphics

pack [zinc .zc -width 600 -height 600 -render 1 -backcolor #fcc -lightangle 50]
# canvasウィジットに於ける oval, line, etc. の要領で
# zincウィジット(.zc)に パスを追加していきます

set coords {}
for {set i 0} {$i < 5} {incr i} {
set a [expr 3.141692*2/5*$i]
lappend coords [list [expr 300-200*sin(2*$a)] [expr 300-200*positivecos(2*$a)]]
}
set clip [.zc add curve 1 $coords -closed 1 -visible 0 -fillrule odd]

# パスアイテム(clip)の形状(※)によりトップレベルウィンドウをクリッピング
# ※サイズは勝手にスケールされてしまいます
.zc itemconf 1 -clip $clip
2021/11/19(金) 22:37:29.26ID:OsKHDI1l
https://i.imgur.com/kdiAO6F.png
複合パス(.zc contour 〜)を使って xeyes を再現したかったのですがクリッピングすると形が乱れてしまい使い物になりませんでした.
長方形を長方形でくり抜いたような単純なパスならいけます. この辺りは mac特有の問題かもしれません
最後の after 100 main の小細工はそうしないとなぜかエラー吐いて落ちるからです. これも mac 特有の...

他にも回転やスケール機能なんかがあります
ドキュメントが貧弱ですが demoフォルダのサンプルが参考になりました
2021/11/20(土) 21:48:15.60ID:EfeaK0DT
複合パスによるクリッピングがうまくいかない件
TkZinc のソースを軽く見た感じでは使われてる三角分割アルゴリズムが単純な形状しか想定してないようです
なので Linuxでも変わらないかと思います
ただし、代わりに自力で三角分割して .zc add triangles 〜 で座標列を渡せば穴開きでもなんでもいけます
とにかく領域を三角形で埋め尽くす、非連結な領域間も潰れた三角形で橋渡しすればOKです

package require Tkzinc
package require zincGraphics
pack [zinc .zc -width 600 -height 600 -render 1 \
-highlightthickness 0 -backcolor white -lightangle 50]

set n 64
set coords {}; foreach xc {150 450} {
for {set i 0} {$i <= $n} {incr i} {
set a [expr 3.141592*2/$n*$i]
lappend coords [list [expr $xc+150*sin($a)] [expr 300-300*cos($a)]] \
[list [expr $xc+ 50*sin($a)] [expr 300- 100*cos($a)]] \
}
if {$xc == 150} {
lappend coords {150 0} {150 0} {450 0}
}
}
set clip [.zc add triangles 1 $coords -visible 0]
.zc itemconf 1 -clip $clip

https://i.imgur.com/8c5PxP5.png
やりたかった xeyesモドキが出来ました
2021/11/24(水) 00:38:24.65ID:hZTuTUPb
スゴイ、頑張ればいろいろできるんですね。

ただこちらの環境ではTkZincもインストールのハードルがやっぱり高そうです。
configureでTcl/Tkのインストール情報を参照するところからつまづいてます。
自分は職場のLinuxマシンのいちユーザーで
基本的にインストール的なことはユーザー権限でしかできないため
プリインストールのTcl/Tkに拡張機能を追加するのはなかなか難しいです。

今回いろいろ紹介していただいてかなり勉強になりました。
ググってもなかなかたどり着けない情報で、ありがたいです。
465本田
垢版 |
2021/12/01(水) 06:14:15.79ID:1Uo/TpOg
GitHub - avl42/tcl-bitcoin: Bitcoin-related stuff using the scripting language Tcl(/Tk)
https://github.com/avl42/tcl-bitcoin
2022/01/14(金) 17:58:10.63ID:t9iJHcg/
すみません、最近Tcl/Tk触り始めたんだけど、c言語で、
Tcl_FindExecutable(argv[0])
を書かないとGUIの日本語が文字化けするっていうのは常識なの?
一時間くらいハマったよ
2022/01/17(月) 13:14:40.23ID:OGoMBcpZ
>>466
[ generic/tclEncoding.c ]
Tcl_FindExecutable(
const char *argv0) /* The value of the application's argv[0]
* (native). */
{
TclInitSubsystems();
TclpSetInitialEncodings();
TclpFindExecutable(argv0);
}

・TclInitSubsystems は Tcl_CreateInterpでもコールされているので二度手間
・Tcl_FindExecutable のコールで内部エンコーディングがセットされているなんて分かりにくい

ユーザーとしては Tcl_SetSystemEncoding を使う方が意図が明らかで良いと思いました

// Tcl_FindExecutable(NULL);
Tcl_Interp *tcl = Tcl_CreateInterp();
Tcl_SetSystemEncoding(NULL, "utf-8"); // 環境変数を見に行かなくても決め打ちで良いでしょう
468466
垢版 |
2022/01/18(火) 08:55:00.16ID:OTNPHSfm
>>467
なるほど、おまじないの中はそういう実装だったのか。ありがとうございます。
2022/02/05(土) 18:13:26.52ID:w4TOp0V+
ちょっとした疑問。
pack [button .b1 -text B1 -command {destroy .b1}]
pack [button .b2 -text B2]
bind .b2 <ButtonRelease-1> {destroy .b2}

.b1をクリックすると.b1が消える。(予想通り)
.b2をクリックすると.b2が消えて、その後エラー発生(invalid command name ".b2")。
どうもbindされたアクションを実行した後、-commandがあってもなくても.b2を実行しようとしてエラーになるみたい。
これって正常な動作なんでしょうか。
8.5と8.6で同じ動作だったから、こういうもんだと思うしかないのかな。
2022/02/11(金) 15:48:20.76ID:q5CIic8J
>>469
ボタンはクリックにあわせてイメージ更新するけど、先にdestroyが動いて、イメージ更新するときには
.b2が無くなってるんじゃないかな?

どうしてもbindからdestroyしたいなら、after idleで後回しにすれば動くと思う。(試してない)
bind .b <buttonrelease> { after idle { destroy .b }}

buttonpressでも動くかどうかは知らない。
2022/02/14(月) 19:42:10.96ID:FA+PnMJi
>>470

ありがとうございます。after idleうまくいきました。
.b2がinvokeされたあとでdestroy .b2が実行されました。
2022/03/21(月) 22:25:21.40ID:kKOtd3Ut
保守してみます
2022/03/27(日) 07:44:59.56ID:e2GynfHU
いまでもTcl/Tkって現役なんだね
Macでもつかえるなら勉?しようかな
474本田
垢版 |
2022/04/14(木) 21:35:28.34ID:5sOyJ4MB
DoS
https://wiki.tcl-lang.org/page/DoS
アノニマスとは ロシアにサイバー戦、過去に日本も被害: 日本経済新聞
https://www.nikkei.com/telling/DGXZTS00001140X00C22A3000000/
反ロシア、サイバー「義勇兵」相次ぎ参戦 国境なき攻防
https://www.nikkei.com/article/DGXZQOUC2824A0Y2A220C2000000/
2022/04/20(水) 23:49:31.40ID:UqzWtfWz
変数置換がなければこれらは同等と考えていいんだろうか?
  set lst {a b c}
  set lst "a b c"
  set lst [list a b c]

空リストをセットするにはこれらも同等なのだろうか?
  set lst {}
  set lst [list]

パフォーマンス的には下は無駄な気もするけど。
476デフォルトの名無しさん
垢版 |
2022/06/16(木) 00:33:17.71ID:Wk96MiCq
保守?
2022/06/19(日) 10:04:23.53ID:dNeG9n4b
本田は妖精
2022/07/18(月) 12:05:58.99ID:QD6UUrud
>>475
内部形式のTclオブジェクトは文字列、数値、リストなどの共用体。
必要に応じて実体が変換される。
前二つは文字列が実体、listコマンドを使ったものはリストが実体。
文字列が実体のオブジェクトをlindexのようなリストとして取り扱おうとすると
その時にリストオブジェクトに変換される。
リストが実体のオブジェクトを string のように文字列として取り扱おうとするとその機に文字列オブジェクトに変換される

セット時に変換されるか使う時に変換されるかだけの話でオーバーヘッドはさして気にするだけ無駄
2022/07/21(木) 20:58:10.84ID:MTzuJEwF
詳しい解説ありがとう
リストと文字列で内部の扱いは違うけど、使う上では実質どちらも同じようなもんってことね
モヤモヤが晴れました
480本田
垢版 |
2022/07/31(日) 21:16:37.82ID:6WrWktWl
Tcl/Tk Scripting Laboratory (Geocities閉鎖)
http://www.geocities.jp/urano343/tcltk.html
http://web.archive.org/web/20190330074125/http://www.geocities.jp/urano343/tcltk.html
481本田
垢版 |
2022/07/31(日) 21:33:27.34ID:6WrWktWl
eoLog Project
https://geolog.mydns.jp/
GeoLog Project は、
閉鎖された日本ジオシティーズのウェブサイトを、
消滅前にできるだけアーカイブ(保存)しようと取り組んだ個人プロジェクトです。
482本田
垢版 |
2022/07/31(日) 22:08:17.37ID:6WrWktWl
Internet Archive: GeoCities Special Collection 2009<
https://archive.org/web/geocities.php
Saving a Historical Record of GeoCities
483本田
垢版 |
2022/08/02(火) 19:06:50.08ID:EKZa/35g
>>480

AM02:50 Tcl/Tk Scripting Laboratory
http://geolog.mydns.jp/www.geocities.co.jp/SiliconValley/4137/tcltk.html
484本田
垢版 |
2022/08/14(日) 18:36:27.35ID:N7i4I6ns
GitHub - Starlink/tcl: Starlink patched version of TCL
https://github.com/Starlink/tcl
2022/08/30(火) 01:09:43.08ID:rnyfpRGV
linuxディストリだとtclはデフォで入ってtkはなかったりするな
tkはおまけじゃい!
2022/08/30(火) 17:00:07.19ID:K+ylhC7O
tclshにchshしてみた
rlwrapかませばそれなりに悪くないし、コマンドセットは違えどwinでもunix系でも動くいいシェルだよ
487本田
垢版 |
2022/09/01(木) 18:04:51.77ID:H4gLLtNR
>>486

Tkcon
https://wiki.tcl-lang.org/page/Tkcon
Summary
tkcon is a replacement for the standard console that comes with Tk (on Windows/Mac, but also works on Unix).
The console itself provides many more features than the standard console.
tkcon works on all platforms where Tcl/Tk is available.
It is meant primarily to aid one when working with the little details inside tcl and tk,
giving Unix users the GUI console provided by default in the Mac and Windows Tk.
It's also not a bad replacement for the default MS-DOS shell (although it needs lots of fine tuning).
488本田
垢版 |
2022/09/01(木) 18:53:48.35ID:H4gLLtNR
tkcon.tcl
https://opensource.apple.com/source/tcl/tcl-107.50.1/tcl_ext/tkcon/tkcon/tkcon.tcl.auto.html
https://opensource.apple.com/source/tcl/tcl-107.50.1/tcl_ext/tkcon/tkcon/tkcon.tcl
2022/09/01(木) 21:52:12.42ID:MLaveiUL
かといって対話用途フル装備ってものまた違うかなって、まあスクリプト一つだけど>>488
欲しい機能だけ参考にさせてもらいます
2022/09/01(木) 22:51:58.93ID:G4h3gIDD
プログラム開発しながらちょこっと試すのにtclsh使ってて
最近rlwrapを使うようになって格段に便利になりましたが
chshまでしてしまうとは猛者ですね
2022/09/01(木) 23:40:22.59ID:MLaveiUL
親シェルがジョブコントロールしてると子シェルのジョブコントロールが有効にならんようで(サスペンドとか)
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況