●●●●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/
2014/05/20(火) 20:52:39.66ID:7ISD7jOf
エクスプローラーのリストビュー的なもの使いたいんですがどのウィジット使えばいいんですかね
2014/05/21(水) 09:02:30.63ID:/08zgsVl
wxWidgets
2014/05/21(水) 11:52:00.57ID:4g1xvTEQ
tktreectrl
2014/05/25(日) 01:02:23.94ID:q30/rjTU
Itclってなんなん?
2014/05/25(日) 11:40:36.44ID:sSegk3tB
http://incrtcl.sourceforge.net/itcl/
2014/05/29(木) 23:27:45.97ID:gB4YMj30
ちょっといじった感じだけど、ミスやバグが見つけ辛い印象だな
こんなのに気づかなかったのか、みたいな
2014/05/30(金) 10:41:57.00ID:ap828pqo
IDE あると良いね
2014/05/30(金) 12:02:48.05ID:FgNBwkQ7
>>116
Eclipseでやれ
2014/05/30(金) 20:19:45.41ID:hAncOOSp
>>115
基本的にグローバル変数だっていうのと、
スクリプト言語全般だけど、バグのある所まで到達しないとtypoすらわからないという。
2014/07/17(木) 15:24:18.56ID:dWLRJoYv
amazonでTCL/TKって検索したら、
出てくる本が、10年以上前の、新しいので、2000年くらい、
しかもみんな絶版。

オライリー(オライリージャパンでは無い)では、
割と最近でも、TCL/TKの本出てるんだし、
もう少し日本語の書籍出てくれないかなぁ。

興味あっても、参照するものが少なすぎるw
2014/07/17(木) 18:47:03.93ID:1kysfWk3
>>119
書籍も凄く安いのと凄く高いのしかない。とりあえず安いの買ってみた。
後はインターネットで検索するしか無いと思う。マイナー言語だけど、
未だに死ぬほど高い商用アプリでも使ってんのよね。
2014/07/18(金) 01:06:29.01ID:0aVZURC8
一旦フツーの言語ではない独特なポイントを理解してしまえば本なんてイラネーけど、そこに至るまでが遠いか。
122デフォルトの名無しさん
垢版 |
2014/09/09(火) 22:42:31.46ID:ZPIIyurK
デバッガってないの?
2014/09/09(火) 23:03:08.38ID:NCPhkj4i
あるよ
tcl デバッガ とか tcl IDE でググれ
124デフォルトの名無しさん
垢版 |
2014/09/09(火) 23:35:30.77ID:ZPIIyurK
>>123
RamDebuggerは日本語のコメントが文字化けする
一応動作するtclファイルを入れたらerrorはかれてしまったし、なんかあやしい
(こっちの環境が悪いだけかもしれないけど)

