トップページtech
981コメント378KB

●●●●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/
0567本田2009/12/18(金) 00:55:20
>>566
>デファクトスタンダード

incrtclだと思う。
http://incrtcl.sourceforge.net/iwidgets/iwidgets/scrolledhtml.html
0568デフォルトの名無しさん2009/12/20(日) 02:07:53
板違いかもしれないけれど
Ruby/Tkで、
htmldoc = '<html>〜</html>'
html = Tk::HTML_Widget.new.pack
html.parse(htmldoc)
とするとSegmentation faultが出るのは自分だけかな……。
TkHTML3、Tcl/Tk8.4、Ruby1.9.1環境です。
0569デフォルトの名無しさん2009/12/28(月) 17:45:58
折角国際化されてるんだし
だれかTcl/Tkでmigemo使えるようにしろよ〜
0570デフォルトの名無しさん2009/12/28(月) 20:24:16
IMの制御がきちんとできるようにしてくれぇ。
0571デフォルトの名無しさん2009/12/29(火) 09:37:18
結構この頃気に入っているのですが
ckて使っている人いますか?
なんか語りませんか
0572デフォルトの名無しさん2010/01/02(土) 10:50:57
>> 571
大昔、CTk http://wiki.tcl.tk/5016 は使ったことがある。
ckも2001年頃から開発が止まっているみたいけど、8.5.8環境でもちゃんと動く?
0573デフォルトの名無しさん2010/01/02(土) 20:43:14
Ckというのはhttp://www.ch-werner.de/ck/ なのですが
ページによると8.0-8.4が恐らくターゲットかと。うちでは8.0で動いています。
キャンバスなど対応しないウイジェットもあるので制限は多いですが、
Guiのプログラムとコンソールのプログラムが一つのプログラムでかけるのが
凄いです。(tcletも使えば一石三鳥?)
CTKはどんな感じでしたか?
Ckの場合難点はcursesを使う部分の日本語が上手く表示できないかんじです。
putsなど標準入出力ではOkですが。
0574本田2010/01/05(火) 22:51:35
>Ckの場合難点はCkの場合難点はcursesを使う部分の日本語が上手く表示できないかんじです。

cursesってUNICODEに対応してないのかな?
0575デフォルトの名無しさん2010/01/06(水) 23:26:35
ncursesw とかじゃん?
0576デフォルトの名無しさん2010/01/06(水) 23:35:47
>>573
CTk使っていたのは日本語パッチ版が使いたくて8.0で粘っていたころなので、さすがに覚えていない。
当時はMulti-Byte文字を使えるcursesもほとんど無くて、日本語は最初から諦めていたと思う。

Multi-Byte文字はCkとcursesの2段階で対処が必要だと思うし、8.0だとそもそも多国語対応していない
ような気がするので、tcl内部とcursesと実際の表示(xtermとか)のencodingを合わせないとだめだよね。

がんばってね。
0577デフォルトの名無しさん2010/01/18(月) 15:28:42
アプリケーション拡張言語としてのTCLってどうして普及しなかったんですか?
0578デフォルトの名無しさん2010/01/18(月) 15:34:43
>>577
いや〜、あんなもん、tkが付いてなかったら使いたくねえ!
0579デフォルトの名無しさん2010/01/18(月) 15:39:50
>>577
tk以上の発明品が生まれなかったからじゃないかな。
結局Tcl/Tkが作られた当時はアプリのスクリプト言語をサポートするという発想が新しすぎたんだと思うよ。
後スクリプト言語としては文字列と整数のデータ型の区別がされてなくて微妙に使いにくいとか。

元々HTMLの埋込み言語として開発されたPHPが、発展してフレームワークが作られるようになると
HTMLの生成がテンプレートエンジン越しになって本来の埋込スクリプトが全く使われなくなったりね。

