国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费

 找回密碼
 注冊(cè)會(huì)員

QQ登錄

只需一步,快速開始

搜索
查看: 7653|回復(fù): 5

UG后處理tcl語言解釋

[復(fù)制鏈接]
1#
發(fā)表于 2016-8-31 17:12:51 | 只看該作者 |倒序?yàn)g覽 |閱讀模式
我曾經(jīng)學(xué)習(xí)如何設(shè)置UG的后處理器,進(jìn)入后處理構(gòu)造器后,原來進(jìn)行設(shè)置時(shí),要用到tcl語言,自己不會(huì)但通過搜索網(wǎng)上的教程和程序,也能基本滿足使用要求,但總是心里沒底的感覺。  E( \4 ~" e9 x) j, k) r
原來這個(gè)tcl語言是可以學(xué)習(xí)的,有空下載點(diǎn)資料來學(xué)習(xí)一下。
4 ]/ K- O, _; i  {6 i資料:
8 X2 H4 ~; @1 C$ ETCL語言 Tcl (最早稱為“工具命令語言”"Tool Command Language", 但是目前已經(jīng)不是這個(gè)含義,不過我們?nèi)匀环Q呼它為TCL)是一種 腳本語言。 由John Ousterhout創(chuàng)建。 TCL很好學(xué),功能很強(qiáng)大。TCL經(jīng)常被用于 快速原型開發(fā),腳本編程, GUI和測(cè)試等方面。   Tcl (最早稱為“工具命令語言”"Tool Command Language", 但是目前已經(jīng)不是這個(gè)含義,不過我們?nèi)匀环Q呼它為TCL)是一種 腳本語言。 由John Ousterhout創(chuàng)建。 TCL很好學(xué),功能很強(qiáng)大。TCL經(jīng)常被用于 快速原型開發(fā),腳本編程, GUI和測(cè)試等方面。TCL念作“踢叩” "tickle". Tcl的特性包括:    * 任何東西都是一條命令,包括語法結(jié)構(gòu)(for, if等)。    * 任何事物都可以重新定義和重載。    * 所有的數(shù)據(jù)類型都可以看作字符串。    * 語法規(guī)則相當(dāng)簡(jiǎn)單    * 提供事件驅(qū)動(dòng)給Socket和文件。基于時(shí)間或者用戶定義的事件也可以。    * 動(dòng)態(tài)的域定義。    * 很容易用C, C++,或者Java擴(kuò)展。    * 解釋語言,代碼能夠動(dòng)態(tài)的改變。    * 完全的Unicode支持。    * 平臺(tái)無關(guān)。Win32, UNIX, Mac 上都可以跑。    * 和Windows的GUI緊密集成。 Tk    * 代碼緊湊,易于維護(hù)。    TCL本身不提供面向?qū)ο蟮闹С帧5钦Z言本身很容易擴(kuò)展到支持面向?qū)ο蟆TS多C語言擴(kuò)展都提供面向?qū)ο竽芰Γ╔OTcl, Incr Tcl 等。另外SNIT擴(kuò)展本身就是用TCL寫的。    使用最廣泛的TCL擴(kuò)展是TK。 TK提供了各種OS平臺(tái)下的圖形用戶界面GUI。連強(qiáng)大的Python語言都不單獨(dú)提供自己的GUI,而是提供接口適配到TK上。另一個(gè)流行的擴(kuò)展包是Expect. Expect提供了通過終端自動(dòng)執(zhí)行命令的能力,例如(passwd, ftp, telnet等命令驅(qū)動(dòng)的外殼).  具體例子   下面是TCL程序的例子:    #!/bin/sh    # next line restarts using tclsh in path \  ' @9 H5 L4 L1 s7 ~9 a4 M
  exec tclsh ${1+"$@"}    # echo server that can handle multiple    # simultaneous connections.  , i. l% @. E5 I
  proc newConnection { sock addr port } {    # client connections will be handled in    # line-buffered, non-blocking mode  
& K5 Q# W+ L* ?+ e  fconfigure $sock -blocking no -buffering line    # call handleData when socket is readable  # B6 C) G0 M( \. ]0 Y
  fileevent $sock readable [ list handleData $sock ]    }  
2 M& t" l: S6 ?  proc handleData {  
0 K4 C8 \0 j6 `9 _6 g3 l% n  puts $sock [ gets $sock ]    if { [ eof $sock ] } {    close $sock    }    }  
; d7 a) ?& k' [2 q: C! S! h  # handle all connections to port given    # as argument when server was invoked    # by calling newConnection   
1 ^  j% }- h# @; q- e8 F. \set port [ lindex $argv 0 ]  : l: @6 P: `8 z! h
  socket -server newConnection $port    # enter the event loop by waiting  / m0 y* b. `1 |7 k
  # on a dummy variable that is otherwise    # unused.  " c* D/ F4 |0 `! T
  vwait forever  5 n- L, i7 {6 @0 k0 ~
  另外一個(gè)TK的例子 (來自 A simple A/D clock) 它使用了定時(shí)器時(shí)間,3行就顯示了一個(gè)時(shí)鐘。  ) {0 ^9 P  @1 x7 H8 b; [/ P
  proc every {ms body} {eval $body; after $ms [info level 0]}    pack [label .clock -textvar time]  6 M. v0 `$ R, i% g0 @
  every 1000 {set ::time [clock format [clock sec] : p& p2 F( W% W& Q& i
-format %H:%M:%S]} # RS  
9 x1 a4 t+ T; K; _* g  解釋:第一行定義了過程every, 每隔ms毫秒,就重新執(zhí)行body代碼。第二行創(chuàng)建了標(biāo)簽起內(nèi)容由time變量決定。第3行中設(shè)置定時(shí)器,time變量從當(dāng)前時(shí)間中每秒更新一次。 ! R2 h1 R( t! K

9 _, @8 x. G) P! S' [
3 j) l, w3 e2 z+ h0 f0 T* t
  B5 H1 g9 @8 _9 P/ L
回復(fù)

使用道具 舉報(bào)

2#
發(fā)表于 2016-8-31 21:48:44 | 只看該作者
路過,樓主有心人啊.
3#
發(fā)表于 2017-9-8 17:42:35 | 只看該作者
看不懂
回復(fù)

使用道具 舉報(bào)

4#
發(fā)表于 2017-10-9 09:44:09 | 只看該作者
雖還不懂,努力在看!
5#
發(fā)表于 2017-11-2 18:58:15 | 只看該作者

( m8 ^2 ~9 s9 J  K路過,樓主有心人啊
6#
發(fā)表于 2017-11-5 15:36:55 | 只看該作者
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

Archiver|手機(jī)版|小黑屋|機(jī)械社區(qū) ( 京ICP備10217105號(hào)-1,京ICP證050210號(hào),浙公網(wǎng)安備33038202004372號(hào) )

GMT+8, 2025-9-10 13:30 , Processed in 0.116437 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復(fù) 返回頂部 返回列表