gdbみたいなのないかなあ
2014/10/11(土) 17:08:56.14ID:yJOTzSzl
一見簡単にGUIできそうだけど実際ちょっとしたダイアログですら手間だよね
SpecTclっての使ってみたけど、ないよりいいかなというレベル
ActiveStateはやる気あるのかないのか分からん
2014/10/17(金) 10:49:29.56ID:QHaMeKWH
zenityみたいのがあるのを考えるとtcl/tkじゃ全くの力不足だったのが分かる
2014/12/08(月) 21:54:15.72ID:3czqE9B9
zenityチョー便利
2015/02/04(水) 15:26:06.97ID:x2wkct49
最大化するにはどうすればいいの?
2015/02/04(水) 23:36:17.41ID:WE08R0pZ
何をや
2015/02/05(木) 00:11:07.23ID:MP3bROrQ
>>129
ウィンドウ
131デフォルトの名無しさん
垢版 |
2015/02/05(木) 00:21:36.68ID:4g5riz09
>>128
1.タイトルバーの最大化ボタンを押す。
2.wm state . zoomed
3.wm geometry . 1920x1080 のように最大サイズ指定する。
4.wm attributes . -fullscreen 1 でフルスクリーンにする。
2015/02/05(木) 00:34:37.73ID:MP3bROrQ
>>131
2だ!ありがとう
133デフォルトの名無しさん
垢版 |
2015/02/05(木) 13:12:45.22ID:mlsPFWYh
いわんやいけるものをや
2015/02/07(土) 05:13:47.94ID:Ei/z8not
Tcltkってどうやってテキストのカーソルの形変えるんだろ?
2015/02/07(土) 10:54:51.24ID:spUpUXRD
>>134
-blockcursor
2015/02/07(土) 11:26:41.61ID:Ei/z8not
>>135
ほんとだ!
漏れが検索してもマウスカーソルについてしか出なかったのに怒
137デフォルトの名無しさん
垢版 |
2015/02/07(土) 18:57:34.60ID:ELt/AoK9
jpgやpngは使えないのか?
2015/02/13(金) 14:32:48.77ID:KMIwgti5
>>137
TkImg をインストールすれば使えるようになる
2015/02/13(金) 23:38:41.50ID:OHo2NmAk
無事無職になったので暇つぶしにtcl覚えたいんだけどまず何から初めりゃいいの
140デフォルトの名無しさん
垢版 |
2015/02/13(金) 23:50:35.45ID:tZpJxp/M
インストールしなよ。
141デフォルトの名無しさん
垢版 |
2015/02/14(土) 12:28:04.84ID:XFV7hsu3
bindで
bind . <Shift-Return> { aaa }
bind . <Return> { bbb }
と定義すると、Shiftキー+Enterキーを押した時に aaa と bbb が両方実行されるのを
防ぐ方法は無いのでしょうか?(aaaのみを実行したい)
2015/02/14(土) 14:39:16.32ID:MO/ZGjCh
>>141
<Shift-Return> が発動する時には
<Return> に与えたコマンドは実行はされなかったけど環境依存?

試したのは
CentOS 6.5: wish8.5
MacOSX 10.9.5: wish8.5
143デフォルトの名無しさん
垢版 |
2015/02/15(日) 15:46:38.76ID:xCjzljib
>>142
すみません。単なるプログラムミスでした。^^;
ちゃんと動作しました。
環境:NetBSD 6.1.5(VMWare)+Wish 8.6
2015/03/20(金) 11:25:26.98ID:CCTCueD6
c++とswigでtclライブラリ作ってます。
DLLのINITに初期化動作を仕込みたいのだが、
swig側がINITを自動生成してしまうので困っています。
マニュアル探してもINITに動作を仕込む方法見当たらないし。

swig使っている人、教えてつかぁさい。
145144
垢版 |
2015/03/20(金) 19:58:34.51ID:69NtnG64
自己解決

% init %{
OresamaInit();
%}

でいいのか。
HelpのTclの項目ではなくて、最初の総論のところにのってた。
2015/05/05(火) 13:11:38.68ID:ucKeNaWi
mac環境ではentryやtextなどテキスト入力を受け付けるウィジェットにおいて日本語のインライン変換ができないようですがなにか解決方法はありますか?

MacOSX 10.10.3
Wish 8.6
147デフォルトの名無しさん
垢版 |
2015/05/05(火) 17:38:49.07ID:zM5Hydoi
bigipの、iルールがTCLですよね。
勉強しようと思うんだけど、
詳しい人いますか?
2015/05/10(日) 23:04:24.60ID:syRH8lp1
i rouleについてか、TCLについてか?
149デフォルトの名無しさん
垢版 |
2015/06/18(木) 13:41:59.22ID:rwOGIf9T
windowのタイトル、最小化、最大化、×ボタンの部分を表示しない方法ありますか?
2015/06/18(木) 14:10:02.46ID:EqdgCPQw
あります
151デフォルトの名無しさん
垢版 |
2015/06/18(木) 15:01:25.00ID:rwOGIf9T
例えば、
タイトル、最小化、最大化、×ボタンなしのウィンドウ枠で
ボタン一個だけ配置する方法を教えてください。
2015/06/20(土) 18:23:08.94ID:5+Uj81Ii
wm attributes
じゃ、ダメなの?
2015/07/19(日) 21:53:33.32ID:NXQdtSoj
保守してみます。
2015/09/05(土) 00:02:05.35ID:0XQe+3cd
interpコマンドって何のために使うんだろ?
子プロセスをforkするわけでもなさそうだし。