開発当初の目的と実用される用途が一致しないのはよくあること。
0580デフォルトの名無しさん2010/01/18(月) 22:27:44
ストールマンがTclの普及自体に横槍出したのもでかいんじゃないかな
0581デフォルトの名無しさん2010/01/19(火) 00:46:35
>>577
GNUに嫌われたから
0582デフォルトの名無しさん2010/01/19(火) 12:33:16
>>580
guileも全然普及してないな。
0583デフォルトの名無しさん2010/01/19(火) 21:15:09
GIMP は SIOD から TinyScheme に変わったんだよね。
Guile 哀れw
0584デフォルトの名無しさん2010/01/26(火) 17:16:13
S-Langというのもあったけど。
0585デフォルトの名無しさん2010/02/03(水) 23:03:23
TclはPythonに喰われちゃったんだと思う
0586デフォルトの名無しさん2010/02/14(日) 10:09:59
今ならさらにLuaもあるしな。
0587デフォルトの名無しさん2010/02/14(日) 20:52:36
>>585
蛙と蛇だしな・・・
0588デフォルトの名無しさん2010/02/14(日) 22:29:44
デスクトップマスコットを作ろうかと思っているのですが、
ウィンドウを透過させて、画像だけを表示させるようなことは
tcl/tkでできるのでしょうか?

例えばこんな感じのを実現したいです
ttp://cgi32.plala.or.jp/higpen/javatips/36.shtml

OSXを使用しているので、
システム透過色を背景色に設定させるようにしてみましたが、
思い通りの結果になりません。(タイトルバーが表示されていたりします)

package require Img
pack [canvas .can -width 300 -height 300]
image create photo foo -file circle.tif
.can create image 0 0 -image foo -anchor nw

wm attributes . -transparent 1
. configure -background systemTransparent
.can configure -background systemTransparent
0589デフォルトの名無しさん2010/02/15(月) 01:13:58
osxはよくわからんけど、wm overrideredirect . 1してみたらどうなる?
0590デフォルトの名無しさん2010/02/15(月) 08:16:09
やってみましたが、
ウィンドウのサイズ、移動が出来なくなりますが、
タイトルバーは消えませんでした。
0591デフォルトの名無しさん2010/02/15(月) 21:37:46
>>588
バージョンくらいかけよアホ。これでも読んでろ
http://wiki.tcl.tk/13734
0592デフォルトの名無しさん2010/03/11(木) 21:16:58
ActiveTcl 8.5.8.1を入れたら、Tkのtextで日本語入力するとwishが落ちるようになった。
text .t; pack .t -expand yes -fill both だけのプログラムでも再現する。
IMEで1バイト文字を選択して確定しても落ちるのでIME制御で何か壊しているみたい。
こんな時に限って旧のバックアップが無いので確認できないけど8.5.8は大丈夫と思う。
だれか8.5.8残している人。ください。
0593デフォルトの名無しさん2010/03/13(土) 16:38:51
ほしゆ
0594デフォルトの名無しさん2010/03/17(水) 02:28:47
C++/Tcl 凄いな。
0595デフォルトの名無しさん2010/03/17(水) 23:05:28
>>594
ksk
0596本田2010/03/17(水) 23:34:20
>>592
ActiveTcl8.5.8.0.291595-win32-ix86-threaded.exe
05975922010/03/18(木) 21:26:34
>>596
ActiveState ポリシー変えたらしくて、Community Edition(Free)は最新バージョンしか
入手できなくなってます。
しばらくはtclkitでしのぎます。
0598本田2010/03/18(木) 22:48:35
>>597
ActiveTcl8.5.8.0.291595-win32-ix86-threaded.exe でgoogleれ。
0599デフォルトの名無しさん2010/03/18(木) 22:54:45
本田氏の本気を見た(いりこだし的な意味で)
06005922010/03/18(木) 23:39:47
>>598
それらしいURLを3つくらい見てダメだったので諦めていましたが、15番目で見つかりました。
どうもありがとう。
0601デフォルトの名無しさん2010/04/27(火) 22:17:26
perl tkでtxtウィジェット中に1秒間隔で
文字列を表示させることを考えていますがうまくいきません。

