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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 7649|回復: 5

UG后處理tcl語言解釋

[復制鏈接]
1#
發表于 2016-8-31 17:12:51 | 只看該作者 |倒序瀏覽 |閱讀模式
我曾經學習如何設置UG的后處理器,進入后處理構造器后,原來進行設置時,要用到tcl語言,自己不會但通過搜索網上的教程和程序,也能基本滿足使用要求,但總是心里沒底的感覺。
- `, Z8 D' J  \# I原來這個tcl語言是可以學習的,有空下載點資料來學習一下。' h( n7 _* N9 U. {9 M% @' k2 l
資料:
, O$ x. x# ^4 h5 L: MTCL語言 Tcl (最早稱為“工具命令語言”"Tool Command Language", 但是目前已經不是這個含義,不過我們仍然稱呼它為TCL)是一種 腳本語言。 由John Ousterhout創建。 TCL很好學,功能很強大。TCL經常被用于 快速原型開發,腳本編程, GUI和測試等方面。   Tcl (最早稱為“工具命令語言”"Tool Command Language", 但是目前已經不是這個含義,不過我們仍然稱呼它為TCL)是一種 腳本語言。 由John Ousterhout創建。 TCL很好學,功能很強大。TCL經常被用于 快速原型開發,腳本編程, GUI和測試等方面。TCL念作“踢叩” "tickle". Tcl的特性包括:    * 任何東西都是一條命令,包括語法結構(for, if等)。    * 任何事物都可以重新定義和重載。    * 所有的數據類型都可以看作字符串。    * 語法規則相當簡單    * 提供事件驅動給Socket和文件。基于時間或者用戶定義的事件也可以。    * 動態的域定義。    * 很容易用C, C++,或者Java擴展。    * 解釋語言,代碼能夠動態的改變。    * 完全的Unicode支持。    * 平臺無關。Win32, UNIX, Mac 上都可以跑。    * 和Windows的GUI緊密集成。 Tk    * 代碼緊湊,易于維護。    TCL本身不提供面向對象的支持。但是語言本身很容易擴展到支持面向對象。許多C語言擴展都提供面向對象能力,包括XOTcl, Incr Tcl 等。另外SNIT擴展本身就是用TCL寫的。    使用最廣泛的TCL擴展是TK。 TK提供了各種OS平臺下的圖形用戶界面GUI。連強大的Python語言都不單獨提供自己的GUI,而是提供接口適配到TK上。另一個流行的擴展包是Expect. Expect提供了通過終端自動執行命令的能力,例如(passwd, ftp, telnet等命令驅動的外殼).  具體例子   下面是TCL程序的例子:    #!/bin/sh    # next line restarts using tclsh in path \  4 l; Z* M: p( b* [9 x
  exec tclsh ${1+"$@"}    # echo server that can handle multiple    # simultaneous connections.  ( L" [1 a3 D, Y9 q3 r
  proc newConnection { sock addr port } {    # client connections will be handled in    # line-buffered, non-blocking mode  0 x  i& y' V7 q5 B/ }$ _
  fconfigure $sock -blocking no -buffering line    # call handleData when socket is readable  
* b+ Q# T% _( j& ~( T# j  fileevent $sock readable [ list handleData $sock ]    }  # `$ i  G; N$ y! s( A
  proc handleData {  
+ I/ ?  H5 v! V1 z5 r. J  puts $sock [ gets $sock ]    if { [ eof $sock ] } {    close $sock    }    }  # ?0 B$ M% t. U& C& c# K
  # handle all connections to port given    # as argument when server was invoked    # by calling newConnection   
( N# \8 G; R! }5 L( M( y' cset port [ lindex $argv 0 ]  
( v: H# X# a' D  socket -server newConnection $port    # enter the event loop by waiting  
- c+ U# K! V4 g  i0 ?/ ]6 F! h6 ?% G  # on a dummy variable that is otherwise    # unused.  5 X+ H7 a$ S& _. q+ \  i. W% @
  vwait forever  ; f. I0 B$ P, }! u
  另外一個TK的例子 (來自 A simple A/D clock) 它使用了定時器時間,3行就顯示了一個時鐘。  ) ^7 m* J  L0 m# W
  proc every {ms body} {eval $body; after $ms [info level 0]}    pack [label .clock -textvar time]  
. h. C- f% x& x3 |: Z8 o  every 1000 {set ::time [clock format [clock sec]
( X3 p) Z$ j4 ?4 G4 v4 i-format %H:%M:%S]} # RS  3 X! {: j( @0 _* d) E
  解釋:第一行定義了過程every, 每隔ms毫秒,就重新執行body代碼。第二行創建了標簽起內容由time變量決定。第3行中設置定時器,time變量從當前時間中每秒更新一次。
7 B( a! q6 |4 r$ n. e
9 \# v( }1 w5 o6 }
7 y& S* W+ K  ?3 J' w
: p! n! @& \: A" H. h9 [
回復

使用道具 舉報

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

使用道具 舉報

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

4 N, z5 ~* V4 r# G7 A路過,樓主有心人啊
6#
發表于 2017-11-5 15:36:55 | 只看該作者
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-9-7 17:22 , Processed in 0.062355 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表