Tclで作ったアプリケーションに
ユーザー用カスタマイズ機能をつけるとか?
155デフォルトの名無しさん
垢版 |
2015/09/05(土) 12:00:58.22ID:bTyiI7IW
サンドボックス化じゃん?
2015/09/08(火) 23:03:25.78ID:26rbd5os
tclでサンドボックスとはこれ如何に。
2015/11/17(火) 20:49:38.96ID:8I/Ju4aU
HyperMeshのスクリプトのために使い始めたけど
すげー独特
2016/03/16(水) 03:08:57.49ID:QtRzk83v
perl→Strawberry Perl
ruby→ActiveScriptRuby
python→公式インストーラ

activestateの最後の砦がtclになるとは誰が想像したか
2016/04/23(土) 22:01:16.81ID:RLEkkPM/
生きてるスレなら聞いてみよう
Tclでkit展開するためにsdx.kit落とそうと思ったらgoogle code死んでたんだけど、
http://equi4.com/pub/sk/にある2008年2月付けのやつが最新でいいの?
gitとかに移動してるならurlおしえてください偉い人
160159
垢版 |
2016/04/23(土) 23:19:43.92ID:RLEkkPM/
2時間ほどググってようやく見つけた。
https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/tclkit/sdx-20110317.kit
これが最新っぽい(気がする)
先生、中央repoが無いのは辛いのですが…
2016/06/17(金) 22:50:43.00ID:hv+9t1e7
今からTcl学んでなんか作ろうと思うんだけど何したらいい
2016/06/18(土) 14:56:40.59ID:AGMP56Qn
tk
2016/06/25(土) 19:24:53.80ID:Buxc94yk
書籍を再販してほしい (´・ω・`)
2016/06/25(土) 21:16:32.40ID:Mfi8L5BO
tclなんてヘルプだけ見ればわかるだろ。
man tcl
やればtclのキモは全部書いてある。
下手な解説サイトとか見るよりマシ。
165 【大吉】 !
垢版 |
2016/10/01(土) 19:16:27.75ID:DvR2O+sJ
保守野 源☻
2016/10/10(月) 16:57:42.96ID:PecqrMR0
tcl tkがなんぜ普及しないかってググってもあんまりいい記事なかった
その代わりになぜtclが消えないのか?に興味が出てきた
実はtclってすごいんじゃないのか
2016/10/10(月) 18:06:11.91ID:Q436H0RN
python + tkinter でもういいよ
2016/10/11(火) 21:08:41.17ID:3OorbPiz
>>166
半導体のデバイス設計ツールのスクリプトがTclなんだよ。
消えようがない
2016/11/14(月) 21:31:39.54ID:7yXlcOLW
niftyで初心者向けに解説してくれてたサイトがniftyとともにお亡くなりになった。
いつまでたっても初心者のおれにはありがたかったんだけどなぁ
170デフォルトの名無しさん
垢版 |
2016/11/17(木) 09:35:06.30ID:DWMezUdx
>>169

http://web.archive.org/web/20150202045515/http://homepage3.nifty.com/kaku-chan/tcl_tk/index.html
2016/11/19(土) 23:17:22.82ID:E+g19xHP
tclのキモは
man tcl
で書かれている以上でも以下でもないけどなぁ
172デフォルトの名無しさん
垢版 |
2016/11/30(水) 02:07:12.28ID:PeC/aWZc
http://imgur.com/a/xvl2u
173デフォルトの名無しさん
垢版 |
2016/12/04(日) 09:18:30.87ID:HFDVK7VF
tclってマイコンボードにのせれるレベルのもの?
2016/12/04(日) 10:46:57.18ID:RPJY6hEd
ライブラリ除いて最小構成にすれば結構小さい
2016/12/05(月) 17:58:08.91ID:dF177W8B
UTF-8って通らない?
2016/12/08(木) 22:15:35.97ID:dbwprhCg
TCLは内部でUTF-8だぞ。
漢字だろうがなんだろうがキチンと文字数カウントできるし、
文字コード変換も余裕。
細かいツールを作るとき、文字コードとリストが扱えるのがラクチンすぎてTCLばかり使ってる。
C++で同じことやろうと思ったら大変すぎる。
2016/12/14(水) 15:43:56.43ID:UzzFPJML
tclからtkを使うんじゃなくて
Tcl_Eval()とかでもなくて
cからtkを使ってみたいんだけど
いまからやるメリットってある?
2016/12/15(木) 00:04:37.56ID:21oBCq6J
CからGUIを使いたいならQtとかwxWidgetsの方がいいだろ。
179デフォルトの名無しさん
垢版 |
2016/12/19(月) 12:16:15.35ID:z9XVuDpo
たのしい
わりとまじで
2016/12/20(火) 17:47:47.27ID:M/StepgY
hoge.tcl を utf-8 で保存して
hoge.tcl の中に
source -encoding utf-8 hoge.tcl
って書くと
無限ループするんやね
2016/12/20(火) 17:52:42.33ID:lAXr92yw
if { ![info exists fuga] } {
set fuga ""
source -encoding utf-8 hoge.tcl
} else {
...
本体
...
}

で桶
182デフォルトの名無しさん
垢版 |
2016/12/27(火) 16:27:55.06ID:ov9/Tp6R
うんこ
183デフォルトの名無しさん
垢版 |
2017/01/03(火) 15:19:48.61ID:7kE2bi59
string compare "1" [string match \"*fuga*\" [string tolower $env(HOGE)]]
みたいなのでenvが無いって言われるケースでも
エラー出ても放っといていいの?
184デフォルトの名無しさん
垢版 |
2017/01/03(火) 16:22:31.61ID:qzU7aiCI
晴れるかな
nicovi
watch/sm26593556
2017/01/05(木) 16:50:26.92ID:YjTG1plI
Ruby/Tkってまだやってたんだ
186デフォルトの名無しさん
垢版 |
2017/01/06(金) 11:28:24.87ID:aWHdUN7N
>>183 ?? env(HOGE)-> env(HOME)
2017/01/06(金) 14:39:32.25ID:XtKi9eaG
>>183
set errorstring [catch {string compare "1" [string match \"*fuga*\" [string tolower $env(HOGE)]] }]
2017/02/13(月) 21:11:12.24ID:lSSFCbwv
openからパイプで外部コマンドを子プロセスとして起動した時
外部コマンドがエラーで落ちたかどうかってどうすれば検出できるでしょうか?

closeすればエラーメッセージが返ってくるけど,closeする前は,
子プロセスはゾンビになって残ってるのでpidはちゃんと存在してるし,
書き込みとか読み出しとかすればbroken pipeって言われるけど,
なんかスマートじゃないなぁ
2017/02/13(月) 21:12:03.45ID:lSSFCbwv
あ,ちなみにバージョンは8.4でOSはSolarisです。
190デフォルトの名無しさん
垢版 |
2017/02/14(火) 18:30:24.92ID:uwayiWk9
「エラーで落ちた」
死んでるけど異常終了すらしてないって意味?
2017/02/14(火) 22:23:50.28ID:Eq82JW+1
早速のレスありがとうございます。

で、そうじゃなくてその外部コマンドを普通に起動すれば
エラーメッセージ出して異常終了するんだけど、Tclからたとえば

set ch [open "| hogehoge" +r]

とかやってhogehogeコマンドを起動すると、
hogehogeは異常終了するんだけどメッセージは出さず、
psコマンドで様子見るとゾンビプロセス<defunct>になって
waitされるのを待ってる状態です。

puts $ch fugafuga

みたいに文字列を流し込んでやったり、あとcloseとかすると
はじめて「broken pipe」みたいなメッセージが出ます。
それをcatchすればエラー判定できるのですが、
読み書きする前にエラー判定できるといいなの思ったのですが。
2017/02/15(水) 06:18:37.35ID:N3aAX75A
stderr->stdoutの変換が必要とか
2017/02/15(水) 06:20:00.54ID:N3aAX75A
>子プロセスはゾンビになって残ってる

これとも矛盾するかな
2017/02/15(水) 06:21:02.97ID:N3aAX75A
ああcloseしてないのか
195デフォルトの名無しさん
垢版 |
2017/02/15(水) 21:04:11.85ID:8cBu9rtM
fblocked の(マニュアルの)用例に(# …通信路が顧客に閉じられた…)があるけど
2017/02/16(木) 12:06:59.88ID:1VBkG9E6
顧客ω
197デフォルトの名無しさん
垢版 |
2017/02/17(金) 22:15:08.50ID:xxRUKv8D
 マニュアルfblockedの項目  原文は「client」 訳文は「顧客」
 いずれにしてもサーバーproc 内で相手側がclosed にすると呼ばれると書いてある
2017/02/17(金) 23:14:03.38ID:fTK4d/WW
Linuxのパイプで、エラーになる条件を見れば?

パイプは、どういう場合にエラーになるか
2017/02/18(土) 00:22:21.68ID:KqZDiDv5
fblocked試してみたけどダメでした。
素のTclだとシグナルも拾えないしやっぱり無理っぽい

結局openしたものを一旦closeして、エラーがなければ
もう一回openしなおすという方法でできそうではあるけど
スマートじゃないなぁ
2017/02/18(土) 00:38:42.23ID:AobYyoSr
A | B | C

のようなコマンド(プロセス)のパイプは、
正常値かエラーか、タイムアウトしかない
2017/03/04(土) 20:09:59.36ID:qvg6xl4x
ifやwhileコマンドの第一引数はexprで評価されるので常にブレスで挟んだ方が効率がいい,みたいなことがWikipediaに書いてある.

if [info exists hogehoge] { ... }
if {[info exists hogehoge]} { ... }

Wikipediaに従えば後者のが効率が良いはずだが,括弧が多くなって邪魔臭い.
それとも内部的には処理を最適化して同じ効率だったりするのか.
大したことじゃないが,いつも迷う.
202デフォルトの名無しさん
垢版 |
2017/03/05(日) 23:08:54.15ID:nindsAFW
バグ防止じゃね
203デフォルトの名無しさん
垢版 |
2017/03/06(月) 18:16:18.94ID:R4qOQgGq
フン
フン
フン
黒豆よ
204デフォルトの名無しさん
垢版 |
2017/07/20(木) 19:11:33.58ID:ZZQl41L2
pythonからtk無くなるのはいつ?
205本田
垢版 |
2017/09/26(火) 23:07:22.42ID:3JGPYe7X
AndroWish allows to run desktop Tcl and Tk programs almost unaltered on the Android Platform
while it opens the door to script a rich feature set of a mobile platform.
https://www.androwish.org/index.html/home
2017/09/26(火) 23:16:22.12ID:HGlCdN70
いまさらレス。
ifはともかくwhileは{}で囲うかどうかで意味が違ってくる。
while [...] {...}
としちゃうと[..]はコマンドを実行した結果がwhileの引数に渡される。
whileの第一引数がループ本体を実行する以前に決定されてしまっている。

while {[...]} {...}
だと[...]という文字列がwhileの引数に渡される。
[...]がループ本体の結果を受けて変化することを期待しているなら後者でしか正常動作しない。
2017/09/28(木) 10:19:40.52ID:PJxaABWy
原則を理解しないで上っ面だけ覚えようとするからそうなる
208本田
垢版 |
2017/09/29(金) 00:06:22.13ID:0ELM3AEs
Tcl/Tk 8.7 is now in alpha development
. Those seeking its new features,
or those invested in keeping their existing Tcl-related work compatible with the next releases of
Tcl and Tk are invited to try and track this development work.
https://www.tcl.tk/software/tcltk/8.7.html
2017/09/29(金) 11:09:09.23ID:/1pN5XFr
GJ
レスを投稿する

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

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