ソースは下になります。
何かおかしな点ありますでしょうか?

-----
$window1 = MainWindow->new();
$frame1 = $window1->Frame()->pack();
$output = $frame1->Scrolled('Text')->pack(-expand=>1, -fill=>'both');

for($cnt=0; $cnt<1000; $cnt++){
$output_tmp = "$cnt" . "\n";
$output->insert("end", $output_tmp);
$output_tmp = "";
sleep(1);
}

MainLoop();
-----
0602デフォルトの名無しさん2010/04/27(火) 23:35:32
perl tkは知らんけどtcl/tkで定期的に処理を実行する時はafterコマンドを使う
リファレンスマニュアルとか調べてみ
0603デフォルトの名無しさん2010/04/28(水) 06:29:41
どううまくいかないのかを書きなさい。
0604デフォルトの名無しさん2010/04/29(木) 06:13:30
>>602
ありがとうございます。ちょっと調べてみます。

>>603
上記ソースの場合、立ち上がりすらしない。
sleepをコメントアウトしたら1行づつ出力されずに、
溜め込んだ情報を一気に吐き出すといった感じです。
0605デフォルトの名無しさん2010/04/29(木) 15:45:57
>>601
描画はevent loop(MainLoop)で実行されると思うので、MainLoopの前でsleepしたら
描画出来ないと思う。
ループを切り出して、適当なeventを契機に呼ばれるようにすれば良いと思う。
どうしても今のループにしたければ、updateすると動くかもしれない。
0606デフォルトの名無しさん2010/04/29(木) 21:57:57
>>605
updateでできました!
ありがとうございました_( . _ . )_
0607デフォルトの名無しさん2010/04/29(木) 23:30:28
テクルトックで読み方あってる_
0608デフォルトの名無しさん2010/04/29(木) 23:36:58
何度もすいません。

>>601の修正版で、
常に最新出力行が確認できるようににしたい
(現状、テキストボックスが画面出力に追従しない。。。)
のですが、何かうまい方法ってあるんでしょうか?

調べてみたんですけど、うまいこといかなくて。。。

-----
use Tk;

$window1 = MainWindow->new();
$frame1 = $window1->Frame()->pack();
$output = $frame1->Scrolled('Text', -scrollbars=>'se')->pack(-expand=>1, -fill=>'both');

for($cnt=0; $cnt<1000; $cnt++){
    $output_tmp = "$cnt" . "\n";
    $output->insert("end", $output_tmp);
    $output_tmp = "";
    $window1->update();
}

MainLoop();
-----
0609デフォルトの名無しさん2010/05/02(日) 22:40:15
>608
君はイベント駆動モデルという物を全く理解していない。
>描画はevent loop(MainLoop)で実行されると思うので、MainLoopの前でsleepしたら
とも、
>ループを切り出して、適当なeventを契機に呼ばれるようにすれば良いと思う。
とも言われてるだろ?
画面描画とかは MainLoop() の中で発生してるんだってば。
その前のループの所の処理は既に終わっちゃってるの。

$window1 = MainWindow->new();
$frame1 = $window1->Frame()->pack();
$output = $frame1->Scrolled('Text', -scrollbars=>'se')->pack(-expand=>1, -fill=>'both');

$cnt = 0;

$output->repeat(1000, sub { # ここの処理が 1 秒単位で毎回呼び出される
  $output->insert("end", "$cnt\n");
  ++$cnt;
});

MainLoop();
0610本田2010/05/02(日) 23:45:07
>>608
Tk Documentation Table of Contents
http://www-users.cs.umn.edu/~amundson/perl/perltk/toc.html
fileevent Execute a callback when a file becomes readable or writable
http://www-users.cs.umn.edu/~amundson/perl/perltk/fileevent.htm
after Execute a command after a time delay
http://www-users.cs.umn.edu/~amundson/perl/perltk/after.htm
tkwait Wait for variable to change or window to be destroyed
http://www-users.cs.umn.edu/~amundson/perl/perltk/tkwait.htm
IO high level interface to Tk's 'fileevent' mechanism
http://www-users.cs.umn.edu/~amundson/perl/perltk/Tk%3A%3AIO.htm
TK/AFTER support class for Tk::Widget::after
http://www-users.cs.umn.edu/~amundson/perl/perltk/Tk%3A%3AAfter.htm
0611デフォルトの名無しさん2010/05/05(水) 01:36:11
>>608
package require Tk

pack [text .t] -side bottom -fill both -expand 1
pack [button .start -text Start] -side left

.start configure -command {RunCount 100}

proc RunCount {n} {
for {set i 1} {$i <= $n} {incr i} {
.t insert end $i\r\n
update
.t see end
after 200
}
tk_messageBox -message "End!!"
}

Tcl/Tkで書いたから適当にPerlに脳内変換して
06125922010/05/21(金) 21:14:28
ActiveTcl 8.5.8.2が出ていたので試してみましたが、8.5.8.1同様IMEが動くとwishが
落ちます。
一応、連絡しておきます。
0613デフォルトの名無しさん2010/06/02(水) 19:48:15
Tcl/Tk超初心者なんですが教えて欲しいことがあります。
tcomを使ってInternetExploerでホームページを表示させて
そのホームページのソースを取得してソースを表示させたいのですが
ホームページの表示までは上手くいったんですがソースの取得ができません。
わかる方いらっしゃったらぜひ教えてください、お願いします。

途中までのソースなんですが

package require tcom

set ie [::tcom::ref createobject "InternetExplorer.Application"]
$ie Visible 1
$ie Navigate "http://www.yahoo.co.jp/index.html"

ここまではできたんですがこのあとyahooのホームページのソースの取得方法
がわかりません、わかる方いらっしゃったらぜひお願いします。







0614デフォルトの名無しさん2010/06/02(水) 22:19:30
ソースは普通にHTTPでとってくればいいんじゃないの?
0615デフォルトの名無しさん2010/06/03(木) 09:36:16
>>614
返答ありがとうございます、初心者なのでHTTPでの取り方すらわからないのです。
もともとTcl/Tkでどうやってホームページの表示をさせるかがわからなくて
いろいろ調べた挙句tcomにいきついた次第です。できればtcomでできたらいいなー
というのが自分の希望なんですが、調べてみたんですがいまいちわからなくて
ここに行き着いたということです。
0616デフォルトの名無しさん2010/06/03(木) 09:39:40
>>615
ほい。ぐぐれ。
http://tmml.sourceforge.net/doc/tcl/http.html
0617デフォルトの名無しさん2010/06/03(木) 13:05:59
>>616
ありがとうございます、やってみます
0618本田2010/06/05(土) 05:37:34
>>615
URI utilities
http://tcllib.sourceforge.net/doc/uri.html
0619本田2010/06/05(土) 06:11:07
>>618
package require uri

set u http://www.yahoo.co.jp/index.html
set f index.html

set token [::uri::geturl $u]
if { [catch {::http::data $token} html] } {
puts stderr "Could not get $url\n$html"
exit 1
}

if { [catch {open $f w} fp ] } {
puts stderr "Could not open $f\n$fp"
exit 1
}

puts $fp $html
close $fp
0620本田2010/06/05(土) 14:29:34
>>613
optcl
http://wiki.tcl.tk/1822
http://www.patthoyts.tk/programming/optcl3010.zip
http://www.patthoyts.tk/programming/optcl-src.zip

WippleWobble - A Mini Web Browser (for Windows)
http://wiki.tcl.tk/4105
0621デフォルトの名無しさん2010/06/30(水) 07:31:52
初心者でpython2.6(tkinter)とtcl/tk 8.5を弄ってます。
widgetに入れず、Canvasのcreate_textに設定するwidthの様にheightを擬似的にでもどうにかして作りたいのですが何か良い方法は無いでしょうか。
ご教示お願い致します。
0622デフォルトの名無しさん2010/07/02(金) 01:54:21
>>621
heightを作るっていう意味がわからない
0623デフォルトの名無しさん2010/07/02(金) 08:08:21
pixel指定でその範囲に入らない状態の時は語尾に"..."を追加する物を作りたいです。
適当なtextの量自体を指定するしかないのでしょうか。

文字によってpixel幅が違うので結局label等(幅を取得したら捨てる。)
に入れ込むtextを一文字ずつlabelに入れて、そのlabel幅を取得し、
その幅から指定したpixel分のtextをcreate_textに入れ込めば出来そうですが・・
余りに遠回りで・・。

もう少し簡潔に文字数を制限したいのですが
tkがどう動作しているのか未だ良く分かっていません。
0624本田2010/07/02(金) 22:52:59
>>623
プロポーショナルフォントを使わずに、
等幅のフォントを使えば、
計算が簡単になりそうです。
0625デフォルトの名無しさん2010/07/03(土) 03:57:59
621,623です。
>>624
有り難うございます。
プロポーショナルフォントというんですね・・初めて知りました。
因みに自分足らない頭で623の内容をpythonのIDLEで書いてみたら
異様に重い上に、良く分からないエラーが出ました・・とほほ
後程、等幅フォントで再度書いてみます。

fontの高さには全角、半角も無いので
どこで改行されてるかさえ、得られれば
簡潔になるのでは、と
今の所textに直接pixel指定で改行を追加するモジュールを探しています。(どれもカラムっぽいですが・・)
font metricsも面白そうなのでついでに調べてます。
0626デフォルトの名無しさん2010/07/03(土) 10:56:10
>>623
font measureで文字列のpixel幅を得られる
のは?
0627デフォルトの名無しさん2010/07/03(土) 11:49:40
621,623,625です。
>>626
有り難うございます。
font measureで出来そうです。
0628本田2010/07/03(土) 17:32:43
>>627
老婆心ながら、
一つのスクリーン上に一つのカンバスを使って複雑なウイジェットを作る以外に、
まず一つのスクリーンを複数のフレームに分割して、
一つ一つのフレーム上にメニュー、テキストやカンバスを配置する方法もあります。
0629デフォルトの名無しさん2010/07/03(土) 20:28:35
621,623,625,627です。
>>628
有り難うございます。
カンバス自体は一応フレームに入っています。
・・がデザイン的にcanvasの内容をフレーム分けは難しいです。
まずgridで作成した所、重くて次にplace、そしてcanvas上にしています。
canvas上で作ると重いかと思っていたのですが、canvasで作ると割と軽快だったので
(textを入れる以前の話ですけれど)
canvasのままで来ているのと、canvasの自由度の高さが何より気に入っています。
canvasに変更する際からtextのこの問題がずっとネックだったので
解決出来そうで何よりです。
widgetに入れたくなかった理由としては、
折角canvasなので背景に画像を張り込める様にもしたかったからです。
マウスバインドもウイジェットに邪魔されず一つで掛けられますし。
キーバインドも勿論入れます。
どうしようも無くなった場合はplaceに戻ろうかと思っています。
0630デフォルトの名無しさん2010/07/19(月) 14:33:01
xspin.tclというソフトを使用し始めたのですが、.pmlの拡張子をフリーのパッドソフトに関連付けたら、
xspin.tclを起動しようとしたら「このファイルの種類を開くプログラムを選択してください」とでるようになってしまいました。
どのプログラムを選択すればいいか分からないし、戻し方も分からないので助けてください。
06316302010/07/19(月) 14:48:22
自己解決しました
0632デフォルトの名無しさん2010/08/04(水) 12:21:06
ActiveTcl8.5.7を使用しています。

最初に1を代入した変数を1ビットづつ左シフトしていくと80000000hの次は0hになってしまうのですが、
なにも指定しないと変数はUINT32で定義されているのでしょうか?
明示的にUINT64で定義する事は可能ですか?

set shift 1
for { set i 0 } { $i<64 } { incr i } {

set shift_h [format %016X $shift]
set shift [expr $shift << 1]
}

0633デフォルトの名無しさん2010/08/12(木) 11:58:36
>>632
サーバ(Win/Linuxじゃないよ)用に自分でコンパイルした8.5.8でも同じ結果になった。
ソースを簡単に眺めたところ、内部32bit型→64bit型に拡張する処理は見つかったけど
なぜ情報落ちするのかは判らなかった。
バグ報告するのが良いと思う。
ひょっとして、64bit環境(OS)だと問題無いのかもしれない。(うちは全部32bit環境)
0634デフォルトの名無しさん2010/08/12(木) 19:23:06
>>632
set shift 1
for { set i 0 } { $i < 64 } { incr i } {
puts [format %016lX $shift]
set shift [expr $shift << 1]
}


The fifth part of a conversion specifier is a size modifier, which must be ll, h, or l.
If it is ll it specifies that an integer value is taken without truncation for conversion
to a formatted substring. If it is h it specifies that an integer value is truncated to
a 16-bit range before converting. This option is rarely useful. If it is l it specifies
that the integer value is truncated to the same range as that produced by the wide()
function of the expr command (at least a 64-bit range). If neither h nor l are present,
the integer value is truncated to the same range as that produced by the int() function
of the expr command (at least a 32-bit range, but determined by the value of
tcl_platform(wordSize)).

http://www.tcl.tk/man/tcl8.5/TclCmd/format.htm#M15
マニュアル嫁。
06356332010/08/14(土) 00:43:23
>>634
う。そっちか。
まったく思いもしませんでした。笑ってやってください。
0636本田2010/10/02(土) 02:16:11
[Activetcl] ActiveTcl 8.5.9.0 released
http://code.activestate.com/lists/activetcl/4478/
0637デフォルトの名無しさん2010/10/11(月) 19:15:11
IMEとの衝突は修正された?
06385922010/10/12(火) 07:22:49
>> 637
直ったようです。
text widgetで漢字を入力しても落ちなくなりました。
0639デフォルトの名無しさん2010/10/12(火) 19:36:18
>>638
それは、ActiveTclのどのバージョンから?
06405922010/10/14(木) 00:15:17
直ったのは ActiveTcl 8.5.9.0
0641デフォルトの名無しさん2010/10/15(金) 13:32:10
Tkのテキストボックスの文字列が変化したとき、それを知らせるコールバックはどれですか?
0642デフォルトの名無しさん2010/10/16(土) 14:52:07
>>641
package require Tk
pack [text .text]
bind .text <Key> {puts "Pressed %K"}

http://www.tcl.tk/man/tcl/TkCmd/bind.htm
マニュアル嫁
0643Perl忍者 ◆M5ZWRnXOj6 2010/10/21(木) 23:40:37
Perl/Tkやってるやつでてこいこら
0644Perl忍者 ◆M5ZWRnXOj6 2010/10/21(木) 23:50:25
おめえハッカーだろ 本田
0645Perl忍者 ◆M5ZWRnXOj6 2010/10/30(土) 18:13:15
Perl/TKでEntryフォームに文字を入力しようとすると
入力できません

なんか前にそれで設定をして うてるようにしたんですが

scimなんとか 入力はできるんですが 日本語入力ができません

どうすればいいですか教えてください
0646デフォルトの名無しさん2010/10/30(土) 18:17:43
>scimなんとか 入力はできるんですが 日本語入力ができません
この文章どうやって打ってるんだよw
0647Perl忍者 ◆M5ZWRnXOj6 2010/10/30(土) 18:35:08
だからscimは、はいってんの

Perl/Tkでの入力のときできない

XMODIFIERS="@im=none"とやってもできない

なんで 教えて
0648Perl忍者 ◆M5ZWRnXOj6 2010/10/30(土) 18:36:20
XMODIFIERS="@im=none"
とやったら入力できるようになるけど

日本語入力ができない


重要:「日本語入力ができない」

教えて
0649デフォルトの名無しさん2010/10/30(土) 18:55:11
ウヒョー
0650デフォルトの名無しさん2010/11/06(土) 21:07:46
Perl/Tkなんてまだ使ってるやついんだな・・・。アホかと・・・
0651デフォルトの名無しさん2010/11/08(月) 00:35:04
canvasにpolygonやlineで書いた絵を画像ファイルでセーブする方法はありますか?
0652デフォルトの名無しさん2010/11/08(月) 00:45:32
標準Tkでも昔からPostscriptでセーブできる。拡張もいろいろ
0653デフォルトの名無しさん2010/11/08(月) 10:11:47
Postscript以外は、できないでしょうか?
0654本田2010/11/08(月) 21:51:18
>>653
> Postscript以外は、できないでしょうか?

GhostscriptでPostscriptをPDFやPNGに変換できるよ。
0655デフォルトの名無しさん2010/11/09(火) 00:35:08
1 imgで画面上に表示してる部分はビットマップに変換できる。
2 tkpathっていうcanvasと互換性のある拡張がある。
0656Perl忍者 ◆V8M/4amdko 2010/11/10(水) 18:58:25
こたえられねえのかよつかええねえなかす
0657デフォルトの名無しさん2010/11/11(木) 21:34:13
653の質問をしたものですが、例えばコマンドラインで
アクティブウインドウのスクリーンショットを取る外部アプリを起動すればできますか?
できればbmp,jpg,gif等に変換したいので。
0658デフォルトの名無しさん2010/11/12(金) 09:48:34
Print Screen キーを押してからペイントで・・・ってのがお手軽かと。
*.psからフィルタで変換の方がスマートだけど。
0659デフォルトの名無しさん2010/11/12(金) 13:28:10
実用的には、そうですがPostScriptは、使う人もPostScriptの環境が必要なので。
PSからの変換もいろんなソフトを使いましたが、思った様に上手くいきません。
逆に変換フィルタで良いのがあれば、教えてください。
0660デフォルトの名無しさん2010/11/12(金) 13:34:56
>>659
canvasの内容をSVG化して書き出す方法が紹介されてる。
http://wiki.tcl.tk/4534

他にはImageMagickを操作して直接画像を作るかだなぁ。
0661デフォルトの名無しさん2010/11/12(金) 21:31:10
>>660
これは、凄い。
itemgetで情報をもってきて、imageで再描画してるみたいだ。

でも、このやり方だとXBM情報とかは再生できませんね。
0662デフォルトの名無しさん2010/11/14(日) 20:28:32
tkにはワークシートとかスプレッドシートのようなものはあるんですか?
0663デフォルトの名無しさん2010/11/14(日) 20:53:56
あるよ。
0664本田2010/11/16(火) 06:10:49
Spreadsheets in Tcl-Tk
http://wiki.tcl.tk/20386
0665本田2010/11/18(木) 08:32:31
TCLによるXMLおよびWeb Servicesのプログラミング、第1回: 入門編
http://www.ibm.com/developerworks/jp/webservices/library/ws-xtcl/
0666本田2010/11/25(木) 06:14:36
Instancier des objets COM avec Tcom
http://wfr.tcl.tk/1012

MS Office - Excel
package require tcom
set application [::tcom::ref createobject "Excel.Application"]
set workbooks [$application Workbooks]
set workbook [$workbooks Add]
set worksheets [$workbook Worksheets]

OpenOffice - Calc
package require tcom
set application [::tcom::ref createobject "com.sun.star.ServiceManager"]
set desktop [$application createInstance com.sun.star.frame.Desktop]
array set arguments {}
set worksheets [$desktop LoadComponentFromUrl private:factory/scalc _blank 0 [parray arguments]]
■ このスレッドは過去ログ倉庫に格納されています